"Dymola与Python接口-将结果绘制到文本文件(.txt)或类似文件中"

2024-05-15 09:43:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我从dymolapython接口运行这个示例(见下文),如何在表/文本文件或类似文件中打印/存储输出?在

from dymola.dymola_interface import DymolaInterface
from dymola.dymola_exception import DymolaException

dymola = None
try:
    # Instantiate the Dymola interface and start Dymola
    dymola = DymolaInterface()

    # Call a function in Dymola and check its return value
    result = dymola.simulateModel("Modelica.Mechanics.Rotational.Examples.CoupledClutches")
    if not result:
        print("Simulation failed. Below is the translation log.")
        log = dymola.getLastError()
        print(log)
        exit(1)

    dymola.plot(["J1.w", "J2.w", "J3.w", "J4.w"])
    dymola.ExportPlotAsImage("C:/temp/plot.png")
    print("OK")
except DymolaException as ex:
    print("Error: " + str(ex))
finally:
    if dymola is not None:
        dymola.close()
        dymola = None

Tags: andthefromimportnonelogifnot
1条回答
网友
1楼 · 发布于 2024-05-15 09:43:13

在Dymola手册第2卷,“第6.7节Python接口for Dymola”(发布的示例似乎来自于此),您可以找到一个与多线程相关的示例。在本例中,您可以找到一种直接创建绘图的方法。在

有一个很好的工具可以在https://www.j-raedler.de/projects/dymat/找到。您可以使用它来读取默认的结果文件(这是存储在工作目录中的文件#ModelName#.mat),以便在Python中有效地进一步处理它。在

要从默认的.mat文件切换到基于文本的文件,可以在这里找到命令:Modelica - Dymola Python interface: Set output format to textual

还有其他方法,但这应该是第一步。。。在

相关问题 更多 >