Migration to OpenModelica 1.25 and FMUs Generation

This commit is contained in:
2026-05-26 09:37:35 +02:00
parent fdf293ece6
commit fe90b840ed
370 changed files with 968105 additions and 743 deletions

View File

@@ -0,0 +1,35 @@
within AIDAModelica;
model ComputationAccelerationModel "Computation Acceleration Model"
// CP: 65001
// SimulationX Version: 3.8.2.45319 x64
Modelica.Blocks.Interfaces.RealInput TotalThrust(quantity = "Mechanics.Rotation.Torque", displayUnit = "Nm") "'input Real' as connector" annotation(
Placement(transformation(origin = {-66, -14}, extent = {{-75, 15}, {-35, 55}}), iconTransformation(extent = {{-95, 5}, {-55, 45}})));
Modelica.Blocks.Interfaces.RealInput Attitude[3](each quantity = "Mechanics.Rotation.Angle", each displayUnit = "rad") "'input Real' as connector" annotation(
Placement(transformation(origin = {-66, 6}, extent = {{-75, 55}, {-35, 95}}), iconTransformation(origin = {-25, 75}, extent = {{-20, -20}, {20, 20}})));
Modelica.Blocks.Interfaces.RealOutput DroneAcceleration[3](each quantity = "Mechanics.Translation.Accel", each displayUnit = "m/s²") "'output Real' as connector" annotation(
Placement(transformation(origin = {34, 26}, extent = {{65, -15}, {85, 5}}), iconTransformation(extent = {{61.7, -10}, {81.7, 10}})));
Modelica.Blocks.Interfaces.RealInput ExternalForce[3] "'input Real' as connector" annotation(
Placement(transformation(origin = {-80, -20}, extent = {{-60, -40}, {-20, 0}}), iconTransformation(extent = {{-95, -45}, {-55, -5}})));
parameter Real m(quantity = "Basics.Mass", displayUnit = "kg") = 1.8 "Quadcopter mass";
parameter Real g(quantity = "Mechanics.Translation.Accel", displayUnit = "m/s²") = 9.8 "Parameter g";
parameter Real e3[3] = {0, 0, 1} "Unit vector";
Real Reb[3, 3] "From the ABCF to the EFCF rotation matrix";
Real Rz[3, 3] "Z rotation matrix";
Real Ry[3, 3] "Y rotation matrix";
Real Rx[3, 3] "X rotation matrix";
equation
// enter your equations here
Rz = {{cos(Attitude[3]), sin(Attitude[3]), 0}, {-sin(Attitude[3]), cos(Attitude[3]), 0}, {0, 0, 1}};
Ry = {{cos(Attitude[2]), 0, -sin(Attitude[2])}, {0, 1, 0}, {sin(Attitude[2]), 0, cos(Attitude[2])}};
Rx = {{1, 0, 0}, {0, cos(Attitude[1]), sin(Attitude[1])}, {0, -sin(Attitude[1]), cos(Attitude[1])}};
Reb = transpose(Rz) * transpose(Ry) * transpose(Rx);
DroneAcceleration = g * e3 - TotalThrust / m * Reb * e3 + ExternalForce / m;
annotation(
TotalThrust(flags = 2),
Attitude(flags = 2),
DroneAcceleration(flags = 2),
ExternalForce(flags = 2),
Icon(coordinateSystem(extent = {{-75, -75}, {75, 75}}, initialScale = 0.1), graphics = {Rectangle(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, extent = {{-76.7, 76.7}, {80, -76.7}}), Text(origin = {-6, 4}, extent = {{-12, 6}, {12, -6}}, textString = "%name")}),
experiment(StopTime = 1, StartTime = 0, Interval = 0.002, MaxInterval = "0.001"));
end ComputationAccelerationModel;