Modelica C/C++;处理FMU的库

你知道是否有一个C库来处理FMU和运行模拟,包括一个好的解算器吗 据我所知,有: 来自QTronic的FMUSDK 来自Modelon的FMI库 两者都可以打开FMU,但只允许运行FMU与简单的Euler解算器进行联合仿真 库包括处理不连续性的良好解算器,但不在C中,包括: 来自Modelon的PyFMI:用于Python 来自托勒密的JFMY:For Java(不确定这是否包括一个好的解算器) 我认为FMUSDK并没有真正得到维护,因此FMI库可能是这两者之间的更好选择 要改进解算器,您

从Modelica中的字符串参数访问包内容

我有一个字符串向量,其中包含一些物质的名称vec={“H2”,“O2”},我想使用这些字符串访问包中的记录,以便 Modelica.Media.IdealGases.Common.SingleGasesData.'vec[1]' 返回H2的数据 这在Modelica中是可能的,还是我必须手动执行?我最终手动执行: import d = Modelica.Media.IdealGases.Common.SingleGasesData; constant Modelica.Media.IdealG

Modelica 对三维旋转接头施加1D扭矩,无反作用力

模型很简单:我想给旋转接头的旋转法兰施加一个扭矩。 但是,扭矩反作用力不应施加在回转接头的支承法兰上。 扭矩反作用力确实在其他地方平衡,而不是在旋转关节本身平衡。 一个真实世界的例子是车轮:扭矩由动力总成提供,并通过轴传递到车轮,因此扭矩反作用力不会在轮毂上感知,而是在动力总成支架上感知。 因此,上述各项似乎都不正确: 蓝色:在革命的框架上有一种不应该存在的反应。支架(白色圆圈)似乎总是平衡施加在法兰上的扭矩(灰色圆圈)),但在这种情况下没有意义 红色:在旋转帧_a上没有反应,但在1D线上没

Modelica 如何对时间以外的其他变量进行求导?

我只是从莫代利卡开始。我知道有一个内置的时间导数运算符[der(expr)]。如果我必须用其他变量进行求导,那怎么做呢?例如:如果我必须对w.r.t进行求导,变量“x”是如何形成的?例如,如果你需要时间导数以外的东西,我想你必须显式地声明导数 y = x^2; der_y = 2x; 变量deruy应该在模型的前面声明,y和x也应该声明。如果你想要一个双导数,比如说,那么你可以这样做 dder_y = 2; 使用变量dder_y,如前所述,提前清除 在制作Modelica模型时,我并

Modelica参数作为输入

考虑以下简单的包 package Test connector Param parameter Real k = 1.5; end Param; model Component input Param p; Real x; equation der(x) = p.k; end Component; model System Param p; Component c; equation connect(p

Modelica中的抽象开关

我想提出一个我以前问过的关于a的问题。考虑以下2个控制器之间的切换模型。 model Switch input Real u; input Integer sel; output Real y; protected Real x; equation if sel == 1 then y = 0.1 * (0 - u); der(x) = 0; else y = 0.1 * (0 - u) + 0.2 * x; der(x) = 0 -

Modelica 是否有方法将参数传递给可更换/重新声明的组件?

这个问题涉及到 我有一些可以互换的子模型,我使用可替换/重新声明机制将它们包含在模型中(例如,冷却回路模型中不同类型热交换器的子模型) 我想将主模型的一些参数(比如管道的长度和直径)与子模块的相应参数“链接”。这通常在定义模型实例时完成(即在可替换行中),但是在重新声明组件网时,如何也应用此链接?特别是如果使用了选择所有匹配 以下是“我的”模型(感谢中的帮助): 我可以在注释中添加所有可能的重新声明,例如编写choice(redeclare Test.Call2 OBJ(pp=pp0))而不是使

Modelica 使用FluidPort时关于C_流出[]的错误

我是modelica的noob,负责开发热交换器模型 我没有输入 air_in.X_outflow[1]=1; air_out.X_outflowp[1]=1; coolant_in.X_outflow[1]=1; coolant_out.X_outflow[1]=1; 但我遇到了一些错误,如下面的捕获。 首先,我不知道C_流出的物理意义是什么。我可以发现C_流出=C_I/m m是流体的质量,但找不到c_i的含义。 其次,我刚刚尝试输入描述中所说的值0~1,但遇到了上面的错误消息。我认为

Modelica 计算带有连接器的模型中的方程数

我目前正在评估Dymola 2020,以建立一个太阳能发电厂模型,但在使用自定义连接器的模型中,我很难处理大量方程 代码如下: connector Port flow Real Q; Real P; Real T; end Port; 我在模型中设置了3个方程,但有一个错误显示有4个方程。方程式是如何计算的?为什么有四个呢 这个问题在结构上是单一的 它有3个标量未知数和4个标量方程。真正的部分有3个 未知数和4个方程。整数部分有0个未知数和0个 方程。布尔部分有0个未知数和0个方程

如果没有Modelica CombiTable1D实例,则无法使用自定义CombiTable1D初始化模型

我的目标是创建一个1D/2D查找表,该表可以读取JSON文件中的可变大小数组,而无需指定静态大小的Modelica数组参数 我首先尝试扩展externda,根据github问题中的建议实现一个自定义表: 概述的步骤是: 创建您自己的CombiTable副本,修改它以接受数据访问对象和稳定名称,请参见下面的代码段 创建ExternalCombiTable1D的副本,该副本将引用您自己的CombiTable数据对象 创建一个c函数,直接从json读取数据并将其存储到表对象中,然后将其传递给MSL

Modelica 是否可以更改型号';运行脚本时的参数化?

例如: 在我的脚本中,我启动了一个模型的模拟,其中包括10个水量,然后将所有结果存储在指定的.mat文件中。 对于某些变量的最终值,我想在另一个模型中对相同的10个卷进行参数化,都在同一个脚本中。 我对Modelica languange还不是很熟练,但我坚信这是可能的,不需要手工操作的繁琐。 谢谢。欢迎来到SO。请阅读并更新您的答案。是的,这是可能的!Modelica参数可以在模拟之间更改。根据您的描述,我认为最好的方法是编译到FMU,然后使用python脚本运行模拟,读取模拟结果,设置参数,

Modelica C++;模板

Modelica是否有与C++模板等价的东西?我想构建一个类来处理T类型的输入,但是T只有在实例化该类时才会被知道。我试图将该类型作为参数传递,但它给出了错误。您可以使用可替换的类型/类 model M replaceable class C; // = some partial class if you need an interface constrainedby ... C c; end M; model Test M m1(redeclare class C = C1);

调整Modelica文档中的图像大小

考虑一下这个场景。我使用OMEdit打印窗口中的“保存”选项保存打印的曲线。我想在同一模型的文档中使用此图像作为其他模型的参考。但问题是,使用此功能保存的图像非常大,并且在文档窗口中占用了大量空间(即宽度和高度) 我尝试使用HTML代码width=“xx”height=“yy”。但这并不奏效 是否有任何方法可以使用OpenModelica文档中的HTML代码调整图像大小?仅供参考。导出打印图像的大小取决于打印窗口的大小。打印窗口是MDI容器,因此可以调整打印窗口的大小,然后导出较小的图像 下面的

Modelica 医学非国际单位制教学模式

我想在医学背景下的Modelica模型中使用非SI单位。我在Dymola中使用Modelica。作为一名工程师,我更喜欢国际单位制。但我的模型参数来源于医学出版物,我希望避免转换错误。医疗单位还简化了与医生的沟通 例如,使用单位“毫米汞柱”(毫米汞柱)代替“帕”表示压力。压力变量在模型中定义如下: type Pressure_mmHg = Real (final quantity="Pressure", final unit="mmHg") defineUnitConversion("Pa",

搜索Modelica.Userguide

我正在学习Modelica语言,Modelica.Reference非常有用,但我没有找到允许我在本文中搜索特定单词的网站。我必须尝试使用谷歌的自定义搜索。但效果并不好 有谁知道一个网站或一些方法,让我这样做 从标签和其他问题中,我假设您有Dymola。在Dymola中,您可以右键单击“Modelica.User's Guide”并选择“Search”。如果激活“Modelica文本”复选框,Dymola将搜索完整的Modelica文本,包括文档 对于其他型号,“完整文档”复选框可能更有意义。

Modelica 如何在Dymola中以编程方式请求和发布功能许可证

我想知道是否有命令可以以编程方式获取和发布Dymola 2020x的共享许可证(库、二进制导出许可证等),而不必关闭整个程序 我特别感兴趣的是能够获得和发布代码出口许可证。我尝试过这两种方法,但在不关闭Dymola的情况下,可靠地发布许可证或(由另一个用户)获得最近释放的许可证并没有多大成功 DymolaCommands.Others.RequestOption() Advanced.EnableCodeExport 关于获得许可证;我已经能够使用以下代码获取共享许可证: RequestOp

为什么参数可以';Dymola/Modelica中的Controlbus组件连接的模型之间是否无法识别?

我正在制作接口包,它可以在模拟回路中输入模型的参数。 为了连接接口包和仿真模型,我使用了标准Modelica库中的Controlbus。3.2.2 检查模型是可以的,但如果我模拟模型,就会出现如下图片所示的错误 这是与这个模型相关的方程 Omega_e=Omega_d*N_t[N] Alpha_d=der(ωd) 为了解微分方程,我认为解算器需要一个特定的参数N_t。 因此,我从接口模型中输入参数,并使用标准Modelica库中的Controlbus组件发送参数 如上图所示,我明确地输入了

Modelica 变量作为信号而不是函数的时间导数

在Modelica中,我有一个变量x,它依赖于(a,b,c)。对于给定的模拟时间,其绘图(x,time)看起来平滑且连续。我想要得到这条曲线的斜率,而不必显式地微分der(x),因为我得到了关于a,b或c的偏导数的误差。这可能吗?换句话说,我想要最终输出的斜率,而不必区分它背后的内容。您不能在Modelica本身中执行类似操作,因为您无法访问积分器、以前的时间或类似内容。通过使用采样,可以在Modelica代码中获得近似值,但这会略微改变模拟结果,并可能成为性能瓶颈: M型 实时信号=时间; 实

Modelica 摩擦斜面

我刚开始使用Modelica(Dymola),并尝试了大部分教程 现在我只想建立一个简单的“有摩擦的斜面”模型。 这里有一些例子,比如 力学.平动.部件.有摩擦的质量 力学.平移.示例.摩擦 但我不知道如何在二维空间中“旋转”它们。我想让物体在重力的影响下在斜面上滑动 我的目标是,评估当粘滞变为摩擦时的临界倾角 我希望你理解我的问题,我期待着你的回答。这是一个很好的观点。我不知道这是不是一个好办法。你可以用一个简单的力来模拟会使块滑动的力,并使大小为sin(θ)*m*g。但问题是模拟倾斜平面

Modelica 扩展包和对内容的访问

我继续研究如何在库和应用程序中最好地划分代码。在之前的几篇文章中,我使用了一个玩具示例DEMO_xx库和应用程序dxx_app7。下面是一个稍微更新的版本,以涵盖这里的问题。我已经考虑了将传感器添加到收获箱的可能性 现在,我想了解如何在应用程序代码中引入从库媒体2扩展而来的应用程序媒体7的信息,并在应用程序的新组件模型中充分使用这些信息 我的理解是,如果您导入一个从另一个包扩展而来的包,您只会得到“最新”的包,而不是通过扩展构建的包,以及聚合的总媒体信息 该示例通过将常数SensorX.comp

如何在OpenModelica中求解空间导数?

在OPEN MODELICA中: 我有一个偏导数方程, Q=-A*dy/dx 对于时间差,Q=-Ady/dt-I可以使用代码Q=-Ader(y) 有没有一种方法可以对空间导数进行编码?还是相同?根据“使用Modelica对技术和物理系统进行建模和仿真的介绍”,PDE在开放Modelica中不受支持 这里有更多上下文的相同问题:

Modelica dymola如何将所有方程分成不同的组?

我正在学习在dymola中调试modelica模型,我可以看到dymola将所有方程分为不同的组。例如,在dslog.txt文件中,有关于用于求解第7组方程组的迭代变量的信息,但是我在哪里可以找到第7组中使用的方程 这是我目前使用的设置 检查dsmodel.mof文件,Dymola在模拟设置窗口中激活相应的转换标志时创建该文件: 现在,您将在工作目录中获得文件dsmodel.mof。此文件包含水平和垂直排序的方程式。如果出现非线性方程组,您会发现它们与标签一起分组在该文件中,标签应与方程组编

如何理解Modelica模型中的病态雅可比问题?

我更改了模型中的参数,但有时会因为病态雅可比矩阵而导致模拟停止,我不确定这个错误意味着什么 我的问题是: 有没有关于如何在Modelica模型中求解DAE方程的解释,以便我理解雅可比矩阵的用法 我怎么知道是哪个方程或参数导致了Dymola中的这个问题 Modelica模型或多或少地映射到混合ODE系统(或索引1的混合DAE系统)。为了简单起见,假设它映射到一个显式的连续时间ODE系统 xdot=f(x,p,t),x(0)=x0 请注意,混合ODE系统由多个连续时间ODE系统组成。雅可比矩阵是fw

Modelica 为预处理生成代码时出现内部错误

我试图通过使用pre操作符来避免Modelica中的代数循环,但是当我使用类似pre(x>0.5)的东西时,在pre的代码生成中会出现内部错误。 如果我使用pre(cond),其中cond是一个布尔型变量,就不会有任何错误 我的问题是:pre操作符是否有一些规定要求我不能在pre操作符中使用表达式 以下是代码和屏幕截图: model WithAlgebraicLoop_Wrong2 "Demonstration of how to avoid generating algebrai

Modelica 可替换函数和来自字符串的函数调用

以下三个问题联系在一起,因此请原谅文章的长度 使用Dymola 2016 在模型中使用可替换函数调用为用户提供了拥有下拉选项的机会。示例如下: model Test1 parameter Real x = 1; Real y; replaceable function a=b constrainedby d annotation(choicesAllMatching=true); equation y = a(x); end Test1; function Test2 i

Modelica 如何在可扩展连接器中使用灵活的阵列尺寸?

我想使用可扩展连接器(例如a)为更复杂的子系统建模(主要是)输入和输出连接(一个数组将不允许其元素有不同的单位,扁平列表将变得很难处理,而一个记录不允许在不写等式的情况下轻松连接其一个变量) 虽然您可以简单地将变量连接到空的可扩展连接器,但它的单元(和其他属性)不会被传递。因此,我想灵活地声明可扩展连接器内的变量(例如x[:])并根据实际连接确定其尺寸 不幸的是,OpenModelica和Wolfram System Modeler中也没有验证这一点: …将连接器声明为子组件并通过内部和外部传递

Modelica 我如何使用';FMI2GetDirectionalDerivation';?

我试图从FMU获得模型雅可比矩阵,根据以下文献,我可以使用FMI2GetDirectionalDerivation来实现这一点,但我不确定我到底需要做什么 我的问题是: 我可以在Dymola或MATLAB中调用此函数吗 一个屏幕截图或一个例子会很有帮助 我不熟悉在MATLAB中调用DLL函数,但这是Python中的一个示例。FMPy()有这些包装器,用于在python中运行fmu 我在这里编写了一个简单的模型(),并对其进行了测试。在这种情况下,已知是状态或输入的值引用,未知是导数或输出的值引

如何在Modelica模型中设置DynamicSelect表达式

我计划在文本字符串中显示变量的数量,因此我在中检查了DynamicSelect表达式的用法,如下所示: 这里是我制作的一个示例,它只包含一个Modelica.Blocks.Sources.Sine组件和一个文本标签,但我不确定为什么文本在模拟过程中没有更改。看起来DynamicSelect表达式根本不起作用。 我的问题是: 如何设置DynamicSelect表达式以使其工作 model fsdaf Modelica.Blocks.Sources.Sine sine(amplitude=1

Modelica 液压系统的仿真

我尝试用Modelica语言在Ansys Twinbuilder 2021 R1中模拟一台液压机 整个系统如下图所示 首先,我尝试将整个系统划分为子系统。我模拟了pumpraum-1,pumpraum-2,pumpraum-3,出口组件的子系统。子系统独立工作,没有任何问题。然后我尝试将子系统编译成整个系统。那么模拟就不能顺利进行了。它会在任何时间步停止,不会继续到模拟结束。这是什么原因呢?我如何理解我整个系统中的问题在哪里 我的模型代码如下: model HD_3Kolben_bsp

创建Modelica库

我自己创建了一个小型Modelica库。我创建它的方式是在一个文件中。但是我想让它成为一个合适的Modelica库,就像在每个子包都有多个目录的库中一样 这就是我所遵循的。文件>新建Modelica类>专门化-包>未选中将内容保存在一个文件中。我从单个文件库复制了整个包代码,粘贴到这里并保存了它。在这样做的过程中,我注意到这个库丢失了大部分extends子句,很少有模型丢失 我是否按照正确的程序创建了库,还是做错了什么 有人能给我指出正确的方向吗?@MSK,我无法帮助您使用OpenModelic

文件中的Modelica矢量参数

是否可以从文件中读取参数向量? 我试图创建一个对象向量,如图所示:从第49页开始。但是,我想从文本文件中提取特定的电阻和电容值。(实际上,我只是用这个例子来说明如何读入它)。 因此,该示例填充如下数据: A.Basic.Resistor R[N + 1](R = vector([Re/2; fill(Re,N-1); Re/2]) ); A.Basic.Capacitor C[N](each C = c*L/N); 但是,我有一个文本文件,其中第一列是索引,第二列是R值,第三列是C值: #1

如何在modelica中绘制2个阵列?

我指的是一个用点绘制的图,比如a数组的第一个元素和B数组的第一个元素等等。你使用的是什么工具?OpenModelica?迪莫拉?使用Python和DyMat包进行绘图可能更容易:我正在使用OMEdit。我需要为我的项目在这一个做绘图。有一个命令“quiver”,但我不知道如何使用它!

Modelica中的三次样条插值

我有一组数据需要插值。我的第一个数据集包含每个x1[:]和y1[:]的z1[:]值。我必须将我的第二个数据集x2[:],y2[:]w.r.t插值到我的第一个数据集,以得到z2[:]值。我的第一个数据集的大小与第二个数据集的大小不同。是否已经用Modelica编写了用于此功能的算法 不规则网格上的插值已被要求,但仍然不是Modelica标准库的一部分(从今天的3.2.2版开始)。因此,我唯一能解决这个问题的方法是编写一个双线性插值算法。我说的对吗?双线性插值(尽管是在常规网格上)已经是block

Modelica 外部函数:将C脚本中的头引用到已编译的dll

使用Dymola 2017 案例A)调用外部c脚本 我成功地实现了没有“#include”语句的简单外部c函数: Modelica函数: function chirp input Modelica.SIunits.AngularVelocity w_start; input Modelica.SIunits.AngularVelocity w_end; input Real A; input Real M; input Real t; output Real u &qu

使用Modelica Dymola对区域供暖系统建模的图书馆

我想用Modelica Dymola为区域供暖系统建模 哪些库可用于模拟用户、热源和区域供热网络? -常用 -开源还是商业 我还希望您提供有关如何组装简单的第一个模型的提示。您可以从Modelon(火力发电库)获得一个商业的、受支持的、经过工业验证的库来模拟区域供暖系统,请参阅。例如,您可以对区域供热网络的生产装置进行基于优化的调度,等等 您可以从Modelon(火力发电库)获得一个商业、受支持且经工业验证的库来模拟区域供暖系统,请参阅。例如,您可以对区域供热网络的生产装置进行基于优化的调度,等

Modelica 回转接头中的极限扭矩

我试图模拟两个物体之间的接触,其中一个是上下移动,另一个是旋转,想象一下旋转工件的切割过程。我正在使用接触件库,请检查下图 我给旋转关节一个速度输入,我想看看接触块摩擦对主轴组件角速度的影响。我不能那样做。接触块中属性的任何更改都会导致旋转关节中扭矩的更改,但速度保持不变。是否有一种方法可以限制关节中的扭矩?或者,我应该做些什么来观察主轴速度中的摩擦效应减速或加速 PS:我使用的是Dymola免责声明:这很可能不是一个功能齐全的答案,但希望它能为您提供一个良好的起点 这与您的建模方式有关。您将输

Modelica 在作用域中找不到函数_

我在使用默认为Modelica标准库2D combi表的可替换类型参数时遇到问题。我正在使用OpenModelica 1.14.1。我是Modelica的新手,所以我不确定我看到的是错误还是误解的结果 以下代码工作正常(当我按下“检查模型”时,没有翻译错误): 然而,这并不是: model Error replaceable class DefaultTable = Modelica.Blocks.Tables.CombiTable2D; DefaultTable bob; DefaultTab

初学者:我的项目依赖modelica安全吗?

假设我根据Modelica语法正确地建模了一个完整的系统,那么编译器是否足够成熟来处理它 我需要建立一个至少有15个连接组件的系统模型,每个组件相对简单,从数学上讲,只有代数方程。Modelica对我很有吸引力,但我是一个完全的初学者,这个项目对我很重要,所以我有点害怕承诺使用Modelica 我知道编译器不能完全模拟所有的标准库示例和模型,我怎么知道确切的限制是什么 谢谢。当然,这在很大程度上取决于你选择什么工具。根据个人经验,我可以告诉你们,十多年前,我在福特汽车公司的一个项目中使用了Dym

Modelica 创建可替换模型

我想知道Modelica是否允许我们创建可替换的模型 我试图将Modelica.Blocks.Sources.Constant重新声明为一个控制恒定电压的块。我只需要改变变量k的单位。(从零到“伏特”)。 在openmodelica中可以这样做吗?您不需要可替换的模型。 只需在Modelica.Blocks.Sources.Constant组件上使用修改器: Modelica.Blocks.Sources.Constant const(k(unit = "V")); 但要回答您的问题,Open

用于校准和验证Modelica模型的测量和模拟数据比较方法

这是一个相当普遍的问题。我试图根据实验测量数据验证Modelica模型。在过去,我只是简单地添加了一个CombiTable,将数据复制到组件中。然而,我将处理至少15列我想匹配和比较的数据 我的问题是,你推荐什么方法、技巧和技巧来比较测量和模拟数据,从而更容易校准和验证你的Modelica模型?我一直很好奇其他人是如何做到这一点的 对我来说,我创建了一个模型,我把它放在我所有的例子中,进行回归测试,并在通过/失败时给出报告。“正确”的数据可以从combiTable(任意多个维度)输入,也可以直接

OpenModelica:FMU导出的第二级输入

我有一个模型,用它创建一个FMU,并希望将其导入python 在第一块画布上输入作品,并将其传输到作品中使用的块 由于python代码的体系结构,我需要为块的其余部分输入前缀 我举了一个简单的例子: package testi model source Modelica.Electrical.Analog.Sources.SignalVoltage signalVoltage annotation( Placement(visible = true, transforma

Modelica Dymola中的初始化警告

在我的模型中,我弄不明白为什么初始条件没有完全指定 以下是代码和屏幕截图: model WithAlgebraicLoop_Right extends Modelica.Icons.Example; Real x; Real y(start=1, fixed=true); Boolean cond; equation cond = x > 0.5; when pre(cond) then y = 1*time; end when; x = sin(

Modelica 莫迪里卡格比蒂梅布尔酒店

关于CombitMetable,我有几个问题:我厌倦了将一个txt文件(3列:第一次+2个测量数据)导入CombitMetabletxt文件是否必须具有以下标题#1;double K(x,y)-CombitMetable中的表名必须与double后面的变量同名(在我的例子中是K),对吗如果尝试连接表的两个输出(第1列和第2列),则会出现错误。是否必须指定要导入的列数 和:为什么我必须在路径中使用“/”而不是“\” 多谢各位 战斗文件的标准文本文件格式为: #1 双K(4,3) 0 1 10

Modelica 创建可替换介质包阵列

如果可能,我想创建一个可替换介质包阵列,用户可以使用可用选项更改每个选项 下面是定义介质的典型方法 replaceable package Medium = Modelica.Media.Interfaces.PartialMedium "Coolant medium" annotation (choicesAllMatching=true); 下面是一个原型,我希望在每个“媒介”都可能是不同的媒介的情况下可以实现 parameter Integer n = 1 "Number o

OpenModelica抱怨负值可能';不要消极

接下来,我修改了我描述的基于能量的控制器,以避免sqrt中出现负值: model Model //constants parameter Real m = 1; parameter Real k = 2; parameter Real Fmax = 3; parameter Real x0 = 1; parameter Real x1 = 2; parameter Real t1 = 5; parameter Real v0 = -2; //variable

Modelica 无法解线性方程组

我在试着破解密码 model modelTest // 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 Pressur

Modelica 感应电动机模型

我必须自己制作一个感应电机模型,我的第一步就是复制一个已经存在的例子,即电机.Examples.异步感应电机.AIMC\u DOL。现在我已经复制了它,但是我不能参数化AIM\u鼠笼,因为我不能在其中设置所有默认值。请参阅附件。帮帮忙,谢谢 Errors: ------------------------------------------------------------------------------------------------------------------------

如何在Modelica中表示非数字

我在Modelica中有一段代码,如果变量的计算输出为0/0或inf,我必须为变量赋值1。 我发现了如何通过Modelica.Constants.inf表示无穷大。 但是,我找不到如何表示0/0,我已经搜索了NaN,但找不到它。请帮助我。还不可能,请参见此处的讨论:

Modelica模型中偏微分方程时间导数项的离散化

我试图用Modelica来离散一个偏微分方程模型,但我被困于如何离散时间导数项 如下面的屏幕截图所示,这是热传导PDE模型的典型方法,它使用der运算符,而不是离散时间导数项。 我想做的是离散方程中的所有导数项,包括时间导数,但我不确定如何表示Q(t+Δt)-Q(t),因为我不知道Modelica中是否有一种机制允许我使用不同时间点变量的值 我的问题是: 可以对时间导数项进行离散化吗 对它没有简单的支持 一种简单的可能性是使用der(Q)=(Q(t+Δt)-Q(t))/Δt基本上给出了行的方法

上一页 1 2  3   4   5   6    7   8   9  ... 下一页 最后一页 共 16 页