Define specialized class record
record States
Modelica.Units.SI.Position s;
Modelica.Units.SI.Velocity v;
end States;
record System
parameter Modelica.Units.SI.Mass m=1;
parameter Modelica.Units.SI.Force f=1;
Modelica.Units.SI.Acceleration a;
States states;
end System;
model SlidingMass
System sys;
equation
der(sys.states.s) = sys.states.v;
der(sys.states.v) = sys.a;
sys.m*sys.a = sys.f;
end SlidingMass;
[ encapsulated ][ partial] record
IDENT class_specifier
class_specifier :
string_comment composition end IDENT
| "=" base_prefix name [ array_subscripts ] [ class_modification ] comment
| "=" enumeration "(" ( [enum_list] | ":" ) ")" comment
See Modelica Grammar for further details.
The keyword record is used to define records which are generally used in order to group variables. Only public sections are allowed in the definition or in any of its components (i.e., equation, algorithm, initial equation, initial algorithm and protected sections are not allowed). May not be used in connections. The elements of a record may not have prefixes input, output, inner, outer, or flow. Enhanced with implicitly available record constructor function. Additionally, record components can be used as component references in expressions and in the left hand side of assignments, subject to normal type compatibility rules.