首页 文章
  • 2 votes
     answers
     views

    在模拟期间更改输入值

    在openmodelica OMEdit中,有没有办法在更改模型的输入值后恢复模拟?或者有没有办法提供输入向量?我想通过在模拟期间更改输入来测试模型并查看其行为(无需创建生成输入的其他模型) . 另外,在绘图视角下,此栏显示的目的是什么?
  • 7 votes
     answers
     views

    如何使用OMPython在Python中调用OpenModelica模型?

    我有一个用OMEdit制作的OpenModelica模型 . 为了得到一个具体的例子,我设计了以下内容: 现在我想在Python中运行该模型 . 我可以通过使用OMPython来做到这一点 . 导入OMPython并加载文件后,我使用以下命令运行模拟: result = OMPython.execute("simulate(myGain, numberOfIntervals=2, ou...
  • 1 votes
     answers
     views

    Modelica的翻译阶段障碍?

    一些普通的Modelica建议? 我们用测量数据 Build 了一个带有~2000个方程和三个输入矢量的模型 . 使用OpenModelica,模拟的尝试已经开始在翻译阶段(它运行了几个小时,过去不到一分钟),现在我经常“失去与omc.exe的连接” . 是否存在累积发生的某些因素会降低翻译/编译性能? 一般来说,是否有任何良好的经验法则可以使模拟更轻更快?我意识到,根据耦合,附加的方程可以指数增...
  • 1 votes
     answers
     views

    将有状态C计算与Modelica集成

    我已经将在C中实现的机器学习算法与在OpenModelica中运行的Modelica模型集成在一起 . 机器学习算法处于闭环状态,将偏离目标状态作为输入,并提供控制信号作为输出 . 我设置了一个采样周期,以便每隔X毫秒调用一次C算法 . 但是,我发现对于相同的时钟值,该算法被多次调用 . 这让我怀疑为了解决模型,OpenModelica需要在每次模拟迭代时多次调用它 . 这会影响算法的学习方式,因...
  • 1 votes
     answers
     views

    使用modelica进行简单四链路机制仿真时出错

    我把'm trying to implement a 4 link mechanism and the model I'放在一起显示在这里:Mechanism and Model Revolute1的速度为5 rd / s . 所有棒的直径均为0.05μm . 世界设置是默认设置,您可以在图片上看到条形矢量 . 没有其他改变 . 当我尝试运行模拟时,我在OpenModelica上遇到这些错误: ...
  • 1 votes
     answers
     views

    FMU变量值与输入不匹配

    我正在尝试配置的简单协同仿真中遇到一些奇怪的行为 . 我在EnergyPlus中设置了建筑能量模型,以测试从JModelica生成的FMU . 然而,建筑能源模型将在协同仿真步骤中被挂起 . 然后我在JModelica中运行了FMU,得到了一些非常奇怪的结果 . Modelica代码是: model CallAdd input Real FirstInput(start=0); i...
  • 1 votes
     answers
     views

    在JModelica中引用外部文件

    我有一个Modelica文件,通过外部库* .a文件在模拟过程中引用c代码 . 例如: model CallAdd input Real FirstInput(start=0); input Real SecondInput(start=0); output Real FMUOutput(start=0); function CAdd input ...
  • 2 votes
     answers
     views

    如何在OMEdit中模拟后自动绘制一组特定值?

    我使用OMEdit构建了一个相当复杂的模型 . 为了进行后处理,我想生成一组图(<5),每个图中绘制了不同数量的数量(~5) . 到目前为止,我是使用OMEdit中的Plotting视图完成的 . 然而,在每次启动OMEdit之后,使用鼠标这么做一次又一次,很快就变得单调乏味,所以我想自动执行此操作 . 是否 a way to programmatically define (例如,带有实验...
  • 2 votes
     answers
     views

    在Modelica模拟期间等待或暂停

    我一直在使用OpenModelica进行实时仿真案例,如果我可以暂停模拟一段时间,这将是很好的,特别是当我等待新的实时数据集到达时 . 换句话说,是Modelica模拟与外部环境同步的问题 . OpenModelica引入了a new simulation flag -rt但它没有做好工作 . 它只是帮助您使整个模拟与实时或其中任何一部分同步 . 我想做的是10秒的模拟,任何速度都快于10秒 . ...
  • 2 votes
     answers
     views

    OpenModelica中的闭环电源循环不起作用

    我正在使用OpenModelica为一个集中的太阳能热电厂建模 . 我已经为泵和冷凝器创建了一个模型,他们在单独测试时成功计算了出口条件 . 但是出于测试目的,当我在闭环中连接泵和冷凝器模型时,模型将无法模拟,并且我收到以下错误: [1] 22:16:26 Translation Error Internal error Circular Equalities Detected for Varia...
  • 3 votes
     answers
     views

    为JModelica设置Jupyter Notebook

    我想用Jupyter Notebook编辑JModelica python脚本;但是在安装之后,Jupyter笔记本无法找到关键库,例如pymodelica . 以下是为JModelica版本2.1安装Jupyter Notebook所遵循的过程: 在IPython终端中: !pip install jupyter 在Windows CMD中我使用 cd C:\JModelica.org-...
  • 1 votes
     answers
     views

    创建Modelica库

    我创建了一个自己的小型Modelica库 . 我创建它的方式是在一个文件中 . 但我想使它成为一个合适的Modelica库,就像每个子包中有多个目录的那样 . 所以这就是我所遵循的 . File> New Modelica Class> Specialization - Package> Unchecked将内容保存在一个文件中 . 我从单个文件库中复制了整个软件包代码,将...
  • 1 votes
     answers
     views

    如何在Modelica模拟过程中确定上一个时间步的值?

    如何在Modelica中模拟期间确定上一时间步的值?我有等式 Q=m*c*(Ts2-Ts1-Tr) 我需要从中提取 Ts2 和 Ts1 的值 . Ts2 - 是时间步骤2的值 Ts1 - 是上一个时间步的值 Ts 是输入信号,它在此期间有变化 . 每一步它都有不同的 Value . 在我的情况下,时间步长为1秒 . 其他值是固定的 . 我可以设置方程变量 time 吗?例...
  • 2 votes
     answers
     views

    简单的Modelica库

    我对modelica相当新 . 我想知道是否有任何易于理解的简单库可供下载?具有总方程式不超过100左右的示例的库? 在此先感谢,MSK
  • 1 votes
     answers
     views

    在C中调用modelica模型

    目前,我有一个modelica模型,它将某些连续脉冲信号作为输入并模拟一些行为并给出布尔输出 . 我知道modelica可以调用外部函数,但是有一种方便的方法可以将一个modelica模型“打包”成一个东西,所以我可以在我的其他c代码中调用它吗?我已经研究了fmi,但到目前为止我只能用matlab共同模拟我的模型,我对如何使用导出的fmu文件感到有点困惑 .
  • 2 votes
     answers
     views

    具有未指定维度的Modelica数组

    给定具有连接器阵列x的模型,其中未指定其尺寸,例如, connector con ... end con; model test con x[:]; end test; 如何用特定大小实例化x,例如这样的事情? test t(x = ?); ... equation connect(t.x[1], a); connect(t.x[2], b); ...
  • 0 votes
     answers
     views

    Modelica - 将非modelica函数映射到模型

    如果我有一个非modelica函数,它没有输入,也没有输出 void foo(void) { variable1; variable2; for loop { if conditions } variable2=foobar(); // another function call, foobar() is not modelica function } 然...
  • 2 votes
     answers
     views

    在Modelica中动态切换连接

    假设我有一个涉及各种基类型(Real,Integer,String,Boolean)的大型连接器 . 如何根据状态事件切换连接?我想做这样的事情: model switch input ComplicatedConnector icon[2]; output ComplicatedConnector ocon; input Real x; equation if x >= 0 ...
  • 1 votes
     answers
     views

    从多个LUT中选择的最佳方法是什么? (Modelica的)

    在我们的物理系统模型中,我们通过查找表中的因子修改一个通量值 . LUT本身是从基于整数索引的LUT目录中选择的 . 我们目前正在将表数据加载到CombiTable2D组件中 . 选择/定义正确LUT的正确方法是什么?如果我们将它们全部作为一个输入数据文件中的命名表,有没有办法根据它的tableName(CombiTable参数)选择一个LUT?我一直在使用等式或算法格式的For循环,但还没有找...
  • 3 votes
     answers
     views

    Modelica中的抽象开关

    我想激发一个我之前问过的关于Modelica array of partial model的问题 . 考虑以下两个控制器之间的切换模型 . model Switch input Real u; input Integer sel; output Real y; protected Real x; equation if sel == 1 then y = 0.1 *...
  • 1 votes
     answers
     views

    如何在Modelica中为液压缸建模机械挡块?

    我想知道如何最有效地建模机械停止 . 我在OpenModelica中使用受控液压缸进行液压模拟 . 对于液压缸,我使用Modelica标准库中的 sweptVolume 型号 .这个模型的不足之处在于,如果活塞到达气缸底部,则没有机械停止 . 我尝试了几个没有好结果的想法 . 我尝试通过if-expression将活塞的位移重置为零,如果它击中底部的话 . 但这并不是一个好的选择,因为体积是用活塞...
  • 3 votes
     answers
     views

    两阶段Modelica Media示例

    我正在尝试在OpenModelica中开发一种流动的模拟,该流动具有液体或蒸汽的单一物质 . Modelica.Media.Water模型确实有两个阶段,但是非常复杂,并且很难为完全不同的物质重现 . 我想找一个我可以使用的两相介质的简单例子 . 有一个部分包TemplateMedium和一个部分包PartialTwoPhaseMedium,但我没有看到任何关于如何编写一个全新的介质的例子,它可...
  • 1 votes
     answers
     views

    在OpenModelica中建模周期性时变实变量

    我想要建模的是一个周期性的时间变量实变量,以下代码无法模拟 . 有人有建议吗? class try discrete Real x(start = 1); algorithm when sample(0,4) then x := 1; // reinit(x, 1) also does not work end when; equation der(x) = 1; end t...
  • 1 votes
     answers
     views

    在稳态Modelica模型中求解分量分期

    我试图用Modelica来解决我认为应该是一个简单的稳态组件分段问题,但我很难找到解决方案 . 我准备了一个带有两个并联泵的示例箱,它必须向系统提供目标总流量(vTotal) . 一个泵是一个变频泵,输出与指令频率(fPump1)成比例的流量(v1),它可以在0和fMax之间变化 . 另一台泵是定速泵,每当它运行时输出一个固定的流量(v2IfRunning),当它没有运行时输出零流量 . 目标是解...
  • 3 votes
     answers
     views

    在modelica中使用PDE的耦合系统

    只有几个问题,我希望有人会抽空回答:) . 如果我们有COUPLED模型示例怎么办:n个独立变量的系统X和n非线性偏微分方程PDEf(X,PDEf(X))相对于取决于X的时间,PDEf(X)(取决于变量X的偏微分方程) ) . 你能提一些建议吗?这是一个例子: 假设c是输出或期望的变量 . 假设r是自变量 . 偏微分方程看起来像: ∂c/∂t= D * 1 /r∂c/∂r2(D *(∂^ 2 c)...
  • 2 votes
     answers
     views

    在modelica中集成函数

    我想在Modelica中执行除时间之外的变量函数的集成,但我不知道该怎么做 . 例如,如何评估x dx与上限5和下限2的积分? ∫x dx=x^2/2
  • 0 votes
     answers
     views

    如何将OpenModelica中的模拟结果可视化为动画?

    我想知道如何以动画的形式可视化Modelica模拟的结果 . 想象一下,我有一个简单的模拟如下: model test //parameters parameter Real m_1 = 1; parameter Real m_2 = 10; parameter Real K_c = 100000; //variables Real x_1; Real v_1; R...
  • 1 votes
     answers
     views

    Modelica中when语句中离散状态机变量的公式太多

    我有一个人为的Modelica模型,其中有一个由多个 when 语句操纵的状态机变量: model WhenExample type State = enumeration(first, second, third); State state; initial equation state = State.first; equation when sample(0, 1) ...
  • 1 votes
     answers
     views

    如何在Modelica中关闭when语句以限制时间事件生成?

    假设我想模拟每天早上01:00发出10次哔哔声(每秒一次)的闹钟: model DailyBeep import SI = Modelica.SIunits; import Modelica.SIunits.Conversions.*; constant SI.Time oneDay = 86459.17808 "one day in seconds";...
  • 1 votes
     answers
     views

    如何用多体部件模拟行走滑轮

    我正在努力教自己Modelica . 到目前为止,我已经阅读了所有可用的书籍,并且我还从github下载了Michael Tiller的优秀“Modelica By Example”代码 . 我希望有更多的多体实例可以使用例如Dymola和OpenModelica中的标准多体库 . 我正在尝试通过构建行走滑轮来学习如何使用多体部件,也就是说在非惯性参考系中旋转的滑轮 . 例如,这是用于滑轮和滑轮的...

热门问题