2015-09-23 45 views
3

我想用python在不同的modelica構建庫(建築物,IDEAS)中運行參數研究:例如:更改滲透率。Modelica使用python進行參數研究

我試過了:simulateModel和simulateExtendedModel(...「zone.n50」,[value]) 我的問題:爲什麼不能翻譯模型然後改變參數:Warning:Setting zone.n50 has has模型沒有影響。翻譯後,您只能設置文字開始值和非評估參數。

也不可能運行:simulateExtendedModel。當我進入dymola的命令行併爲zone.n50編寫代碼時,我得到了實際值(我已經在python中定義),但是在結果文件(和繪製的變量)中它始終是標準的n50值。我的問題:?我怎樣才能更改值(befor運行(和翻譯)模擬 該參數的值也是可變的瀏覽器不可見

親切的問候

回答

2

這可能是一個strcutrual參數。如果你想要學習的參數明確地設置了Evaluate=False 它在變量瀏覽器中是不可見的,還是隻是灰色並且是常量?如果它根本不可見檢查它是否是protected

+0

嘿,非常感謝你,它的工作原理!你能用幾句話來解釋一下什麼是結構參數和什麼意義(我不明白dymola手冊中的簡短解釋)?該參數在變量瀏覽器中可見,但我無法更改該值(沒有可以添加值的字段)。再次非常感謝你 –

+0

如果我理解正確,結構參數是影響方程系統結構的參數。 Modelica工具然後可以決定評估參數,以便簡化方程組,從而提高模擬速度。 – matth

+0

也閱讀:http://stackoverflow.com/questions/21957303/change-annotationevaluate-true-false-for-parameters-in-models-from-modelica-s – matth

1

某些參數在編譯後無法更改,即使使用Evaluate=False也是如此。影響模型結構的參數就是這種情況,例如影響離散化方案並因此影響方程數量的參數。

更改這些參數需要重新編譯模型。你仍然可以在參數研究中做到這一點,但我認爲你可以使用Modelicares實現這一點(http://kdavies4.github.io/ModelicaRes/modelicares.exps.html