HyperWorks Solvers

Modeling Mechanical Systems

Modeling Mechanical Systems

Previous topic Next topic No expanding text in this topic  

Modeling Mechanical Systems

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

A mechanical system can be thought of as being composed of a set of basic mechanical entities that interact with each other by exchanging energy or information in well-defined ways.  For example, a simple pendulum system is composed of a rigid body connected to the ground by a revolute joint. MotionSolve provides physics-based, mathematical models of such entities and ways to assemble them into realistic models of complex mechanical systems.  It then lets you simulate your models to gain insight into their behavior.

The basic set of mechanical entities in MotionSolve consists of the following eight types of modeling elements:

Mass and inertia elements - Those entities that are characterized by mass and inertia properties.  These entities have volume and therefore a spatial extent associated with them.
Constraints - These elements restrict the behavior of the mass and inertia bearing elements.  Constraints are mathematically represented by algebraic equations.  The overall system is required to satisfy these equations.  Idealized connections between mass and inertia bearing elements are modeled as constraints.
Forces - These elements apply forces to the mass and inertia bearing elements.  The forces may arise from flexible connections such as springs, dampers, and bushings between the bodies.  They may also be used to represent environmental forces, control forces, and contact.
Sensors - These elements are used to define events of interest in a simulation and users’ response to the events.
Controllers - These elements are used to represent control laws and controller logic in mechanical systems.
Reference - These elements are used to create specific property sets that are then used by other elements.  A coordinate system called Reference_Marker is one such entity.
Post - These elements usually do not directly affect the simulation.  They cause the solver to write information into output files for post-processing.
User-subroutines - MotionSolve has an open architecture design, allowing it to be inherently user extensible.  User-subroutines may be used to create many different kinds of user-defined constraints, forces, sensors, controllers, and so on.  User-subroutines may be written in FORTRAN, C, or C++. They are required to be compiled and linked into a DLL (dynamically linked library) or shared library that the solver automatically loads during a simulation.  It then makes calls to specific functions in the DLL as needed.

These elements are building blocks that you can combine to model a variety of mechanical systems.  Subsequent topics provide an overview of each of these elements.  For working examples, see the MotionSolve tutorials.

The table below classifies the modeling elements used in MotionSolve.  The MotionSolve XML language names are used for various entities.

Body Elements

Body_Point, Body_Rigid, Body_Flexible

Constraint Elements

Time Dependent

Motion_Joint, Motion_Marker

 

Time Independent

Joint and Constraint Primitives

Constant_Velocity, Cylindrical, Fixed, Free, Inline, Inplane, Orientation, Parallel_Axes, Perpendicular, Planar, Rack_Pinion, Revolute, Screw, Spherical, Translational, Universal

 

 

Higher Pair and Other Constraints

Constraint_Coupler, Constraint_Gear, Constraint_Mate, Constraint_UserConstr, Constraint_PTCV, Constraint_PTdCV, Constraint_PTSF, Constraint_PTdSF Constraint_CVCV, Constraint_CVSF, Constraint_SFSF, Constraint_General

Force Elements

Force_Beam , Force_Bushing, Force_Contact, Force_Field, Force_FlexModal, Force_Gravity, Force_JointFriction, Force_MultiPoint, Force_PTDSF, Force_Penalty, Force_Scalar_TwoBody, Force_StateEqn, Force_SpringDamper, Force_Vector_OneBody, Force_Vector_TwoBody

Sensor Elements

Sensor_Event, Sensor_Evaluate, Sensor_Proximity

Controller Elements

Control_Diff, Control_PlantInput, Control_PlantOutput, Control_SISO, Control_StateEqn

Reference Elements

Reference_2DCluster, Reference_Array, Reference_DeformCurve, Reference_DeformSurface, Reference_FlexData, Reference_Marker, Reference_Matrix, Reference_ParamCurve, Reference_ParamSurface, Reference_Spline, Reference_String, Reference_Variable

Post-processing Elements

Post_Request, Post_Graphic, Post_UserAPI

Other Elements

JointInitialvel_Cyl, JointInitialvel_Rev, JointInitialvel_Trans

User Subroutines

Modelling Subroutines

ARYSUB, CFFSUB, CNFSUB, Cousub, Couxx, Couxx2, Cursub, Difsub, Dmpsub, Fiesub, GCOSUB, Gfosub, Gsesub, Gsexu, Gsexx, gseyx, gSEYU, MARKER_READ, MATRIX_READ, MESSAGE_SUB, Motsub, POST_SUB, PTdSFSUB, RELSUB, Reqsub, SAVSUB, Sensub, Sevsub, Sfosub, Spline_Read, STRING_READ, Sursub, TUNSUB, Ucosub, Varsub, Vfosub, Vtosub, YFOSUB,

Driver Subroutines

CONSUB

Utility Subroutines

Analysis  Control Subroutines

ANALYS, Datout, Modify

 

Data Access Subroutines

ADD_MASS_PROPERTY, Akispl, BODY_MASS_PROPERTY, Cubspl, CUSFNC, Errmes, FITSPL, FMIN_SLSQP, Get_Full_Matrix_Data, GET_GRAVITY, Get_Matrix_Info,  GET_POST_STATES, Get_Sparse_Matrix_Data, GET_STEP_INFO, Getcpu, GETIDLIST, Getinm, Getint, Getmod, Getslv, Getstm, Getver, Gtaray, Gtcurv, GTINAM, GTONAM, Gtstrg, Gtunts, MODFNC, Modinf, MODSET, Nmodes, QUISPL, RELOAD_MODEL, RELPAR, SAVE_MODEL, SAVPAR, SET_ATTRIBUTE, SET_DAE_ERROR, SET_DAE_HMAX, SET_DISCRETE_INTERFACE, SET_GSE_ALGEBRAIC_EQN, SET_GSE_NONZERO_ENTRY, SUBTRACT_MASS_PROPERTY, Sysary, Sysfnc, Timget, Usrmes, ,
 

 

Setup Subroutines

PUT_MARKER, Put_Spline, Ucomar, Ucovar

 

General Subroutines

Bistop, Cheby, Forcos, Forsin, Havsin, Impact, Istrng, Poly, Rcnvrt, Rstrng, Shf, Step, Step5, STR2DBLARY, STR2INTARY, Sweep, Tcnvrt

A summary of the MotionSolve modeling elements.