LoadForceVector
Load with (3D) force vector; attached to position-based marker.
Additional information for LoadForceVector:
- Requested
Marker
type =Position
- Short name for Python =
Force
- Short name for Python visualization object =
VForce
The item LoadForceVector with type = ‘ForceVector’ has the following parameters:
- name [type = String, default = ‘’]:load’s unique name
- markerNumber [type = MarkerIndex, default = invalid (-1)]:marker’s number to which load is applied
- loadVector [\({\mathbf{f}}\), type = Vector3D, default = [0.,0.,0.]]:vector-valued load [SI:N]; in case of a user function, this vector is ignored
- bodyFixed [type = Bool, default = False]:if bodyFixed is true, the load is defined in body-fixed (local) coordinates, leading to a follower force; if false: global coordinates are used
- loadVectorUserFunction [\(\mathrm{UF} \in \Rcal^3\), type = PyFunctionVector3DmbsScalarVector3D, default = 0]:A Python function which defines the time-dependent load and replaces loadVector; see description below; NOTE that in static computations, the loadFactor is always 1 for forces computed by user functions (this means for the static computation, that a user function returning [t*5,t*1,0] corresponds to loadVector=[5,1,0] without a user function); NOTE that forces are drawn using the value of loadVector; thus the current values according to the user function are NOT shown in the render window; however, a sensor (SensorLoad) returns the user function force which is applied to the object; to draw forces with current user function values, use a graphicsDataUserFunction of a ground object
- visualization [type = VLoadForceVector]:parameters for visualization of item
The item VLoadForceVector has the following parameters:
- show [type = Bool, default = True]:set true, if item is shown in visualization and false if it is not shown
DESCRIPTION of LoadForceVector
Details
The load vector acts on a body or node via the local (bodyFixed = True
) or global coordinates of a body or at a node.
The marker transforms the (translational) force via the according jacobian matrix of the object (or node) to object (or node) coordinates.
Userfunction: loadVectorUserFunction(mbs, t, loadVector)
A user function, which computes the force vector depending on time and object parameters, which is hereafter applied to object or node.
arguments / return
|
type or size
|
description
|
---|---|---|
mbs |
MainSystem
|
provides MainSystem mbs to which load belongs
|
t |
Real
|
current time in mbs
|
loadVector |
Vector3D
|
\({\mathbf{f}}\) copied from object; WARNING: this parameter does not work in combination with static computation, as it is changed by the solver over step time
|
returnValue
|
Vector3D
|
computed force vector
|
User function example:
from math import sin, cos, pi
def UFforce(mbs, t, loadVector):
return [loadVector[0]*sin(t*10*2*pi),0,0]
Relevant Examples and TestModels with weblink:
interactiveTutorial.py (Examples/), pendulumVerify.py (Examples/), ROSMassPoint.py (Examples/), solutionViewerTest.py (Examples/), SpringDamperMassUserFunction.py (Examples/), ANCFcantileverTest.py (Examples/), ANCFcantileverTestDyn.py (Examples/), ANCFcontactCircle.py (Examples/), ANCFcontactCircle2.py (Examples/), ANCFmovingRigidbody.py (Examples/), ANCFrotatingCable2D.py (Examples/), ANCFslidingJoint2D.py (Examples/), perf3DRigidBodies.py (TestModels/), plotSensorTest.py (TestModels/), revoluteJointPrismaticJointTest.py (TestModels/)
The web version may not be complete. For details, consider also the Exudyn PDF documentation : theDoc.pdf