This manual provides a detailed list and usage information regarding command statements, model statements, functions and
the Subroutine Interface available in MotionSolve.
Model ElementCoupler defines an algebraic relationship between the degrees of freedom of two or three joints. This constraint element
may be used to model idealized spur gears, rack and pinion gears, and differentials as simple constraints that relate
the displacements in a set of joints.
Model ElementThe DeformCurve element allows you to represent a curve defined in the model as a DeformableCurve element. The graphic is defined by a number of straight line segments connecting vertices on the curve defined by
DeformableCurve reference.
Model ElementThe DeformSurface element allows you to represent a deformable surface defined in the model as a DeformSurface element. The graphic is defined by a number of straight line segments connecting vertices on the surface defined
by DeformSurface reference.
Model ElementDv defines a special type of solver state variable. It is used in the evaluation and computation of design sensitivity
as a design parameter. Its value is modified during the simulation in case of Design Sensitivity Analysis.
Model ElementEquilibrium defines the solution control parameters for Static and Quasi-static analysis. These parameters control the accuracy
the solution and the method to be used for solution.
Model ElementField defines a force and torque acting between two markers, I and J. The force and torque can only be a function of time
and the relative displacement between the I and J markers. The six components (three forces and three moments) are defined
in the coordinate system of the J marker.
Model ElementFlexBody defines a flexible body object in MotionSolve. This entity has mass and inertia properties, like a rigid body. In addition, it has flexibility properties that
allow it to deform under loads.
Model ElementThe Friction element is used to specify joint friction in a specific joint in your model. Friction is supported only in the following
types of joints: revolute, spherical, translational, cylindrical and universal. MotionSolve uses the LuGre (Lundt-Grenoble) model for friction.
Model ElementThe Frustumelement allows you to represent the portion of a cone that remains after its upper part has been cut off by a plane
parallel to its base, or that is intercepted between two such planes.
Model ElementThe GCON element is used to specify a user defined general constraint. Your constraint equations may involve position as well
as velocity measures of the system. Although MotionSolve provides a large set of constraints to choose from (see JOINT), there are situations that require non-standard constraints.
Model ElementGse is an abstract modeling element that defines a generic dynamic system. The dynamic system is characterized by a vector
of inputs u, a vector of dynamic states x, and a vector of outputs y. The state vector x is defined through a set of differential equations.
Model ElementJprim is used to remove degrees of freedom between two bodies by specifying
conditions in which the relative translational or rotational motion can occur. Jprim differs from JOINT in that the former specifies mathematical constraints, which may not have
concrete physical realizations like the latter.
Model ElementThe LineMesh element connects a number of vertices in space with straight lines. It is similar to the Outline element except it does not require markers. You can pass coordinates to the LineMesh geometry.
Model ElementMarker defines an orthonormal, right-handed coordinate system and reference frame in MotionSolve. A Marker must belong to a part. The body can be any type: rigid, flexible, or point.
Model ElementMate is used to specify general mating constraints between geometric
primitives. Mate differs from JOINT and JPRIM in that it specifies more general constraints based on distance, tangency,
and coincidence relations between mating
geometries.
Model ElementNforce defines a force and torque acting between many markers. The force and the torque can only be linear functions of
the relative displacement and velocity of the various markers.
Model ElementThe ParamCurve element allows you to represent a curve defined in the model as a Curve element. The graphic is defined by a number of straight line segments connecting vertices on the curve defined by
Curve reference.
Model ElementPtcv defines a higher pair constraint. A fixed point on one body slides on a curve that is fixed on a second body. The
point is not allowed to lift off the curve.
Model ElementPTSF defines a higher pair constraint. A fixed point on one body slides on a surface that is fixed on a second body. The
point is not allowed to lift off the surface.
Model ElementRv defines a special type of solver state variable. It is used in the evaluation and computation of design sensitivity
as a response variable.
Model ElementSfsf defines a higher pair constraint. The constraint consists of a surface on one body rolling and sliding on a surface
on a second body. The surfaces are required to have a unique contact point.
Model ElementThe UserMsg element allows you to control the output of MotionSolve messages. Any message that MotionSolve prints to standard output goes through the
This manual provides a detailed list and usage information regarding command statements, model statements, functions and
the Subroutine Interface available in MotionSolve.
Model ElementThe Point_Mass is an entity that has mass but no inertia
properties.
Class Name
Point_Mass
Description
Three translational coordinates characterize the position of the
Point_Mass. By default, the orientation of the
Point_Mass is set to be the same as the global coordinate
system. It never changes during simulation. Markers on Point_Mass
may have location and orientation coordinates. The orientation of these Markers does
not change during the simulation.
Attribute Summary
Name
Property
Modifiable by
command?
Designable?
id
Int
()
label
Str
()
qg
Location (Point())
Yes
zg
Location ()
Yes
xg
Location ()
Yes
zv
Location ()
Yes
xv
Location ()
Yes
reuler
Angles ()
Yes
mass
Double ()
Yes
Yes
cm
Reference ("Marker")
Yes
vx
Double (None)
Yes
FD Only
vy
Double (None)
Yes
FD Only
vz
Double (None)
Yes
FD Only
exact
Exact ()
function
Function ("MASS_READ")
routine
Routine ()
Usage
Point_Mass (optional_attributes)
Attributes
id
Integer
Specifies the element identification number. This number must be unique
among all the Point_Mass objects in the model.
This attribute is optional. MotionSolve will
automatically create an ID when one is not specified.
Range of values: id > 0
label
String
Specifies the name of the Point_Mass object.
This attribute is optional. When not specified, MotionSolve will create a label for you.
mass
Double
Specifies the mass of the Point_Mass object.
The attribute mass is optional. If a
Point_Mass is fully constrained and you are not
interested in the constraint forces, then mass needs not to be specified.
When not specified, mass is set to zero.
Valid range of values: mass ≥ 0.0
cm
Reference to a Marker
Specifies the Marker that is located at the
center-of-mass of the PART.
The attribute cm is optional. If a
Point_Mass is fully constrained and you are not
interested in the constraint forces, then mass and inertia need not to be
specified. When these are not specified, you must not specify
cm.
Note: In order to remove circular
references, the body is created in two steps. First the body is defined
without a CM marker. Then the CM attribute is explicitly
defined.
qg
A Location object or a list of three doubles.
Specifies the coordinates of local part reference Marker. This Marker is
used as the reference coordinate system for all Markers defined on this
Point_Mass.
The qg attribute is optional. When not specified, it is
assumed to be coincident with the global origin, (0, 0, 0).
zg
A Location object or a list of three doubles.
Specifies the coordinates of a point on the z-axis of the local part
reference Marker. This Marker is used as the reference coordinate system for
all Markers defined on this Point_Mass.
The zg attribute is optional. When not specified, the
point is assumed to be on the global z-axis.
The zg/xg attribute is exclusive to
zv/xv, reuler,
and function. Only one of them may be specified.
xg
A Location object or a list of three doubles.
Specifies the coordinates of a point on the x-axis of the local part
reference Marker. This Marker is used as the coordinate system for all
Markers defined on this Point_Mass.
The xg attribute is optional. When not specified, the
point is assumed to be on the global x-axis.
The zg/xg attribute is exclusive to
zv/xv, reuler,
and function. Only one of them may be specified.
zv
A Location object or a list of threedoubles.
Specifies the z-axis of the local part reference Marker. This Marker is
used as the reference coordinate system for all Markers defined on this
Part.
The zv attribute is optional. When not specified, the
z-axis is assumed to be the global z-axis.
The zv/xv attribute is exclusive
to zg/xg,
reuler, and function. Only one
of them may be specified.
xv
A Location object or a list of three doubles.
Specifies the x-axis of the local part reference Marker. This Marker is used
as the coordinate system for all Markers defined on this
Part.
The xv attribute is optional. When not specified, the
x-axis is assumed to be the global x-axis.
The
zv/xv attribute is exclusive
to zg/xg,
reuler, and function. Only one
of them may be specified.
reuler
A list of three doubles.
Specifies the body-fixed 3-1-3 Euler angles of the local part reference
Marker with respect to the global coordinate system. This Marker is used as
the reference coordinate system for all Markers defined on this
Point_Mass.
The reuler attribute is optional. When not specified, it
is assumed to be (0,0,0), in other words, the local part reference Marker
has the same orientation as the global coordinate system.
The reuler attribute is exclusive to
function and
zg/xg. Only one of them may be
specified.
function
String
Specifies the list of parameters that are passed from the data file to the
user-written defined.
The attribute function is optional.
The function attribute is exclusive to
reuler and
zg/xg. Only one of them may be
specified.
routine
String or a pointer to a function.
Specifies an alternative name for the user subroutine.
The attribute routine is optional. The default name of
the user subroutine is MASS_READ.
vx
Double
Specifies the initial translational velocity of the PART
along the global x-axis.
The vx attribute is optional.
When not specified, MotionSolve will
perform an internal computation to ensure that all
Point_Mass velocities are consistent with the
first time derivative of the constraints.
When specified, MotionSolve will try to
maintain the value specified as it perform the internal computation
to ensure that all Point_Mass velocities are
consistent with the first time derivative of the constraints.
vy
Double
Specifies the initial translational velocity of the PART
along the global y-axis.
The vy attribute is optional.
When not specified, MotionSolve will
perform an internal computation to ensure that all
Point_Mass velocities are consistent with the
first time derivative of the constraints.
When specified, MotionSolve will try to
maintain the value specified as it perform the internal computation
to ensure that all Point_Mass velocities are
consistent with the first time derivative of the constraints.
vz
Double
Specifies the initial translational velocity of the PART
along the global z-axis.
The vz attribute is optional.
When not specified, MotionSolve will
perform an internal computation to ensure that all
Point_Mass velocities are consistent with the
first time derivative of the constraints.
When specified, MotionSolve will try to
maintain the value specified as it perform the internal computation to
ensure that all Point_Mass velocities are consistent
with the first time derivative of the constraints.
exact
Example
Referring to the 3-body problem in the XML Reference, specify the Sun as a
Point_Mass.
sun = Point_Mass (Label="SUN", mass=3.328e5, vx=0, vy=0, vz=0)
sun.cm = Marker (body=sun, label="Sun’s center") #location defaults to [0,0,0]
Referring to the 3-body problem in the XML Reference, specify the Earth as a
Point_Mass.