function
RigidBody.stateDerivativeComponents
Array outputs of the pure rigid-body vector field for equation-based models
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | state | RigidBody.State | | |
| input | wrench | RigidBody.Wrench | | |
| input | parameters | RigidBody.Parameters | | |
| output | worldPositionRate | Real | [3] | |
| output | bodyVelocityRate | Real | [3] | |
| output | attitudeRate | Real | [4] | |
| output | bodyAngularVelocityRate | Real | [3] |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function stateDerivativeComponents
"Array outputs of the pure rigid-body vector field for equation-based models"
input RigidBody.State state;
input RigidBody.Wrench wrench;
input RigidBody.Parameters parameters;
output Real worldPositionRate[3];
output Real bodyVelocityRate[3];
output Real attitudeRate[4];
output Real bodyAngularVelocityRate[3];
algorithm
assert(RigidBody.validParameters(parameters),
"Rigid-body vector field requires positive mass and symmetric positive-definite inertia");
worldPositionRate := RigidBody.worldPositionRate(state);
bodyVelocityRate := RigidBody.bodyVelocityRate(state, wrench, parameters);
attitudeRate := RigidBody.attitudeRate(state, parameters);
bodyAngularVelocityRate := RigidBody.bodyAngularVelocityRate(
state, wrench, parameters);
end stateDerivativeComponents;