在Modelica中生成白噪声(SystemModeler)

我试图将测量噪声添加到模拟中。这在Simulink中是可能的,但在Modelica和SystemModeler中似乎更困难 有什么想法吗?您可以通过外部C代码在Wolfram SystemModeler中添加白噪声 Modelica代码(我已从代码中删除了图表注释,以便更易于阅读): 外部代码: ext_intRandNormal.c #include <math.h> #include <limits.h> void ext_initRandomNormal() {

Modelica 封闭热流体回路中的介质

在一个太阳能热电厂的项目中,我在平衡封闭热流体回路中的压力时遇到了一些困难,所以我决定制作一个简单的系统来消除一些错误。以下是两个储罐之间的简单回路,使用MSL中的水介质可正常工作: model TankTestfluid Modelica.Fluid.Pipes.StaticPipe pipe( p_a_start=system.p_ambient, length=20, height_ab=-20, redeclare package Medium =

openmodelica中流体库的奇怪问题

我编写了一个简单的代码来试验在标准库的流体包中使用PrescriptedPump机器。我正在使用OpenModelica 1.13.2。 我想从一个水箱泵一些水到另一个水箱,使用规定的泵驱动,恒定值为10000 代码如下: model PompaPilotata package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater; inner Modelica.Fluid.System system ; Modeli

Modelica.Media:BaseProperties与setState_XXX

随附的Modelica.Media库提供了流体的热力学性质。 引述: Modelica中的媒体模型。媒体由包提供,继承 来自部分包Modelica.Media.Interfaces.PartialMedium。 每个包定义: [……] A基本属性模型,用于计算流体的基本热力学属性 setState_XXX函数用于根据不同的输入参数(如密度、温度和成分,将设置为setState_dTX)计算热力学状态记录 [……] 如上所述,使用媒体库有两种不同的基本方式 这将在下一节中详细介绍。 一种方法是

Modelica 示例函数没有';我不在迪莫拉工作

我尝试使用Dymola编译以下代码: class abc import Modelica.SIunits; parameter SIunits.Time delta_t=0.5; constant Real a[:]={4,2,6,-1,3,5,7,4,-3,-6}; Real x; Integer j(start=1); Integer k=size(a, 1); algorithm when {(sample(0, delta_t) and j < k

Modelica 与使用DASSL的正常计算模式相比,Dymola中内联集成的性能

我试图使用Dymola中的内联积分来进行实时仿真,我以Modelica.Fluid.Examples.HeatingSystem为例,但无论我选择哪种内联积分方法,仿真总是失败 当我选择显式方法时,Dymola无法启动集成 当我选择隐式方法时,Dymola陷入了困境 特别的是Rosenbrock方法,其误差表明Dymola无法对某些方程进行微分 在我的理解中,内联积分意味着将离散化方程添加到模型方程中,然后Dymola可以进行更多的符号操作并得到新的BLT形式。我知道这种方法会导致更多的代数循环

Modelica(Dymola)中一维热扩散PDE的实现

我试图实现Peter Fritzon的“Modelica 3.3面向对象建模与仿真”中的一维热扩散示例,该示例基于一维热扩散的网格函数有限差分方法,但我得到了一个错误: Translation of Heat_diffusion_Test_1D.HeatDiffusion1D: The DAE has 50 scalar unknowns and 50 scalar equations. Cannot find differentiation function: Heat_diffusion

Modelica三次hermite插值

关于Modelica标准库(Modelica.Fluid.Utilities.CubicHermite)中的CubicHermite函数,我有一个问题 我对函数有以下输入。 输入实x“横坐标值” 我有点困惑,如何计算y1d和y2d值?我理解你的问题,你问的是如何计算导数y1d(点y1处的导数)和y2d(点y2处的导数)。简短的回答是您想要的(例如,简单坡度:(y(i+1)-y(i))/(x(i+1)-x(i)))。只要确保你的选择适合这个案例 虽然可能会更有用一些,但我建议您看看在建筑物库中实现

使用modelica流体库处理弹性管道

我想使用Modelica.Fluid库对血管中的流动进行建模,其中血管直径(以及流动阻力和流体体积)是内部压力和环境压力以及控制输入的函数。是否有任何方法可以使动态管道模型(和基类链)的直径和横截面积变为变量而不是参数,或者“打破”流体库的核心假设?如果这是可能的,逆流、焓流和示踪成分流功能将在生理系统建模中非常有用——Modelica Physiology库中没有这些功能 通常,在Modelica中,您不能仅将参数更改为连续时间变量,也不能将参数绑定到连续时间变量 原因是方程可能必须适应变化-

OpenModelica:组件中与实数相关的转换警告仅允许在函数内部出现

我正试图根据这篇文章中的方程式来模拟多体系统中的库仑静摩擦力。我已经编写了一个非常原始的Modelica代码来测试您可能在本文中看到的方程。我有两个主要问题: 首先,我得到这个警告: 翻译警告 [多体库仑静态摩擦:43:3-47:9]:在组件中,关于V1==V2,实数上的==仅允许在函数内部使用 这意味着什么?我如何解决这个问题 模拟需要很长时间才能完成。为什么?这和这个警告有关吗?还有什么方法可以让我更快地进行模拟吗 p.S.1.我尝试在Wolfram SystemModeler中运行代码,但

Modelica 列出Dymola中的动画对象

Dymola中是否有列出模拟的所有动画对象的函数 我查看了listfunctions()函数,但没有发现任何明显的信息。没有,Dymola中目前没有此类函数 我假定您指的是一个函数,该函数列出了模拟结果中的所有三维动画对象,可能具有类型(球体、圆柱体、曲面等)以及位置和方向的时间序列(如果适用) 您可以将其实现为脚本函数,但覆盖所有情况将有点耗时和乏味 将来可能会将其作为内置功能添加(例如Dymola 2019)-您可以从详细的支持/经销商请求开始

Modelica 用于模型交换的大型模型和FMU

我想将大型模型从Openmodelica导出到FMU以进行模型交换 作为第一步,我将使用此模型进行测试: model BigModel "Tank-Pipe-Tank cloned n times" // constant Real g=9.8; // parameter Integer n = 1; parameter Real A_a = 1; parameter Real A_b = 1; parameter Real c = 0.2 "Kinematic v

Modelica 使用sample()函数时无法为数组赋值

我正在尝试自己实现DFT,因为OpenModelica中的FFT示例不适合我,我不知道为什么。 但我已经陷入了采样正弦函数并将采样值分配给缓冲区数组的困境。 这就是为什么我试图让它变得更简单,只给仍然不起作用的数组分配一个计数器变量“iTick”。 请参见基本示例 有人能告诉我为什么这不起作用,以及我如何在使用sample()函数时实际为数组赋值吗 block DFT import Modelica.Constants.pi; parameter Integer N = 360 "To

OpenModelica中处理非二次单位的技术

有人能告诉我使用时间刻度而不是秒的合适技术吗 以下站点上的Lotka Volterra“经典车型”就是一个例子: 生成的图形以1-120秒的x轴显示,但对于兔子/狐狸示例,这显然是不现实的。我在下面的代码片段中对其进行了调整,以了解我要查找的内容(假设alpha、beta、gamma和delta实际上是每天的速率) 我的调整有点笨重,我肯定有更好的方法,我就是做不出来 我确实想要一些与标准库兼容的东西,我正在使用OpenModelica。谢谢 model ClassicModel "

Modelica中的梯形数值积分

我有两个数组“x”和“fy”。我必须对数组“fy”w.r.t数组“x”进行梯形积分。我在Modelica库中找不到函数。我在建筑物图书馆找到了一个函数,但它对我没有帮助。您能否建议,这种类型的积分是否还有其他功能。我认为值得发布一种替代方法,根据Modelica的表现来获取输入积分。我发现这个很好的例子使用了时间和der() 我不确定梯形规则集成是否在MSL中完成,但下面是一个实现梯形规则的简单函数。是一个pdf格式,有一个很好的摘要和示例 将来,您可能需要编写许多自己的函数/模型。Modeli

Modelica 方程的实例化

我正在尝试模拟一个泵系统。该系统由一个控制器、两个开关阀和一个用作腔室的扫掠体积组成。控制器负责阀门的状态以及填充和泵送。 将所有组件连接在一起时,我开始收到错误信息,如“未能实例化组件之间的方程式”,例如扫掠体积和第一个阀门之间的方程式。我试图从整个系统中删除阀门,并将活塞直接连接到源,但随后在活塞位移和输入之间出现了一个错误,即“未能实例化等式…” 确切地说,我不明白我的问题在哪里。是模型本身无法连接在一起,还是我遗漏了其他东西 我显然不是modelica方面的专家,但我当然掌握了基本知识

OpenModelica和JModelica提供了显著不同的结果

接下来,我尝试比较JModelica和OpenModelica之间的模拟结果。Modelica文件与相同,JModelica包装是正确的版本: #%% 从pymodelica导入编译 从pyfmi导入加载\u fmu 将matplotlib.pylab作为plt导入 #%% 模型名称='friction1D.FriceCExample_1' mofile='friction1D.mo' #%% fmu_名称=编译_fmu(模型名称,mofile) sim=加载fmu(fmu名称) #%% opt

Modelica 自动获取mos脚本中的组件、结果文件名

使用mos脚本,我正在读取和绘制属于模型中组件“x”的某些变量的数据。如果组件名称从“x”更改为“y”,如何在脚本中自动更新?我想编写一个灵活的脚本,这样即使结果文件或组件的名称发生更改,也可以使用它 非常感谢。在Dymola中(目前)无法自动执行此操作 通过为表达式创建变量,Real mySdd=kineticptp.sdd,您可能可以减少问题然后绘制mySdd。在这种情况下,重命名kinematicPTP不会导致任何问题。(很明显,重命名mySdd会导致同样的问题,但这样做的目的是使这些名称

如何在继承Modelica语言中的组件时重新声明注释?

我想在继承Dymola中的组件时修改注释部分,但我不确定Modelica是否支持这种操作 我的问题是: Modelica允许这种操纵吗? 如果继承零部件时无法修改注释零件,应如何修改外观? 如果要“重画”从另一个模型扩展而来的模型图标,可以使用以下注释 model ExtendedModel extends BaseModel annotation ( IconMap( extent={{-100,-100},{100,100}}, primit

Modelica 使用“时覆盖mat文件”;“继续”;Dymola计算

我尝试在Dymola中使用“continue”计算,但它没有生成新的.mat文件,这使得存储我需要的数据变得很困难 我的问题是: 在Dymola中使用continue calculation时,如何覆盖.mat文件 使用“继续”时无法设置文件名(与“继续”>“继续”相同)。 但是,您可以: 使用Continue>Import Initial并选择dsfinal.txt导入最终值 模拟正常。如果要为结果指定不同的文件名,可以在“模拟设置”>“常规”>“结果”中进行更改 使用“继续”时无法设置文件名

Modelica 管道中的模型流

我一直在尝试在modelica中模拟通过管道的流量,该管道可以部分充满,也可以完全充满,并在OpenModelica中运行它。我最终简化了这个例子,基本上只使用了一个圆的面积,在它满之前没有流出,然后完全流出。但是,我仍然有错误。我试过几种不同的方法。第一种方法给出了当管道“充满”时求解非线性系统的错误。相反,我希望它切换到: model SimplePipe1 Modelica.SIunits.Area A; Modelica.SIunits.Mass mass; Model

Modelica 如何基于参数更新对象的可见性

连接至少有两个重要变量。流变量和非流变量(然后是流内容,但不要谈论这些)。为清楚起见,我将参考流体接头及其变量m_flow(流量变量)和p(非流量变量) 在创建建筑构件时,必须指定该构件是否正在设置m_流或p的值。例如,您不希望将两个压力损失组件(设置m_流量)连接在一起 MSL中的流体接头定义为端口_a(设计入口)和端口_b(设计出口)。要指定端口是否设置m_流,DynamicPie会选择使用PartialTwoPort组件,该组件在图标层中具有一个对象(黑色椭圆),该图标层基于参数(port

Modelica 矩阵奇异欠定线性系统不可解

下面,我将代码修改为: model test // types type Mass = Real(unit = "Kg", min = 0); type Length = Real(unit = "m"); type Area = Real(unit = "m2", min = 0); type Force = Real(unit = "Kg.m/s2"); type Pressure = Real(unit = "Kg/m/s2"); type Torque = R

Modelica 如何理解;“限制步长”;及;“控制错误”;在迪莫拉

Dymola提供了一个分析数值积分过程的函数,主要的两个结果是“限制步长”和“控制误差”,我在我的模型中做了一些测试,如下面的屏幕截图所示 但我在分析这些数据时遇到了几个问题: 积分器如何选择Dymola中的积分步长 对于“限制步长”,这是否意味着积分器必须使用较小的步长,以便相应变量的积分可以收敛 对于“支配误差”,这是否意味着相应变量在迭代过程中会导致临界误差 我对OpenModelica的了解比Dymola多,但我想以下几点通常是正确的: Dassl积分器(标准)使用BDF方法 (向后微

Dymola和OpenModelica生成的可执行文件之间的差异

我正在考虑使用Dymola(dymosim.exe)或OpenModelica(model_name.exe)生成的可执行文件在同一模型上进行参数模拟。 我想知道,这两个.exe文件和相关的输入文件有什么不同吗?(对于Dymola是dsin.txt,对于OpenModelica是model_name_init.xml) 关于文件大小,我可以看到Dymola文件更小。但我也很好奇脚本的执行速度和输入文件的灵活性。 最后,由于Dymola是一种商业软件,那么dymosim.exe文件是否可以公开共享

Modelica:实例化期间类的变量

Modelica类的变量按对象实例化 有人能澄清这句话吗?首先,Modelica只有一种类型的对象,即类,而其他对象(模型、记录、包)只是有限制的特殊类型的类。这意味着每个对象必须遵循相同的规则,因此我将引用object类,但我将编写的内容将应用于每个Modelica对象。 变量是按对象实例化的,这意味着如果您有以下Modelica类: partial class MySimpleClass Real variable1; equation variable1 = time; e

Modelica 从连接器阵列中提取阵列

似乎至少不鼓励使用连接器作为参数编写Modelica函数。如果我尝试,我会得到警告 假设我有一个连接器 connector con Real x; Real y; end con; 唱片 record rec Real x; Real y; end rec; 和一个函数 function f input rec r[:]; output Real z; algorithm ... end f; function convert input Integer N

在Modelica中如何计算复矩阵的特征向量和特征值?

我试图使用Modelica计算复矩阵的特征值和特征向量。是否有任何库或内置的标准库功能可以帮助我进行此计算 任何帮助都将不胜感激 查看库,它有各种支持的矩阵函数 例如,特征值(…)方法似乎是您感兴趣的方法: (eval,evec)=特征值(A)-返回实表示中实非对称矩阵A的特征值“eval”和特征向量“evec” 下面是使用特征值()方法的示例: Example Real A[3,3] = [1,2,3; 3,4,5; 2,

Modelica 在绘制结果期间,如何在dymola中设置多个垂直轴?

完成模拟后,如何在绘制结果期间在dymola中设置多个垂直轴 我认为在一个绘图窗口中无法实现这一点。您可以按中所述创建多个窗口,但我从未发现在一个绘图中有多个y轴的选项。我认为在一个绘图窗口中无法创建多个y轴。您可以按中所述创建多个窗口,但我从未发现在一个绘图中具有多个y轴的选项。选择一个变量。更改“垂直轴”。可以有一个左轴和一个右轴 选择一个变量。更改“垂直轴”。可以有一个左轴和一个右轴 在屏幕截图的左侧,您可以选择一个变量,然后在该变量下方,您可以将垂直轴从“左”更改为“右”。只有在同一绘图

Modelica 如何在参数对话框中添加空格

我想在Modelica组件GUI的两行之间添加垂直空格。我(在本例中)在一个选项卡上的一个组中有六个类似的参数/注释,我希望在第二个参数/注释之后使用一点空格(基本上是一个空行,但理想情况下我可以控制间隙空间),将其直观地分成两加四 我可以把最后四个放在一个没有名字的单独的组中,这在二/四之间有一条线。这总比没有好,但不是我真正想要的。我尝试使用groupImage,但它相对于整个组定位图像,因此如果它小于六个条目,则根本不会影响它们;如果它更大,它会在所有条目之间引入统一的间距,而不仅仅是在2

特定熵能否作为变量传递给Modelica媒体库中的BaseProperties?

我试图模拟一个等熵问题(即比熵保持不变)。我的目标是在不假设流体是理想气体或热量完美气体的情况下实现这一点,所以我只剩下基本守恒定律。这不是问题,但我需要使用过程(等熵)来关联我的各种状态。我需要做的是设置s1=s2,但Modelica的BaseProperties似乎没有实现这一点的方法。我想知道的是: 我能把特定的熵“s”(不要和焓“h”混淆)传递给基本性质或其他一些函数以及另一个性质(可能是P)并得到介质的热力学状态吗?我已经浏览了媒体库的大部分工作,我看到有函数可以返回给定热力学状态的特

Modelica 是否可以创建一个支持FMI 2和FMI 3的FMU?

阅读新的FMI 3提案时,我想知道是否有可能生成一个FMU zip文件,包括一个支持FMI 2和FMI 3的编译模型 编译后的模型可以包含必要的fmi2…()和fmi3…()函数,因此支持这两个函数。 但我的感觉是,XML文件不能声明它同时支持这两个方面。 这是正确的吗 感谢您的回答。FMU无法以兼容的方式同时支持这两种功能 FMI 2(包括2.0.2)应具有modelDescription.xml和 <fmiModelDescription fmiVersion="2.0&

Modelica中的动态切换连接

假设我有一个大型连接器,涉及各种基本类型(实数、整数、字符串、布尔值)。如何根据状态事件切换连接? 我想这样做: model switch input ComplicatedConnector icon[2]; output ComplicatedConnector ocon; input Real x; equation if x >= 0 then connect(ocon, icon[1]); else connect(ocon, icon[2

Modelica 非线性代数方程的初始猜测

我有一个非线性代数方程组要解。如何使用计算值(具有连续时间可变性)作为解决方案变量的初始猜测,而不是使用参数作为起始值?初始方程部分是否可用于此目的 我创建了一个测试模型来解释这个问题: model Teststartvalue Real value1=1000;//calculated by some model Real value2=-1000;//calculated by some model parameter Real InputValue = 100;//Input

在Modelica语言中何时使用noEvent运算符?

Modelica中的noEvent操作符不使用迭代来查找触发事件的精确时间。 这似乎会导致计算错误,下面是我在以下网站上找到的一个例子 因此,在使用noEvent操作符时,我是否必须确保功能顺畅? 如果无法确保准确性,使用noEvent操作符的目的是什么 我认为第3.7.3.2节。和第8.5节。将在这里帮助您(如果您尚未检查此项) 据我所知,它应该只用于效率的原因,在大多数情况下应该使用smooth(),而不是结合使用 基于处理事件的两种不同方式。如果使用noEvent运算符,积分不会停止,但

Modelica 可重用模板

我不想每次都创建文本框来显示块的名称,而是想为块创建一个可重用的模板。下面是我创建的 partial block BlockTemplate annotation(Icon(coordinateSystem(extent = {{-100,-100},{100,100}}, preserveAspectRatio = true, initialScale = 0.1, grid = {2,2}), graphics = {Text(origin = {-0.366361,-0.51471},

Modelica 如何使用以前的模拟解决方案初始化模型?

我又没什么主意了,就向你求助 我相信这个问题以前一定有人回答过,但就我的一生而言,我找不到一个清晰的描述 情景: 你努力得到一个模型,所有的模型都是通过初始猜测等建立起来的,然后求解模型中所有参数的“真实”稳态(SS)条件。从这个解决方案中,我想调查事件对系统的影响 要执行这种与SS分析的偏差,最好能够简单地加载SS solution.mat文件,其中包含Dymola已经生成的所有模型参数。加载此解决方案后,在执行SS调查偏差之前,无需首先模拟模型以获得SS解决方案。我可以设想,发生这种情况的一

Modelica 在Dymola中获取内存分配错误

我使用的是Dymola 2019,必须在模型中使用+50个CombitMetable实例来加载大小大于200 MB的CSV文件(分辨率为60秒的年度天气数据) 我的模型的额外增加导致在Dymola中出现以下错误消息: Error: The following error was detected at time: 0 Memory allocation error FixInitials:Init: Integrator failed to start model. 如果我将大的csv文件拆分

关于Modelica标准库中元件热电容器的问题

当我使用OpenModelica检查Modelica.Thermal.HeatTransfer.Components.heatcapacer时,它告诉我heatcapacer有4个方程和4个变量。但我只能在下面列出的模型中找到4个变量的3个方程(即,T,port.T,der_T,port.Q_flow): 我通过删除der_T和上面列出的第二个方程式创建了一个名为MyHeatCapactor的新模型。该工具表明MyHeatCapacer有3个3变量的方程 这两个热电容器模型可以给我正确的答案。我

如何更改Modelica包中的显示顺序?

我在Dymola中构建了几个模型,它们都属于一个包,那么如何更改这个包中的显示顺序呢? 我知道我可以在文本编辑器中更改代码,但是否有一种方法允许我通过在包浏览器中拖放来完成此操作 您可以通过如下所示的鼠标右键或此处指示的键盘快捷键使用上下文菜单: 按住CTRL键并向上箭头可将其向上移动一次 按住CTRL键并向下箭头可将其向下移动一次 按住CTRL键并向上翻页,将其移动到包的开头 按住CTRL键并向下翻页,将其移动到包的末尾 拖放仅支持将模型从一个包移动到另一个包,也可以使用重命名。。。从上下文

Modelica 变量的增量出错

变量现在以j=1开始,但增量错误。对于t=0.5,其值应为2,对于t=1,j=3,依此类推。。。 您可以在下图中看到错误 class abc import Modelica.SIunits; parameter SIunits.Time delta_t = 0.5; constant Real a[:] = {4,2,6,-1,3,5,7,4,-3,-6}; Real x; Integer j(start=1); Integer k = size(a,1); algorithm whe

OpenModelica仿真标志文档

关于OpenModelica中Simulation Setp>Simulation Flags中的所有选项的功能,是否有详细的文档可供使用 OpenModelica文档确实对一些标志进行了简短的描述,但并非对所有标志都进行了简短的描述。从命令行运行omc.exe+help。它将打印带有描述文本的所有标志

当前版本的modelica转换器只能处理具有固定大小的组件数组

我用AC库创建了一个零件,当我试图模拟模型时,出现了一个错误,上面说“modelica转换器的当前版本只能处理具有固定大小的组件数组” 不知道这是什么意思,有没有人有像这样的问题 多谢各位 考虑以下简单模型: model M parameter Integer n(start=3, fixed=false); initial algorithm n := n; end M; 它有一个参数n,可以在模拟开始前更改。数组维度必须是参数表达式。所以你会认为以下模式是合法的: model M2

Modelica多体库中物体位置坐标的动态变化

我是Modelica的新手,几个月前刚开始做一个项目。主要使用标准Modelica发行版中包含的多体库处理多体机械系统 我需要根据在模拟过程中动态计算的坐标更改身体位置,但我找不到这样做的方法 这是计算给定系统质心位置的矢量变量: Modelica.SIunits.Length CMG[2]; CMG[1] = ... + cos(part3rotation.angles[3]) ... + part3origin[1] ...; CMG[2] = ...; 我想在坐标(CMG[1],CMG

Modelica 平衡局部模型

我有一个局部模型,当我在Dymola中检查时,它声称有35个变量和34个未知数,而当我在OMEdit中检查完全相同的模型时,它平衡在34/34。在确定什么算作变量时,是否包括所有输入和输出 以下是我的模型: model HeatStorage extends PentakomoPlant.Interfaces.StorageFluidHeat; parameter SI.Diameter D = 18.667 "Diameter"; parameter SI.Height H =

Modelica 具有不同采样范围的采样函数的替代方案

Openmodelica中的sample函数是否有替代方法,该函数接受的参数不是类型的parameter?也就是说,替代方案应允许在模拟期间对可变范围的值进行采样 最终目标是创建一个类,在模拟过程中,我可以使用该类测量真实信号的RMS值。RMS值用作控制变量。真实信号的频率不断变化,因此为了获得更好的测量结果,我希望能够在模拟过程中连续地改变采样范围,或者在振荡的某些部分/周期中离散地改变采样范围 是否也可以具有“运行RMS”功能,以便输出连续 简言之,我想计算可变采样范围内的RMS值,样本每次

PyFMI/JModelica-暂停模拟并使用修改的参数从状态重新启动

我正在使用Dymola 2019将我的Modelica模型转换为FMU,然后使用JModelica进行模拟(我从2018-03-15开始使用JModelica 2.2版)。我的目标是能够模拟特定的时间段,分析结果,根据这些结果修改某些参数,然后在使用新的参数值的同时,从之前的模拟停止的位置继续之前的模拟 我知道get_fmu_state和set_fmu_state在技术上应该能够做到这一点,但是在尝试实现它时,我没有设法使它工作,而且在PyFMI目录中似乎没有任何使用这两个函数的示例。我尝试了以

系统在结构上是奇异的-Modelica

我有一个关于Modelica的代码,它抛出了一个关于系统奇异性的错误。发生此错误的原因是我为组件“boundary2”定义的压力函数。我给出了“边界2”中压力的初始值,但我得到了这个错误。我为“boundary2”组件编写的压力函数 initial equation pressure =4e5; equation if der(Posit2.s)<=0 then pressure=4e5+((500e5-4e5)/0.0111)*(0.011

  1    2   3   4   5   6  ... 下一页 最后一页 共 16 页