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
forceFunction
defines the force vector calculation function:forceVector = forceFunction(; time::TimeType, objectApply::Object3D{FloatType}, objectCoord::Object3D{FloatType})::SVector{3,FloatType} where {TimeType, FloatType}
objectCoord
defines anObject3D
which defines the coordinate directions of the force vector. In case ofobjectCoord = nothing
the force vector is applied in World coordinates.
Results
forceVector
is 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
torqueFunction
defines the torque vector calculation function:torqueVector = torqueFunction(; time::TimeType, objectApply::Object3D{FloatType}, objectCoord::Object3D{FloatType})::SVector{3,FloatType} where {TimeType, FloatType}
objectCoord
defines anObject3D
which defines the coordinate directions of the torque vector. In case ofobjectCoord = nothing
the torque vector is applied in World coordinates.
Results
torqueVector
is 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
nominalForce
defines the nominal force vector, i.e. the force that acts when spring and damper forces are zero. Positive values act in positive axis directions atobj1
and in opposite directions atobj2
.springForceLaw
defines the force law of the spring in x-, y- and z-direction:- A
Real
number represents a linear stiffness coefficient. - An univariate
Function
is used to compute the spring force dependent of its deflection.
- A
damperForceLaw
defines the force law of the damper in x-, y- and z-direction:- A
Real
number represents a linear damping coefficient. - An univariate
Function
is used to compute the damper force dependent of its deflection velocity.
- A
nominalTorque
defines nominal torques about alpha, beta and gamma directions.rotSpringForceLaw
defines the force law of the rotational spring about alpha-, beta- and gamma-direction:- A
Real
number represents a linear damping coefficient. - An univariate
Function
is used to compute the spring force dependent of its deflection.
- A
rotDamperForceLaw
defines the force law of the rotational damper about alpha-, beta- and gamma-direction:- A
Real
number represents a linear damping coefficient. - An univariate
Function
is used to compute the damper force dependent of its deflection velocity.
- A
largeAngles
can 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
obj1
toobj2
). This option supports angles up to nearly 90°, but introduces local rotation directions [alpha, beta gamma] which differ from the axes [x, y, z] ofobj1
and 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
translation
is the translation vector fromobj1
toobj2
, resolved inobj1
.rotation
contains the rotation angles alpha, beta and gamma fromobj1
toobj2
.velocity
is the translation velocity vector fromobj1
toobj2
, resolved inobj1
.rotationVelocity
contains the rotation angular velocities about alpha-, beta- and gamma-direction fromobj1
toobj2
.springForce
is the spring force vector.springTorque
contains the spring torques.damperForce
is the damper force vector.damperTorque
contains the damper torques.torque
contains the total torques.forceVector
is the force vector acting onobj2
, resolved inobj1
. Atobj1
the same force vector is applied in inverse direction. In addition a compensation torque is applied atobj1
to satisfy torque balance.torqueVector
is the torque vector acting onobj2
, resolved inobj1
. Atobj1
the 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
nominalLength
defines the nominal length, i.e. the distance betweenobj1
andobj2
where the deflection of the spring is zero.nominalForce
defines the nominal force, i.e. the force that acts when spring and damper forces are zero. Positive values represent tension.springForceLaw
defines the force law of the spring:- A
Real
number represents a linear stiffness coefficient. - An univariate
Function
is used to compute the spring force dependent of its deflection. Positive values represent tension.
- A
damperForceLaw
defines the force law of the damper:- A
Real
number represents a linear damping coefficient. - An univariate
Function
is used to compute the damper force dependent of its deflection velocity. Positive values represent expansion.
- A
Results
length
is the distance betweenobj1
andobj2
.deflection
is the spring deflection.velocity
is the point-to-point velocity betweenobj1
andobj2
.springForce
is the spring force (including the nominal force).damperForce
is the damper force.force
is the total force.forceVector
is the force vector acting onobj2
, resolved inobj1
. Onobj1
the same force vector is applied in inverse direction.