首页 文章

JModelica结合CasADi在Python中获得线性化模型

提问于
浏览
3

我最近发现了一篇论文“制作可用于PYTHON控制系统库分析的MODELICA模型”,解释了如何将JModelica与CasADi结合使用以获得Python中的线性化模型 . 这正是我正在寻找的,但显然该论文是从2014年开始使用JModelica 1.12 . 不推荐使用所描述的方法,并且不再使用已使用的功能 .

关于此主题,JModelica的文档非常有限,我不知道如何使用最新版本的JModelica完成所描述的任务 . 类 CasadiModel 不再使用,函数 compile_fmux 抛出编译错误 .

我的最终目标涉及Modelica中(非线性)系统的建模 . 我需要这个模型的符号表示来自己执行线性化 . 然后使用线性化模型在Python中设计控制器 .

有没有人有建议?

1 回答

  • 1

    是的,casadiModelObject = CasadiModel('FourTanks.fmux')“会导致错误 .

    正如警告所说,

    DeprecationWarning:CasadiModel已经过时了 . 不再支持CasadiPseudoSpectralAlg和LocalDAECollocationAlgOld . 要使用CasADi解决优化问题,请改用pyjmi.transfer_optimization_problem

    所以尝试这样的事情,

    from pyjmi import transfer_optimization_problem
    op = transfer_optimization_problem('TankSystems.FourTanks','fourTank.mop',
                                      accept_model=True)
    

    然后键入

    op
    

    你会发现扁平物体

相关问题