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 all the valid 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 |
|
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. |
|
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. |
|
Applies frictional forces in a joint. |
|
Creates a 3D graphic of a portion of a cone. |
|
Specifies a user defined general constraint. |
|
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. |
|
Represents a publisher client for MQTT communication. |
|
Represents 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 |
|
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 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
SimulationEvent
or use theModel.simulate
method with thereturnResults
set to True. This instructs msolve to store the results to aSimulationResults
object.Use the
SimulationResults.asDataFrame
method to get the results as a dictionary of Pandas dataframes, or,Use the
SimulationResults.getObject
method, specifying the entity whose results are to be extracted. This entity can be aBody
, aRequest
, or aRv
. AResultObject
is created, which can be one ofBodyResult
,FlexBodyResult
,PointMassResult
,RequestResult
, orRvResult
, depending on the entity.Use one of the methods
ResultObject.getStep
,ResultObject.getDataFrame
,ResultObject.getComponent
to 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 container class 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 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 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 |