This package contains utility functions used by some of the Loops example models.
Extends from Modelica.Icons.UtilitiesPackage
(Icon for utility packages).
Name | Description |
---|---|
Cylinder | Cylinder with rod and crank of a combustion engine |
Cylinder_analytic_CAD | One cylinder with analytic handling of kinematic loop and CAD visualization |
CylinderBase | One cylinder with analytic handling of kinematic loop |
Engine1bBase | Model of one cylinder engine with gas force |
EngineV6_analytic | V6 engine with analytic loop handling |
GasForce | Simple gas force computation for combustion engine |
GasForce2 | Rough approximation of gas force in a combustion engine's cylinder |
Cylinder with rod and crank of a combustion engine. Used as submodel in Loops.EngineV6.
Type | Name | Default | Description |
---|---|---|---|
Boolean | animation | true | = true, if animation shall be enabled |
Length | cylinderTopPosition | 0.42 | Length from crank shaft to end of cylinder. |
Length | pistonLength | 0.1 | Length of cylinder |
Length | rodLength | 0.2 | Length of rod |
Length | crankLength | 0.2 | Length of crank shaft in x direction |
Length | crankPinOffset | 0.1 | Offset of crank pin from center axis |
Length | crankPinLength | 0.1 | Offset of crank pin from center axis |
Angle | cylinderInclination | 0 | Inclination of cylinder |
Angle | crankAngleOffset | 0 | Offset for crank angle |
Length | cylinderLength | cylinderTopPosition - (pistonLength + rodLength - crankPinOffset) | Maximum length of cylinder volume |
Type | Name | Description |
---|---|---|
Frame_a | cylinder_a |   |
Frame_a | cylinder_b |   |
Frame_a | crank_a |   |
Frame_a | crank_b |   |
Very simple analytic model of the force generated by the combustion in an engine cylinder.
Extends from Modelica.Icons.ObsoleteModel
(Icon for classes that are obsolete and will be removed in later versions) and Modelica.Mechanics.Translational.Interfaces.PartialCompliant
(Compliant connection of two translational 1D flanges).
Type | Name | Default | Description |
---|---|---|---|
Length | L | Length of cylinder | |
Diameter | d | Diameter of cylinder | |
Volume | k0 | 0.01 | Volume V = k0 + k1*(1-x), with x = 1 + s_rel/L |
Volume | k1 | 1 | Volume V = k0 + k1*(1-x), with x = 1 + s_rel/L |
HeatCapacity | k | 1 | Gas constant (p*V = k*T) |
Type | Name | Description |
---|---|---|
Flange_a | flange_a | Left flange of compliant 1-dim. translational component |
Flange_b | flange_b | Right flange of compliant 1-dim. translational component |
The gas force in a cylinder of a combustion engine is computed as function of the relative distance of the two flanges. It is required that s_rel = flange_b.s - flange_a.s is in the range
0 ≤ s_rel ≤ L,
where the parameter L is the length of the cylinder. If this assumption is not fulfilled, an error occurs. The resulting approximation of the gas pressure is shown in the following figure and depends on both s_rel and the relative velocity v_rel = der(s_rel).
Extends from Modelica.Mechanics.Translational.Interfaces.PartialCompliant
(Compliant connection of two translational 1D flanges).
Type | Name | Default | Description |
---|---|---|---|
Length | L | Length of cylinder | |
Length | d | Diameter of cylinder | |
Volume | k0 | 0.01 | Volume V = k0 + k1*(1-x), with x = 1 - s_rel/L |
Volume | k1 | 1 | Volume V = k0 + k1*(1-x), with x = 1 - s_rel/L |
HeatCapacity | k | 1 | Gas constant (p*V = k*T) |
Type | Name | Description |
---|---|---|
Flange_a | flange_a | Left flange of compliant 1-dim. translational component |
Flange_b | flange_b | Right flange of compliant 1-dim. translational component |
Slider-crank mechanism with analytic handling of kinematic loop to model one cylinder in an engine.
Type | Name | Default | Description |
---|---|---|---|
Boolean | animation | true | = true, if animation shall be enabled |
Length | cylinderTopPosition | 0.42 | Length from crank shaft to end of cylinder. |
Length | crankLength | 0.14 | Length of crank shaft in x direction |
Length | crankPinOffset | 0.05 | Offset of crank pin from center axis |
Length | crankPinLength | 0.1 | Offset of crank pin from center axis |
Angle_deg | cylinderInclination | 0 | Inclination of cylinder |
Angle_deg | crankAngleOffset | 0 | Offset for crank angle |
Length | pistonLength | 0.1 | Length of cylinder |
Length | pistonCenterOfMass | 0.5 * pistonLength | Distance from frame_a to center of mass of piston |
Mass | pistonMass | 6 | Mass of piston |
Inertia | pistonInertia_11 | 0.0088 | Inertia 11 of piston with respect to center of mass frame, parallel to frame_a |
Inertia | pistonInertia_22 | 0.0076 | Inertia 22 of piston with respect to center of mass frame, parallel to frame_a |
Inertia | pistonInertia_33 | 0.0088 | Inertia 33 of piston with respect to center of mass frame, parallel to frame_a |
Length | rodLength | 0.175 | Length of rod |
Length | rodCenterOfMass | 0.5 * rodLength | Distance from frame_a to center of mass of piston |
Mass | rodMass | 1 | Mass of rod |
Inertia | rodInertia_11 | 0.006 | Inertia 11 of rod with respect to center of mass frame, parallel to frame_a |
Inertia | rodInertia_22 | 5e-4 | Inertia 22 of rod with respect to center of mass frame, parallel to frame_a |
Inertia | rodInertia_33 | 0.006 | Inertia 33 of rod with respect to center of mass frame, parallel to frame_a |
final Length | cylinderLength | cylinderTopPosition - (pistonLength + rodLength - crankPinOffset) | Maximum length of cylinder volume |
Type | Name | Description |
---|---|---|
Frame_a | cylinder_a |   |
Frame_a | cylinder_b |   |
Frame_a | crank_a |   |
Frame_a | crank_b |   |
Slider-crank mechanism with analytic handling of kinematic loop to model one cylinder in an engine.
Extends from Modelica.Mechanics.MultiBody.Examples.Loops.Utilities.CylinderBase
(One cylinder with analytic handling of kinematic loop).
Type | Name | Default | Description |
---|---|---|---|
Boolean | animation | true | = true, if animation shall be enabled |
Length | cylinderTopPosition | 0.42 | Length from crank shaft to end of cylinder. |
Length | crankLength | 0.14 | Length of crank shaft in x direction |
Length | crankPinOffset | 0.05 | Offset of crank pin from center axis |
Length | crankPinLength | 0.1 | Offset of crank pin from center axis |
Angle_deg | cylinderInclination | 0 | Inclination of cylinder |
Angle_deg | crankAngleOffset | 0 | Offset for crank angle |
Length | pistonLength | 0.1 | Length of cylinder |
Length | pistonCenterOfMass | 0.5 * pistonLength | Distance from frame_a to center of mass of piston |
Mass | pistonMass | 6 | Mass of piston |
Inertia | pistonInertia_11 | 0.0088 | Inertia 11 of piston with respect to center of mass frame, parallel to frame_a |
Inertia | pistonInertia_22 | 0.0076 | Inertia 22 of piston with respect to center of mass frame, parallel to frame_a |
Inertia | pistonInertia_33 | 0.0088 | Inertia 33 of piston with respect to center of mass frame, parallel to frame_a |
Length | rodLength | 0.175 | Length of rod |
Length | rodCenterOfMass | 0.5 * rodLength | Distance from frame_a to center of mass of piston |
Mass | rodMass | 1 | Mass of rod |
Inertia | rodInertia_11 | 0.006 | Inertia 11 of rod with respect to center of mass frame, parallel to frame_a |
Inertia | rodInertia_22 | 5e-4 | Inertia 22 of rod with respect to center of mass frame, parallel to frame_a |
Inertia | rodInertia_33 | 0.006 | Inertia 33 of rod with respect to center of mass frame, parallel to frame_a |
final Length | cylinderLength | cylinderTopPosition - (pistonLength + rodLength - crankPinOffset) | Maximum length of cylinder volume |
Type | Name | Description |
---|---|---|
Frame_a | cylinder_a |   |
Frame_a | cylinder_b |   |
Frame_a | crank_a |   |
Frame_a | crank_b |   |
Model of an engine with 6 cylinders where the algebraic loops of the slider crank mechanisms are solved analytically.
Type | Name | Default | Description |
---|---|---|---|
Boolean | animation | true | = true, if animation shall be enabled |
Type | Name | Description |
---|---|---|
Flange_b | flange_b |   |
Frame_a | frame_a |   |
This is a model of the mechanical part of one cylinder of an engine. The combustion is not modelled. The "inertia" component at the lower left part is the output inertia of the engine driving the gearbox. The angular velocity of the output inertia has a start value of 10 rad/s in order to demonstrate the movement of the engine.
The engine is modeled solely by revolute and prismatic joints. Since this results in a planar loop there is the well known difficulty that the cut-forces perpendicular to the loop cannot be uniquely computed, as well as the cut-torques within the plane. This ambiguity is resolved by using the option planarCutJoint in the Advanced menu of one revolute joint in every planar loop (here: joint B1). This option sets the cut-force in direction of the axis of rotation, as well as the cut-torques perpendicular to the axis of rotation at this joint to zero and makes the problem mathematically well-formed.
An animation of this example is shown in the figure below.
Generated 2018-12-12 12:12:23 EST by MapleSim.