WOLFRAM SYSTEM MODELER
TowingRopeModel for towing rope |
SystemModel["Aircraft.Examples.GliderTow.TowingRope"]
This model represents a towing rope that can be used to connect a tug aircraft to another aircraft that is being towed. This model is modified from the Modelica Standard Library SpringDamperParallel model and thus works as line force with a linear spring and linear damper in parallel with the given spring constant (c) and damping constant (d) parameters. However, the force acting on the tugAircraft frame is constrained to ≤ 0, whereas the force acting on the towedAircraft frame is constrained to ≥ 0, i.e. the rope slackens and no force is applied when the distance between the frames is less than the unstretched length (sUnstretched), albeit the slackening of the rope is not visualized in the animation.
The other modification includes adding a condition for the releasing of the rope. The rope is released, meaning that no forces are any longer applied, after the input Boolean signal for the release condition (uDetach) rises from false to true for the first time. The release condition may rise and fall multiple times, for example, when it is set to a certain flight altitude as in the GliderTow example, but obviously the rope will not get reattached any longer after the first rise of uDetach. This model also outputs a Boolean signal referring to the detachment status of the rope (yDetach) and real signal referring to the time passed from start of the simulation until the rope release (yDetachTime).
animation |
Value: true Type: Boolean Description: = true, if animation shall be enabled |
---|---|
sUnstretched |
Value: 0 Type: Length (m) Description: Unstretched spring length |
c |
Value: 0 Type: TranslationalSpringConstant (N/m) Description: Spring constant |
d |
Value: 0 Type: TranslationalDampingConstant (N⋅s/m) Description: Damping constant |
s_small |
Value: 1e-10 Type: Distance (m) Description: Prevent zero-division if distance between tugAircraft and towedAircraft is zero |
fixedRotationAtFrame_a |
Value: false Type: Boolean Description: =true, if rotation tugAircraft.R is fixed (to directly connect line forces) |
fixedRotationAtFrame_b |
Value: false Type: Boolean Description: =true, if rotation towedAircraft.R is fixed (to directly connect line forces) |
numberOfWindings |
Value: integer(ceil(sUnstretched)) Type: Integer Description: Number of spring windings |
dRope |
Default Value: 0.08 Type: Diameter (m) Description: Rope diameter |
---|---|
colorRope |
Default Value: {0, 0, 200} Type: Color Description: Color of rope cylinder |
specularCoefficient |
Default Value: world.defaultSpecularCoefficient Type: SpecularCoefficient Description: Reflection of ambient light (= 0: light is completely absorbed) |
dSpring |
Default Value: dRope Type: Distance (m) Description: Spring diameter |
dCoil |
Default Value: dSpring / 5 Type: Distance (m) Description: Spring coil diameter |
colorSpring |
Default Value: {255, 255, 0} Type: Color Description: Color of rope spring |
tugAircraft |
Type: Frame_a Description: Frame connected to the tug aircraft |
|
---|---|---|
towedAircraft |
Type: Frame_b Description: Frame connected to the aircraft to be towed |
|
uDetach |
Type: BooleanInput Description: Boolean signal for rope detachment (=true when rope is detached) |
|
yDetach |
Type: BooleanOutput Description: Boolean output for the detachment status (=always true after detachment condition has been fulfilled once) |
|
yDetachTime |
Type: RealOutput Description: Time passed until the rope release |
world |
Type: World Description: World coordinate system + gravity field + default animation definition |
|
---|---|---|
shape_b |
Type: Shape Description: Visualizing an elementary object with variable size; all data have to be set as modifiers (see info layer) |
|
shape |
Type: Shape Description: Visualizing an elementary object with variable size; all data have to be set as modifiers (see info layer) |
Aircraft.Examples Example of towing a glider up to cruise altitude by an electric aircraft |