MotionView MDL models can be exported to an DADS .fm3 file.
This section explains how MotionView works with gravity, units, and solver parameters for DADS.
Gravity is an implicit dataset meaning that its definition is created automatically by MotionView. The values for gravity can be accessed through the DataSets panel while in the Misc system of a model. The default values for gravity are set in the std_inc file that is part of the MotionView installation.
Although MotionView is a "unitless" interface, it is often required that the units you are working in be communicated to the solver input deck. Therefore, the definitions of mass, length, time, and force are automatically generated by MotionView. To access this, go to the Forms panel and select Units under the Misc system. The default values are generated from the std_inc file.
Solver parameters vary considerably between different solvers and are stored in data sets. There are two ways to generate the solver parameter data sets.
• | Data sets and their corresponding forms are created within an analysis task within the MDL library. If you construct your own MDL library, make sure that the solver parameter data sets are defined in each analysis task. |
• | No library is used to construct a model. This includes interactive model construction and the manual editing of .mdl files, or a combination of both. For this case, MotionView automatically generates the system containing the solver parameters based on a definition within the std_inc file. |
The mapping between MDL and the corresponding DADS entities are described below.
Note: | All property data for these entities are set in corresponding *Set() statements |
MDL Statement |
DADS Entity |
---|---|
*ActionOnlyForce() |
TPF, Curve* (time func only) |
*ActionReactionForce() |
TPF, Curve* (time func only) |
*AtPointJoint() |
Spherical |
*BallJoint() |
Spherical |
*Beam() |
Beam (Euler-Bernoulli) |
*Body() |
Rigid Body |
*Bush() |
Bushing |
*CoilSpring() |
TSDA |
*ControlSISO() |
- |
*Coupler() |
Relative Constraint |
*Curve() |
Curve |
*CVJoint() |
Sph+1 Rel Constraint(Angle) |
*CylJoint() |
Cylindrical |
*FixedJoint() |
Bracket |
*Graphic() |
none |
*InlineJoint() |
Bracket, Exclude DOF 3456 |
*InplaneJoint() |
Dot2 Constraint |
*Marker() |
Triad |
*Motion() |
Driver |
*OrientJoint() |
Bracket, Exclude DOF 123 |
*Output() |
none |
*ParallelAxisJoint() |
Bracket, Exclude DOF 1236 |
*PerpAxisJoint() |
Dot1 Constraint |
*PlanarJoint() |
Bracket, Exclude DOF 126 |
*Polybeam() |
Beams (Euler-Bernoulli) |
*RevJoint() |
Revolute |
*SolverArray() |
none |
*SolverDiffEquation() |
none |
*SolverString() |
none |
*SolverVariables() |
none |
*TorsionSpring() |
RSDA |
*TransJoint() |
Translational |
*UniversalJoint() |
Universal |
CommandSets do not apply to the DADS solver.
Templex templates can be used to export syntax directly to the solver input deck, including parametric substitution if required. For the DADS solver, there is a dependency on the position of the syntax within the solver input deck. Four keywords, listed below, allow you to position the extra text. These keywords are required to be the first line of the Templex template. The remaining text of the template is written according to the position specified.
<@DADS/MODEL/HEAD> |
The text to be written at the top of the model data. |
<@DADS/MODEL/TAIL> |
Indicates the end of the model data. |
<@DADS/HISTO/HEAD> |
Indicates top of the history data. |
<@DADS/HISTO/TAIL> |
Indicates the end of the history data. |
One MDL model can be used to export to more than one solver. In this case, create the instance of the Templex template using the solvermode reserved keyword.
For example, an MDL model containing:
if( solvermode == "DADS" )
*Template(.....1...)
else
*Template(.....2...)
endif
results in the entire template 1 to be used when DADS is selected from the Solvers menu. When another solver is selected, template 2 is used. When a templates is used, it means that it is displayed in the interface on the Templates panel and is acted upon when saving the solver input deck.
To use the keyword, put the required string in the first line of the template. For example, an MDL model containing:
*DefineTemplate(........)
<@DADS/MODEL/HEAD>
text for dads
*EndDefine()
results in "text for dads" being exported to the input deck when you select DADS as the solver. The same applies for the portion of template that is displayed in the user interface.
A Templex template can have several destinations as well as unique default behavior.
• | A USER template does not get exported into any solver file but can be useful for getting parametrically based text into another file (by using the Templex open and close commands) or for text targeted for the GUI only. |
• | A SOLVER_INPUT template results in the template text being exported to the .fm3 file for DADS. |
The following templates do not apply to the DADS solver:
• | SOLVER_PARAM |
• | GRAPHICS |
• | ADAMS |
• | ACF |
CommandSets do not apply to the DADS solver.
Function expressions contained within MDL entities do not map to the DADS solver.
User subroutines do not apply to DADS. Entities with a reference to user subs are not used when exporting to the solver input deck.
MotionView allows you to launch a process automatically after the solver input deck is exported. One or more of the launch scripts can be registered through the preferences.mvw file and subsequently selected from the Run panel by using the *RegisterSolverScript() preference statement.
DADS post-processing is described below:
To animate the results of an DADS run which was performed on a model exported directly from MotionView, go to the Load Model panel in the animation window. Select the MDL model for the Model field and the bin file for the Result field.
This method automatically captures all graphics that were set up in the pre-processed model. Animation depends on a mapping, which holds as long as no extra bodies were added in Templex templates, or edited manually in the .inp file.
To plot results from an Abaqus run, read the DADS bin file directly into the plot window.