modelica - CSDN
精华内容
参与话题
  • //50%占空比脉冲生成within ModelicaByExample.DiscreteBehavior.PulseGenerator;model PulseGenerator "A model that produces pulses at a fixed interval" type Time=Real(unit="...
    //50%占空比脉冲生成
    within ModelicaByExample.DiscreteBehavior.PulseGenerator;
    model PulseGenerator "A model that produces pulses at a fixed interval"
      type Time=Real(unit="s");
      parameter Time width=100e-3;
      Boolean pulse;
    initial equation
      pulse = false;
    equation
      when sample(width,width) then//形成50%占空比的脉冲
        pulse = not pre(pulse);
      end when;
    end PulseGenerator;
    //计数器
    within ModelicaByExample.DiscreteBehavior.Counter;
    model Counter "Counting samples"
      type Time = Real(unit="s");
      parameter Time interval=100e-3;
      Integer count;
    initial equation
      count = 0;
    equation
      when sample(interval, interval) then
        count = pre(count)+1;
      end when;
    end Counter;
    //采样保持
    within ModelicaByExample.DiscreteBehavior.SpeedMeasurement;
    model SampleAndHold "Measure speed and hold"
      extends BasicEquations.RotationalSMD.SecondOrderSystem;
      parameter Real sample_time(unit="s")=0.125;
      discrete Real omega1_measured;
    equation
      when sample(0,sample_time) then
        omega1_measured = omega1;
      end when;
    end SampleAndHold;
    //Bang-Bang控制
    within ModelicaByExample.DiscreteBehavior.Hysteresis;
    model HysteresisControl "A control strategy that doesn't chatter"
      type HeatCapacitance=Real(unit="J/K");
      type Temperature=Real(unit="K");
      type Heat=Real(unit="W");
      type Mass=Real(unit="kg");
      type HeatTransferCoefficient=Real(unit="W/K");
      Boolean heat(start=false) "Indicates whether heater is on";
      parameter HeatCapacitance C=1.0;
      parameter HeatTransferCoefficient h=2.0;
      parameter Heat Qcapacity=25.0;
      parameter Temperature Tamb=285;
      parameter Temperature Tbar=295;
      Temperature T;
      Heat Q;
    initial equation
      T = Tbar+5;
      heat = false;
    equation
      Q = if heat then Qcapacity else 0;
      C*der(T) = Q-h*(T-Tamb);
      when {T>Tbar+1,T<Tbar-1} then
        heat = T<Tbar;
      end when;
    end HysteresisControl;

    展开全文
  • Modelica资料整理

    2019-09-25 16:10:40
    2.1 官方网站,包括最为丰富的modelica相关资料,在此可以了解到有关于modelica的最新动态,可以下载modelica的标准库与其他免费库,可以下载相关文档与论文资料。modelicamodelica协会 2.2 modelica的维基百科...

    2.1 官方网站,包括最为丰富的modelica相关资料,在此可以了解到有关于modelica的最新动态,可以下载modelica的标准库与其他免费库,可以下载相关文档与论文资料。modelica和modelica协会

    2.2 modelica的维基百科词条modelica维基百科。

    2.3 modelica标准库Github主页,由modelica协会成员组维护。

    2.4 《modelica实例教程》辅导书在线版,英文版中文版

    2.5 国内modelica资讯网站,modelica技术,由国内苏州同元软控信息技术有限公司更新。

    2.6 基于modelica语言的仿真软件MWorks,由国内苏州同元软控信息技术有限公司开发。

    2.7 主流商业软件Dymola


    参考:
    作者:週燿鎽
    链接:https://zhuanlan.zhihu.com/p/50172909
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    感谢作者的整理!

    展开全文
  • modelica练习

    千次阅读 2018-03-08 23:26:53
    正式开始前的小练习①求解简单的微分方程组,并在坐标轴上表示学习了class的定义,以及simulate与plot这两个函数,对整个建模、仿真、输出结果的流程有了大概的掌握。②求解相对复杂的二元微分方程组,并在坐标轴上...

    正式开始前的小练习

    ①求解简单的微分方程组,并在坐标轴上表示

    学习了class的定义,以及simulate与plot这两个函数,对整个建模、仿真、输出结果的流程有了大概的掌握。

    ②求解相对复杂的二元微分方程组,并在坐标轴上作图表示

    将前一个问题中的数学表达稍复杂化,但就程序员而言并无新的挑战,是一次偏重复的练习。

    ③仿真范德波尔振荡模型,并作图

    应用上,更加接近了实际问题中的物理模型;在编程上,这一部分加入了注释的输入和常量的使用。注释又分两层,一层是描述性注释,标识符为“”;另一层是源代码注释,标识符为//。两者的区别在于后者会在编译时被机器忽略。当建模时需要使用常量时,可供选择的变量类型有parameter和constant两种。

    ④基于前三个练习,对第一和第二个模型中的参数值进行修改

    实际上,在一开始的时候,我与同伴已经这样做了。

    一个相对完整的项目

    这个项目里,我们需要仿真出Apollo13登月落地时的情况,并作出其高度与速度随时间变化的曲线。

    ①构建飞行器满足的物理模型

    列出相关的方程式,并通过与之前类似的方法构建飞行器模型,值得注意的是,在这里,一个class中的常量可以在仿真前通过class.parameter的语法来进行定义。

    ②构建目标天体满足的物理模型

    通过先定义类CelestialBody,再利用语句CelestialBody moon来定义moon的方法,进一步展示了面向对象编程时,类与对象的概念

    ③构建飞行器落地的物理模型
    抽象出的物理模型是飞行器在只受到万有引力和火箭推力的情况下运动,火箭推力随时间为分段的阶梯函数。在语法上,新习得protected与public来区分是否可以另外赋值的常量。

    最后得到的图像与预期相符,实验完成。


    实验心得

    ①要逐步提高科技英文阅读能力和英语思考能力

    科技英文阅读能力的提高有助于我们更快更好地了解世界最新的知识,更好地使用相关的软件工具。英语思考能力在能提高我们对于英文的反应速度和表达能力,是更高的要求。

    ②使用前沿软件Modelica,开拓了眼界

    只需要输入由方程“直译”而来的代码,就能实现求解,进而仿真,这让我跳出了之前狭小的视野圈。同时,前沿软件不可避免的bug也让学习过程更加地令人兴奋,暗藏在不成熟下的成长的力量使20岁的我产生了共鸣。



    展开全文
  • 基于Modelica和Dymola的航空发动机燃气发生器的建模与性能仿真,任志彬,孟光, 本文介绍了航空发动机燃气发生器的数学模型,分析了压气机、涡轮与燃烧室共同工作的条件,基于这些条件以及元件库中压气机级�
  • Modelica模型库开发.doc

    2020-07-30 23:31:33
    openmodelica液压系统库的开发,请问手册是英文还是中文,如果是英文就算了。Modelica语言是为解决多领域物理系统的统一建模与协同仿真,在归纳和统一先前多种建模语言的基础上,于1997年提出的一种基于方程的陈述式...
  • Modelica示例-机构接口

    2018-06-03 20:49:35
    Modelica的机构库(Mechanics)包含三个子库:1)MultiBody,主要用于对三维机构的建模;Library to model 3-dimensional mechanical systems2)Rotational,主要用于对一维旋转机构的建模;"Library to model ...
    Modelica的机构库(Mechanics)包含三个子库:

    1)MultiBody,主要用于对三维机构的建模;
    Library to model 3-dimensional mechanical systems
    2)Rotational,主要用于对一维旋转机构的建模;
    "Library to model 1-dimensional, rotational mechanical systems"
    3)Translational,主要用于对一维平移机构的建模;
    "Library to model 1-dimensional, translational mechanical systems"


    MultiBody

    在MulitiBody库中,模块之间的接口为Frame_a和Frame_b,这两个接口完全一致,只是接口填充颜色不同,均继承于Frame。

    Frame接口参数如下:

    connector Frame
      "Coordinate system fixed to the component with one cut-force and cut-torque (no icon)"
      SI.Position r_0[3]
        "Position vector from world frame to the connector frame origin, resolved in world frame";
      Frames.Orientation R   
     "Orientation object to rotate the world frame into the connector frame";
      flow SI.Force f[3] "Cut-force resolved in connector frame";
      flow SI.Torque t[3] "Cut-torque resolved in connector frame";
    end Frame;

    从程序中可以看出,接口一共有四个参数,

    1)坐标系原点在世界坐标系中的位置;

    2)把世界坐标系旋转至接口坐标系的旋转矩阵;

    3)局部坐标系中接口处的力;

    4)局部坐标系中接口处的力矩;

    Rotational

    在Rotatianal库中,模块之间的接口为Flange_a和Flange_b,这两个接口完全一致,只是接口填充颜色不同。

    接口内容均为:
    connector Flange_a
      "One-dimensional rotational flange of a shaft (filled circle icon)"
      SI.Angle phi "Absolute rotation angle of flange";
      flow SI.Torque tau "Cut torque in the flange";
    end Flange_a;

    从程序中可以看出,接口只有两个参数:

    1)接口法兰旋转的角度;

    2)接口法兰的扭矩;

    Translational

    在Translational库中,模块之间的接口为Flange_a和Flange_b,这两个接口完全一致,只是接口填充颜色不同。


    接口内容均为:

    connector Flange_a
      "(left) 1D translational flange (flange axis directed INTO cut plane, e. g. from left to right)"
      SI.Position s "Absolute position of flange";
      flow SI.Force f "Cut force directed into flange";
    end Flange_a;

    从程序中可以看出,接口只有两个参数:

    1)移动副的位置;

    2)移动副的受力;

    另外,可以注意到一点,Rotational库和Translational库的结构基本一致。

    整体目录:


    接口目录:


    展开全文
  • Modelica实例教程

    2020-07-30 23:32:06
    modelica的一个实例教程,翻译过来的,可以看看。里面包含了modelica的全部语法相关,以及对应的实例模型代码
  • Modelica 教程

    2020-07-30 23:32:55
    Modelica is a quite new software for modelling in such fields as mechanical,electrical, thermal etc...
  • 基于Modelica开发的MWorks等软件,以数学逻辑对产品物理特性进行描述,比如说给系统一个电压激励,看看电流、热等的变化,也可以做半实物仿真,例如将模型中的电阻变为一个真实的电阻等。对于数据流、时序、产品算法...
  • 运行环境 win10系统 安装有jmodelica matlab的simulink 步骤1:模型程序编写 建立文档:SecondOrderSystemInitParams.mo 记录文档所在路径:“C:\Users\U2016\Desktop\cps” 内代码为: model ...
  • 监测变化edge()函数和change()函数常用来监测事件的变化。当变量的值改变时,这两个函数可以给出提示。edge()函数仅能用于bool变量;change()函数仅能用于bool、整数和字符串型变量。edge()的等价定义式为:edge(x) ...
  • modelica基于方程可以建立一个完整的模型。模型的建立需要编写微分或者积分方程。在modelica中不需要定义方程是如何求解的,这也是modelica高级的地方。 基于组件的方法 基于组件的方法是从一个单独的领域自己从头...
  • OpenModelica用户手册

    2020-07-30 23:32:28
    文档中主要介绍了OpenModelica的操作方法,由简入深,非常有助于初学者学习Modelica
  • Modelica教程》by Fritzson 导言部分

    千次阅读 2018-03-08 22:13:49
    一款好的建模软件可以建立起了两者之间的联系,这也是Modelica开发的最宏大的初衷。以方程的形式方程的历史可以追溯到公元前2000多年,而有关方程表达时的符号体系由Robert Rocorde在1557年给出。牛顿第二定律,曾以...
  • OpenModelica使用入门

    2020-05-14 14:23:49
    文件——新建Medolica类,命名为RLC1,在库中选择Modelica/Electrical/Analog/Basic中的电容、电阻、电感以及大地模块和Source中的恒定电压源模块,将其拖入组件视图中,设定好参数后,将其连接。 在模型名上右键,...
  • Modelica是一种面向对象的语言,用于建模大型、复杂和异构的物理系统。它适用于多领域建模,例如汽车、航空航天和机器人应用中的机电系统建模。这些系统由机械、电气和液压子系统以及控制系统组成。 一般方程用于...
  • OpenModelica仿真RLC电路

    千次阅读 2017-07-09 01:05:35
    前几天课程设计做电机仿真要用MATLAB,当时想找有没有Python做的类似simulink的程序,后来就找到了OpenModelica,模型是用建模语言modelica写的,查看了modelica的官网才知道Wolfram旗下的SystemMolder也是基于...
  • 多领域统一建模语言Modelica及其仿真平台,田永利,颜云辉,Modelica语言能以统一的形式建立含机、电、液、热、生物和控制等多领域成分的复杂物理系统,已广泛应用于许多有需求的工业领域。本�
  • 简介运算放大器经常用作非线性器件来比较两个电压的幅值,在这种应用中,运算放大器用作开环配置,输入的一端(同相端+)是输入...-电路-仿真曲线-程序model ca Modelica.Electrical.Analog.Basic.Ground ground1...
  • modelica建模知识点V1.0

    2020-07-02 14:35:53
    modelica 建模知识点整理,主要包含了modelica2.2标准的知识点和部分modelica3.2标准的知识点.
1 2 3 4 5 ... 11
收藏数 211
精华内容 84
热门标签
关键字:

modelica