Model Module#
Model Class#
The Model class serves as a container for all the entities that comprise
a MotionSolve model. Interacting with the model is possible through the numerous
methods that are listed below.
| Defines a control command for one or more simulations. | |
| Generate a state space representation of the model in the form of state matrices A, B, C, and D in the desired format. | |
| Perform eigen-analysis of the model, generate eigenvalues and mode shapes. | |
| Performs a frequency response analysis of the model | |
| Creates plt and animation h3d files. | |
| Reset the model. | |
| Run SimulationEvent objects sequentially. | |
| Saves a snapshot of the model. | |
| Sends the model to the solver and runs the simulation. | |
| Sends the model to solver and performs a verification analysis. | 
Model Entities#
The entities listed below are used to create your model. These elements co-exist
under the Model class and interact with each other in well-defined ways
in order to represent a realistic multibody system.
| Defines the acceleration due to gravity along the global X, Y, and Z directions. | |
| Generates an arc graphic defined by a center marker, a radius or reference marker, and an angle. | |
| Specifies a list of instances of type  | |
| Defines a straight, massless beam of uniform cross-section acting between two Markers, i and j that belong to two different bodies. | |
| Creates a rectangular 3D graphic. | |
| Defines a massless bushing between two Markers, i and j that belong to two different bodies. | |
| Creates a force element which establishes linear force-displacement (stiffness) and/or force-velocity (damping) relationships between markers connected by higher-pair constraints. | |
| Creates a circle graphic defined by a center marker and a radius. | |
| Performs a one-/two-way coupled Leader/Follower simulation by instantiating separate MotionSolve processes. | |
| Defines a 3-D contact force between geometries on two rigid or flexible bodies. | |
| Defines an algebraic relationship between the degrees of freedom of two or three joints. | |
| Defines a parametric curve in 3D space. | |
| Creates a curve graphic that represents a  | |
| Defines a (Curve to Curve) higher pair constraint. | |
| Defines a (Curve to Surface) higher pair constraint. | |
| Creates a 3D graphic with straight parallel sides and a  circular cross-section along the z-axis of the cm  | |
| Creates a contact force between two instances of  | |
| Creates a contact force between a  | |
| Outputs data that helps you debug your simulation. | |
| Specifies a deformable curve that is made to pass through the origins of a specified set of markers, using CUBIC spline interpolation. | |
| Creates a curve graphic that represents a  | |
| Specifies a deformable surface that is made to pass through the origins of a specified set of markers, using CUBIC spline interpolation. | |
| Creates a surface graphic that represents a  | |
| Creates a user-defined state variable and defines a first-order differential equation that describes it. | |
| Creates a contact force between two  | |
| Defines a special type of solver state variable. | |
| Creates a 3D graphic where its cross-sectional planes consist of ellipses or  circles, with the center aligned to the cm  | |
| Specifies error tolerances and other parameters for static and quasi-static equilibrium analyses. | |
| Creates a graphic object defined using an external file. | |
| Applies a translational and rotational action-reaction force between two markers. | |
| Defines a flexible body object in MotionSolve. | |
| Creates a Functional Mock-up Interface used for Model Exchange and Co-Simulation. | |
| Creates an arrow representing a force acting on the specified entity. | |
| Defines a frequency excitation. | |
| Applies frictional forces in a joint. | |
| Creates a 3D graphic of a portion of a cone. | |
| Specifies a user defined general constraint. | |
| Creates a contact force between a  | |
| Creates a contact force between a  | |
| Defines a gear constraint between two bodies. | |
| Defines a general force and torque acting between two markers. | |
| Defines a set of nodal coordinates in 3D space. | |
| Defines a generic dynamic system. | |
| Defines the parameters for the animation output file. | |
| Specifies parameters that control the dynamic analysis integrator. | |
| Creates an idealized connector between two bodies. | |
| Removes degrees of freedom between two bodies by specifying conditions in which the relative translational or rotational motion can occur. | |
| Creates a graphic that connects a number of vertices with straight lines. | |
| Specifies the solver parameters that control the linear analysis. | |
| Defines a linear dynamic system. | |
| Defines an orthonormal, right-handed coordinate system and reference frame in MotionSolve. | |
| Specifies general mating constraints between geometric primitives based on | |
| Defines a general, real-valued, M x N matrix for use in MotionSolve. | |
| Defines a distributed force on a  | |
| Specifies a system degree of freedom as an explicit function of time. | |
| Defines a publisher for MQTT communication. | |
| Defines a subscriber client for MQTT communication. | |
| Creates a multi-point force element which establishes linear force-displacement (stiffness) and/or force-velocity (damping) relationships between many markers. | |
| Creates a set of flexible body properties with the goal to more accurately capture the mode shapes based on Predictive Component Mode Synthesis theory. | |
| Creates line segments between the various cm  | |
| Specifies if the plt, abf, mrf files are to be generated during the solver run. | |
| Defines a rigid body object in MotionSolve. | |
| Defines a penalty force whose purpose is to maintain a soft constraint in the system. | |
| Defines the inputs (type  | |
| Creates a plane graphic expressed in respect to the rm  | |
| Base class for  | |
| Creates a graphic point located at the origin of the reference  | |
| Defines an entity that has mass but no inertia properties. | |
| Defines a list of outputs (type  | |
| Defines a sensor between two bodies which monitors their minimum separation. | |
| Creates a container for Solver Variables that are used in generating a linear representation of a model about an operating point. | |
| Defines a (Point to Curve) higher pair constraint. | |
| Defines a (Point to Deformable Curve) higher pair constraint. | |
| Creates a contact force between a  | |
| Defines a (Point to Deformable Surface) higher pair constraint. | |
| Creates a soft constraint (force) that attempts to maintain a   | |
| Defines a (Point to Surface) higher pair constraint. | |
| Defines an output request entity in MotionSolve. | |
| Defines a special type of solver state variable. | |
| Defines a Scope Plot. | |
| Defines an event sensor in the model. | |
| Defines a force or torque acting between two  | |
| Defines a (Surface to Surface) higher pair constraint. | |
| Defines an event in MotionSolve and adds it to a list. | |
| Creates a 3D graphic whose plane sections are circles and cm  | |
| Defines spline with two or three independent variables. | |
| Defines a spring damper acting between two  | |
| Creates a spring damper geometry. | |
| Defines a user defined text string in MotionSolve. | |
| Defines a parametric surface element in 3D space. | |
| Creates a surface graphic that represents a  | |
| Defines a transfer function as a ratio of two polynomials in the Laplace domain. | |
| Specifies parameters that control the time-domain-based nonlinear dynamic analysis. | |
| Creates a graphic object defined using 'Nodes' and 'Faces'. | |
| Defines the units for the model. | |
| Defines a user-written Post-Subroutine. | |
| Creates a user-defined (Grasub) geometry. | |
| Defines a user-written Message-Subroutine. | |
| Defines a variable in terms of a scalar algebraic equation in MotionSolve. | |
| Defines a vector force that consists of three orthogonal components. | |
| Defines a vector torque that consists of three orthogonal components. | |
| Creates a Force State Equation. | 
Result Objects#
msolve has special classes and methods to extract and store the results of a simulation. These objects provide a practical and convenient platform for post-processing.
The following process map explains the different ways you can obtain the results of a simulation.
 
Comments
- Run a - SimulationEventor use the- Model.simulatemethod with the- returnResultsset to True. This instructs msolve to store the results to a- SimulationResultsobject.
- Use the - SimulationResults.asDataFramemethod to get the results as a dictionary of Pandas dataframes, or,
- Use the - SimulationResults.getObjectmethod, specifying the entity whose results are to be extracted. This entity can be a- Body, a- Request, or a- Rv. A- ResultObjectis created, which can be one of- BodyResult,- FlexBodyResult,- PointMassResult,- RequestResult, or- RvResult, depending on the entity.
- Use one of the methods - ResultObject.getStep,- ResultObject.getDataFrame,- ResultObject.getComponentto extract the numerical data of the entity.
Note
There is a wide range of libraries available in python for data post-processing, that can be used in conjunction with msolve.
| Container object that encloses all the results from a single simulation. | |
| A list that can be used to store, serialize and de-serialize SimulationResults for cross plotting. | |
| Base class for all the result objects of a simulation. | |
| Contains all the results associated with a single Part of the model. | |
| Contains results associated with a single FlexBody of the model. | |
| Contains all the results associated with a single Part of the model in a FrequencyResponse simulation for Rigid, Flexible and PointMass bodies. | |
| Contains all the results associated with a single PointMass of the model. | |
| Contains all the results associated with a single Request of the model. | |
| Contains all the results associated with a single Rv of the model. | 
Base Classes#
Base classes are used in class derivation. They group model entities according to their functionality and they cannot be used standalone.
| Base class for analysis settings objects. | |
| Base class for Body objects. | |
| Base class for command objects. | |
| Base class for constraint objects. | |
| Base class for force objects. | |
| Base class for generic modeling elements. | |
| Base class for graphic objects. | |
| Base class for  | |
| Base class for reference data objects. | |
| Base class for output objects. | 
Class Aliases#
Class aliases are alternative names for specific model entities.
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  | 
| 
 | alias of  |