ObjectMassPoint

A 3D mass point which is attached to a position-based node, usually NodePoint.

Additional information for ObjectMassPoint:

  • This Object has/provides the following types = Body, SingleNoded
  • Requested Node type = Position
  • Short name for Python = MassPoint
  • Short name for Python visualization object = VMassPoint

The item ObjectMassPoint with type = ‘MassPoint’ has the following parameters:

  • name [type = String, default = ‘’]:
    objects’s unique name
  • physicsMass [m, type = UReal, default = 0.]:
    mass [SI:kg] of mass point
  • nodeNumber [n0, type = NodeIndex, default = invalid (-1)]:
    node number (type NodeIndex) for mass point
  • visualization [type = VObjectMassPoint]:
    parameters for visualization of item

The item VObjectMassPoint has the following parameters:

  • show [type = Bool, default = True]:
    set true, if item is shown in visualization and false if it is not shown
  • graphicsData [type = BodyGraphicsData]:
    Structure contains data for body visualization; data is defined in special list / dictionary structure

DESCRIPTION of ObjectMassPoint

The following output variables are available as OutputVariableType in sensors, Get…Output() and other functions:

  • Position: p0config(bv)=r0config+r0ref+I3×30bbv
    global position vector of translated local position; local (body) coordinate system = global coordinate system
  • Displacement: u0config=[q0,q1,q2]configT
    global displacement vector of mass point
  • Velocity: v0config=u˙0config=[q˙0,q˙1,q˙2]configT
    global velocity vector of mass point
  • Acceleration: a0config=u¨0config=[q¨0,q¨1,q¨2]configT
    global acceleration vector of mass point

Definition of quantities

intermediate variables
symbol
description
node position
r0config+r0ref=p0(n0)config
position of mass point which is provided by node n0 in any configuration
node displacement
u0config=r0config=[q0,q1,q2]configT=u0(n0)config
displacement of mass point which is provided by node n0 in any configuration
node velocity
v0config=[q˙0,q˙1,q˙2]configT=v0(n0)config
velocity of mass point which is provided by node n0 in any configuration
transformation matrix
A0b=I3×3
transformation of local body (b) coordinates to global (0) coordinates; this is the constant unit matrix, because local = global coordinates for the mass point
residual forces
f0=[f0,f1,f2]T
residual of all forces on mass point
applied forces
f0a=[f0,f1,f2]T
applied forces (loads, connectors, joint reaction forces, …)

Equations of motion

[m000m000m][q¨0q¨1q¨2]=[f0f1f2].

For example, a LoadCoordinate on coordinate 1 of the node would add a term in f1 on the RHS.

Position-based markers can measure position pconfig. The position jacobian

Jpos=pcur/ccur=[100010000]

transforms the action of global applied forces f0a of position-based markers on the coordinates c

Q=Jposf0a.

MINI EXAMPLE for ObjectMassPoint

 1node = mbs.AddNode(NodePoint(referenceCoordinates = [1,1,0],
 2                             initialCoordinates=[0.5,0,0],
 3                             initialVelocities=[0.5,0,0]))
 4mbs.AddObject(MassPoint(nodeNumber = node, physicsMass=1))
 5
 6#assemble and solve system for default parameters
 7mbs.Assemble()
 8mbs.SolveDynamic()
 9
10#check result
11exudynTestGlobals.testResult = mbs.GetNodeOutput(node, exu.OutputVariableType.Position)[0]
12#final x-coordinate of position shall be 2

Relevant Examples and TestModels with weblink:

The web version may not be complete. For details, consider also the Exudyn PDF documentation : theDoc.pdf