Force Elements
WorldForce
Modia3D.Composition.WorldForce — Typeforce = WorldForce(; objectApply,
forceFunction,
objectCoord = nothing)Return a force acting at objectApply::Object3D calculated by function forceFunction. The force directions are defined by the coordinate axes of objectCoord::Object3D.
Arguments
forceFunctiondefines the force vector calculation function:forceVector = forceFunction(; time::TimeType, objectApply::Object3D{FloatType}, objectCoord::Object3D{FloatType})::SVector{3,FloatType} where {TimeType, FloatType}objectCoorddefines anObject3Dwhich defines the coordinate directions of the force vector. In case ofobjectCoord = nothingthe force vector is applied in World coordinates.
Results
forceVectoris the force vector acting onobjectApply, resolved inobjectCoord.
WorldTorque
Modia3D.Composition.WorldTorque — Typetorque = WorldTorque(; objectApply,
torqueFunction,
objectCoord = nothing)Return a torque acting at objectApply::Object3D calculated by function torqueFunction. The torque directions are defined by the coordinate axes of objectCoord::Object3D.
Arguments
torqueFunctiondefines the torque vector calculation function:torqueVector = torqueFunction(; time::TimeType, objectApply::Object3D{FloatType}, objectCoord::Object3D{FloatType})::SVector{3,FloatType} where {TimeType, FloatType}objectCoorddefines anObject3Dwhich defines the coordinate directions of the torque vector. In case ofobjectCoord = nothingthe torque vector is applied in World coordinates.
Results
torqueVectoris the torque vector acting onobjectApply, resolved inobjectCoord.
Bushing
Modia3D.Composition.Bushing — Typeforce = Bushing(; obj1, obj2,
nominalForce = [0.0, 0.0, 0.0],
springForceLaw = [0.0, 0.0, 0.0],
damperForceLaw = [0.0, 0.0, 0.0],
nominalTorque = [0.0, 0.0, 0.0],
rotSpringForceLaw = [0.0, 0.0, 0.0],
rotDamperForceLaw = [0.0, 0.0, 0.0],
largeAngles = false )Return a force acting as bushing between obj1::Object3D and obj2::Object3D. The force directions are defined by obj1, i.e. the orientation of obj2 does not influence the resulting forces.
Arguments
nominalForcedefines the nominal force vector, i.e. the force that acts when spring and damper forces are zero. Positive values act in positive axis directions atobj1and in opposite directions atobj2.springForceLawdefines the force law of the spring in x-, y- and z-direction:- A
Realnumber represents a linear stiffness coefficient. - An univariate
Functionis used to compute the spring force dependent of its deflection.
- A
damperForceLawdefines the force law of the damper in x-, y- and z-direction:- A
Realnumber represents a linear damping coefficient. - An univariate
Functionis used to compute the damper force dependent of its deflection velocity.
- A
nominalTorquedefines nominal torques about alpha, beta and gamma directions.rotSpringForceLawdefines the force law of the rotational spring about alpha-, beta- and gamma-direction:- A
Realnumber represents a linear damping coefficient. - An univariate
Functionis used to compute the spring force dependent of its deflection.
- A
rotDamperForceLawdefines the force law of the rotational damper about alpha-, beta- and gamma-direction:- A
Realnumber represents a linear damping coefficient. - An univariate
Functionis used to compute the damper force dependent of its deflection velocity.
- A
largeAnglescan be used to enable large angle mode.- When disabled, small deformation angles (< 10°) are assumed. This option deals equally with rotations [alpha, beta gamma] about the axes [x, y, z] of
obj1, but causes approximation errors for larger angles. - When enabled, the deformation angles and torque directions are calculated as Cardan (Tait–Bryan) angles (rotation sequence x-y-z from
obj1toobj2). This option supports angles up to nearly 90°, but introduces local rotation directions [alpha, beta gamma] which differ from the axes [x, y, z] ofobj1and increases computation effort.
- When disabled, small deformation angles (< 10°) are assumed. This option deals equally with rotations [alpha, beta gamma] about the axes [x, y, z] of
Results
translationis the translation vector fromobj1toobj2, resolved inobj1.rotationcontains the rotation angles alpha, beta and gamma fromobj1toobj2.velocityis the translation velocity vector fromobj1toobj2, resolved inobj1.rotationVelocitycontains the rotation angular velocities about alpha-, beta- and gamma-direction fromobj1toobj2.springForceis the spring force vector.springTorquecontains the spring torques.damperForceis the damper force vector.damperTorquecontains the damper torques.torquecontains the total torques.forceVectoris the force vector acting onobj2, resolved inobj1. Atobj1the same force vector is applied in inverse direction. In addition a compensation torque is applied atobj1to satisfy torque balance.torqueVectoris the torque vector acting onobj2, resolved inobj1. Atobj1the same torque vector is applied in inverse direction.
SpringDamperPtP
Modia3D.Composition.SpringDamperPtP — Typeforce = SpringDamperPtP(; obj1, obj2,
nominalLength = 0.0,
nominalForce = 0.0,
springForceLaw = 0.0,
damperForceLaw = 0.0 )Return a force acting as point-to-point parallel spring-damper between obj1::Object3D and obj2::Object3D.
Arguments
nominalLengthdefines the nominal length, i.e. the distance betweenobj1andobj2where the deflection of the spring is zero.nominalForcedefines the nominal force, i.e. the force that acts when spring and damper forces are zero. Positive values represent tension.springForceLawdefines the force law of the spring:- A
Realnumber represents a linear stiffness coefficient. - An univariate
Functionis used to compute the spring force dependent of its deflection. Positive values represent tension.
- A
damperForceLawdefines the force law of the damper:- A
Realnumber represents a linear damping coefficient. - An univariate
Functionis used to compute the damper force dependent of its deflection velocity. Positive values represent expansion.
- A
Results
lengthis the distance betweenobj1andobj2.deflectionis the spring deflection.velocityis the point-to-point velocity betweenobj1andobj2.springForceis the spring force (including the nominal force).damperForceis the damper force.forceis the total force.forceVectoris the force vector acting onobj2, resolved inobj1. Onobj1the same force vector is applied in inverse direction.