您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 2-MWorks培训_Modelica实例教程_基础篇
苏州同元软控信息技术有限公司培训教程——2010年6月2日Modelica基础篇苏州同元软控信息技术有限公司在开始之前本阶段任务、主要内容学习的方法你将接触到很多新的概念,如果没有立刻给出解释,就必须先试着接受它对于基础概念,尽量理解它,对以后的学习会有帮助。学习过程中必须动手,加深印象,至少对感性的结果会留有印象。这是学习软件的有效方式之一。苏州同元软控信息技术有限公司模型要素2向量、矩阵和数组3建模功能4非因果建模·方程5因果建模·算法6模型初始条件Modelica基础苏州同元软控信息技术有限公司模型要素2向量、矩阵和数组3建模功能4非因果建模·方程5因果建模·算法6模型初始条件Modelica基础苏州同元软控信息技术有限公司模型要素Modelica基础·模型本质——DAEs·内置数据类型及属性·基本运算符·变量及初值·方程与算法·类与类型·组件与连接·命名规则苏州同元软控信息技术有限公司——Differential-AlgebraicEquationsx——状态变量,有导数出现y——代数变量,没有导数出现u——输入变量Modelica模型本质苏州同元软控信息技术有限公司(start=1);parameterReala=2;equationder(x)=-a*x;endDEexample;方程:x’=-a*x初始条件:x(0)=1仿真2秒,绘制x的曲线简单的微分方程苏州同元软控信息技术有限公司(start=0.9);Realy;equationder(y)+(1+0.5*sin(y))*der(x)=sin(time);x-y=exp(-0.9*x)*cos(y);endDAEexample;代数方程:方程中不出现导数项仿真1秒,绘制x的曲线微分代数方程苏州同元软控信息技术有限公司浮点数,例:3.1415926,2e-5Integer整数,例:50,-3Booleantrue/falseString文字串,例:“Helloworld”enumeration枚举enumerationShirtSize={Small,Middle,Large};ShirtSizeeSize=ShirtSize.Small;离散型连续型离散型Modelica内置基本数据类型苏州同元软控信息技术有限公司物理量纲unit单位(仅Real类型)displayUnit显示单位(仅Real类型)value数值min最小值(仅数值类型)max最大值(仅数值类型)start仿真初始值fixed变量值是否固定不变(String无此属性)Realv(unit=“V”,min=-220,max=220,start=36);v≡v.value基本数据类型(除枚举外)内置属性苏州同元软控信息技术有限公司运算符类型语法示例数组索引[]arr[index]成员存取.a.b函数调用funcName(arguments)sin(4.36)数组构造/连接{expressions}[expressions][expressions;expressions...]{2,3}[5,6][2,3;7,8]幂^2^3乘除/数组逐元素乘除*/.*./2*32/3[1,2;3,4].*[2,3;5,6]加减/数组逐元素加减+-+expr–expr.+.-a+b,a-b,+a,-a[1,2;3,4].+[2,3;5,6]关系====ab,a=b,ab,...逻辑非notexprnotb1逻辑与andb1andb2逻辑或orb1orb2范围表达式expr:expr或expr:expr:expr1:5start:step:stopIf表达式ifexprthenexprelseexprifbthen3elsex命名参数ident=exprx=2.26基本运算符苏州同元软控信息技术有限公司变量,或称为实例、组件,是基本数据类型或用户定义类型声明的对象。对于时变变量,变量值记录求解过程中当前时刻的结果。Realx(start=1);Modelica.Electrical.Analog.Basic.ResistorR1(R=10);discrete仅用于Real型变量,表示声明的变量是离散型的变量。discreteRealy;parameter参数常量:表示在每次仿真过程中不变的常量,在仿真之前可以修改其值。parameterRealmass=20;constant命名常量constantRealPI=3.141592653589;constantStringRedColor=Red;constantIntegerone=1;变量苏州同元软控信息技术有限公司变量ModelAreaconstantRealpi=3.1415926;parameterRealw=2;RealA;equationA=sin(2*pi*w*time);endArea;苏州同元软控信息技术有限公司流变量连接中,具有和零性质的变量;flowModelica.SIunits.VolumeFlowRateq;势变量连接中,具有相等性质的变量Modelica.SIunits.Pressurep;变量苏州同元软控信息技术有限公司数值型变量默认0布尔型变量默认false字符串型变量默认空串局部变量和函数返回值默认未定义仿真初始值:Realx(start=1);Realy(start=1,fixed=true);默认fixed=false,可能的初始值初始值,必须使用此值变量初始值苏州同元软控信息技术有限公司变量初始值ModelUn1Realx(start=1);Realy(start=0,fixed=true);equationx+y=2;der(y)=1;endUn1;苏州同元软控信息技术有限公司方程:表示模型行为,是非因果的。算法:表示模型过程式行为,是因果的。modelEquationAlgorithmRealx;Realy;equationder(x)=sin(time);algorithmy:=0;foriin1:10loopy:=y+i^2;endfor;endEquationAlgorithm;在后续章节详细介绍方程算法方程和算法苏州同元软控信息技术有限公司类/模型的结构变量:或称为实例、组件,定义类的属性,对于时变变量,变量值记录求解过程中当前时刻的结果。方程/算法:表示模型行为,与其他存在数据交互的模型方程一起决定求解过程(LE/NLE/ODE/DAE/DE)。模型可以是其他类的嵌套类(局部类)。声明一个类就在Modelica中创建了一个类型名。classCelestialBodyconstantRealg=6.672e-11;parameterRealradius;parameterStringname;parameterRealmass;endCelestialBody;classNestExampleclassNestedClassRealx=sin(time);endNestedClass;Realx;NestedClassc1;equationx+time=c1.x;endNestExample;classlocalclassvariableequationalgorithm类嵌套类苏州同元软控信息技术有限公司抽象类在类关键字(class及受限类)前有partial修饰。用途捕捉共性属性。方程不完整(物理行为描述不完整)。不能实例化。partialmodelOnePortSuperclassofelementswithtwoelectricalpinsPinp,n;Voltagev;Currenti;equationv=p.v-n.v;0=p.i+n.i;i=p.i;endOnePort;抽象类苏州同元软控信息技术有限公司类的实例化声明类的组件(变量)即实例化——在标识符前加类型名。仿真主模型没有声明其组件也会实例化。modelInstExamplePointpt;equationpt.x=10;pt.y=20;pt.z=30;endInstExample;CelestialBodymoon;主模型类的实例化主模型是用户进行仿真的模型苏州同元软控信息技术有限公司类通用类model模型陈述式模型connector连接器组件之间的连接接口record记录数据结构block框图兼容基于框图的因果建模type类型类型别名function函数通过算法实现过程式建模package包消除名字冲突和组织模型层次用途:更精确地表达模型含义增强易用性和可读性便于编译器作限制性检查可以改成class而不影响模型行为受限类苏
本文标题:2-MWorks培训_Modelica实例教程_基础篇
链接地址:https://www.777doc.com/doc-6318849 .html