有没有办法直接在Dymola中设置最大解算器步长(hmax
)?
hmax
的值可以在dsin.txt中更改,如果使用dymosim.exe运行模拟,它会起作用,但如果在Dymola中启动模拟,则会被覆盖。
我可以使用一些隐藏的旗帜吗?
谢谢!
答案 0 :(得分:1)
编辑dsin.txt
后,尝试直接执行dymosim.exe
而不使用GUI(不带参数,例如,通过从资源管理器双击执行时,将创建dsres.mat
而不是{ {1}})。这样可以防止Dymola重新创建<modelName>.mat
,因此可以考虑为dsim.txt
设置。
不是很方便,但目前是我知道使其工作的唯一方法。
您还可以创建hmax
并将其作为dsin.mat
的参数提供,以便能够使用GUI重新创建dymosim.exe
,而无需每次都修改dymosim.exe
。此处显示为:dymola.readTrajectory - different sample times。您显然需要跳过第二个参数dsin.txt
。
@Shanga:我认为这也应适用于"<DymolaWD>\tgrid.mat"
,但是我没有模型可以可靠地对其进行测试。因此,反馈将不胜感激...
答案 1 :(得分:0)
设置最大步长仅适用于没有步长控制的求解器,例如: Euler或Runge-Kutta。在这些情况下,可以在Simulation设置中设置固定积分器步骤。
答案 2 :(得分:0)
当前没有直接从Dymola直接执行此操作的简便方法。 dsin.txt文件必须按照您的描述进行编辑。
答案 3 :(得分:-1)
我相信您可以通过模拟设置的“常规”部分中的“间隔长度”或“间隔数”参数进行设置。系统将至少在这些点上得到解决,我将其理解为最大步长。