我有以下问题:
我有20多种不同的模型,我想一个接一个地模拟,但我想每次更改模拟目录。
现在我在每次模拟后手动更改目录(从./ModelOne到./ModelTwo),我想知道在初始化时是否有自动更改目录的方法或者翻译新模型。
此致 内华达州
答案 0 :(得分:2)
最好的方法是编写一个我认为的脚本:
pathOfSave = {"E:\\work\\modelica\\SimulationResult\\Model1\\","E:\\work\\modelica\\SimulationResult\\Model2\\"};
nbSim = 2;
pathOfMod = { "MyModel.",
"MyModel.};
modelsToSimulate = { ""Model1" ,
"Model2"};
//If equdistant=true: ensure that the same number of data points is written in all result files
//store variables at events is disabled.
experimentSetupOutput(equdistant=false, events=false);
//Keep in the plot memory the last nbSim results
experimentSetupOutput(equdistant=false, events=false);
for i in 1:nbSim loop
//delete the result file if it already exists
Modelica.Utilities.Files.removeFile(pathOfSave + modelsToSimulate[i]);
//translate models
translateModel(pathOfMod[i]+modelsToSimulate[i]);
// simulate
simulateModel(
pathOfMod[i]+modelsToSimulate[i],
method="dassl",
stopTime=186350,
numberOfIntervals=nbOfPoi,
resultFile=pathOfSave + modelsToSimulate[i]);
end for;
答案 1 :(得分:2)
如果您希望将命令cd("mynewpath")
附加到模型,也可以将命令model example
Real variable;
protected
parameter String currDir = Modelica.Utilities.System.getWorkDirectory();
initial algorithm
cd("C:\\Users\\xxx\\Documents\\Dymola\\MyModelFolder");
equation
variable = time;
when terminal() then
cd(currDir);
end when;
end example;
放在初始算法部分中。
{{1}}
在任何情况下,您都可以在“内置命令”部分的手册中找到dymola的所有命令。
我希望这有帮助, 马可