modelSecondOrderSystem"A second order rotational system"typeAngle=Real(unit="rad");typeAngularVelocity=Real(unit="rad/s");typeInertia=Real(unit="kg.m2");typeStiffness=Real(unit="N.m/rad");typeDamping=Real(unit="N.m.s/rad");parameterInertiaJ1=0.4"Moment of inertia for inertia 1";parameterInertiaJ2=1.0"Moment of inertia for inertia 2";parameterStiffnessc1=11"Spring constant for spring 1";parameterStiffnessc2=5"Spring constant for spring 2";parameterDampingd1=0.2"Damping for damper 1";parameterDampingd2=1.0"Damping for damper 2";Anglephi1"Angle for inertia 1";Anglephi2"Angle for inertia 2";AngularVelocityomega1"Velocity of inertia 1";AngularVelocityomega2"Velocity of inertia 2";initialequationphi1=0;phi2=1;omega1=0;omega2=0;equation// Equations for inertia 1omega1=der(phi1);J1*der(omega1)=c1*(phi2-phi1)+d1*der(phi2-phi1);// Equations for inertia 2omega2=der(phi2);J2*der(omega2)=c1*(phi1-phi2)+d1*der(phi1-phi2)-c2*phi2-d2*der(phi2);endSecondOrderSystem;
正如我们在低通滤波器示例中所做的那样(即 RLC1),接下来我们将逐行详细讲解这个内容。
和往常一样,我们先从模型的名称说起:
modelSecondOrderSystem"A second order rotational system"
parameterInertiaJ1=0.4"Moment of inertia for inertia 1";parameterInertiaJ2=1.0"Moment of inertia for inertia 2";parameterStiffnessc1=11"Spring constant for spring 1";parameterStiffnessc2=5"Spring constant for spring 2";parameterDampingd1=0.2"Damping for damper 1";parameterDampingd2=1.0"Damping for damper 2";
对于这个系统,有四个非参数变量。它们的定义如下:
Anglephi1"Angle for inertia 1";Anglephi2"Angle for inertia 2";AngularVelocityomega1"Velocity of inertia 1";AngularVelocityomega2"Velocity of inertia 2";
随后,通过以下方式来定义初始条件(稍后我们将对此进行回顾)
initialequationphi1=0;phi2=1;omega1=0;omega2=0;
接下来便是描述系统动态响应的方程式:
equation// Equations for inertia 1omega1=der(phi1);J1*der(omega1)=c1*(phi2-phi1)+d1*der(phi2-phi1);// Equations for inertia 2omega2=der(phi2);J2*der(omega2)=c1*(phi1-phi2)+d1*der(phi1-phi2)-c2*phi2-d2*der(phi2);
modelSecondOrderSystemInitParams"A second order rotational system with initialization parameters"typeAngle=Real(unit="rad");typeAngularVelocity=Real(unit="rad/s");typeInertia=Real(unit="kg.m2");typeStiffness=Real(unit="N.m/rad");typeDamping=Real(unit="N.m.s/rad");parameterAnglephi1_init=0;parameterAnglephi2_init=1;parameterAngularVelocityomega1_init=0;parameterAngularVelocityomega2_init=0;parameterInertiaJ1=0.4"Moment of inertia for inertia 1";parameterInertiaJ2=1.0"Moment of inertia for inertia 2";parameterStiffnessc1=11"Spring constant for spring 1";parameterStiffnessc2=5"Spring constant for spring 2";parameterDampingd1=0.2"Damping for damper 1";parameterDampingd2=1.0"Damping for damper 2";Anglephi1"Angle for inertia 1";Anglephi2"Angle for inertia 2";AngularVelocityomega1"Velocity of inertia 1";AngularVelocityomega2"Velocity of inertia 2";initialequationphi1=phi1_init;phi2=phi2_init;omega1=omega1_init;omega2=omega2_init;equationomega1=der(phi1);omega2=der(phi2);J1*der(omega1)=c1*(phi2-phi1)+d1*der(phi2-phi1);J2*der(omega2)=c1*(phi1-phi2)+d1*der(phi1-phi2)-c2*phi2-d2*der(phi2);endSecondOrderSystemInitParams;