Interfacing with Abaqus
Overview of how the MotionView applications interface with the Abaqus solver.
Guidelines for Exporting MDL Model Files to Abaqus
MotionView MDL models can be exported to an Abaqus .inp file.
Gravity, Units, and Solver Parameters
- Gravity
- Gravity is an implicit data set, meaning that its definition is created automatically by MotionView. The values for gravity can be accessed through the Forms panel while in the Misc system of a model. Default values for gravity are set in the std_inc file that is part of the MotionView installation. A Templex template is also included in std_inc. This template allows you to write the gravity to the Abaqus input file.
- Units
- Although MotionView is a "unitless" interface, it is often required that the units you are working with be communicated to the solver input deck. Similarly, it may be necessary to ensure that the units are consistent. 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 as well as the Templex template used for exporting units to Abaqus are generated from the std_inc file.
- Solver Parameters
- Solver parameters vary considerably between different solvers and are
stored in datasets. There are two ways to generate solver parameter
datasets:
- Data sets and their corresponding forms are created within the analysis task in the MDL library. If you are creating your own MDL library, you need to verify that the solver parameter datasets 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.
MDL Statement Mapping
Overview of the mapping between MDL and the corresponding Abaqus entities.
MDL Statement | Abaqus Entity |
---|---|
*ActionOnlyForce() | CLOAD, AMPLITUDE (Time Function only) |
*ActionReactionForce() | CLOAD, AMPLITUDE (Time Function only) |
*AtPointJoint() | Joint (Connector Section) |
*BallJoint() | Joint (Connector Section) |
*Beam() | B31(Timoshenko beam) |
*Body() | Rigid Body |
*Bush() | Connector Behavior |
*CoilSpring() | Connector Behavior |
*ControlSISO() | None |
*Coupler() | None |
*Curve() | AMPLITUDE |
*CVJoint() | Joint + Constant Velocity (Connector Section) |
*CylJoint() | Slot + Revolute (Connector Section) |
*FixedJoint() | Weld (Connector Section) |
*Graphic() | None |
*HookeJoint() | Joint+Universal (Connector Section) |
*InlineJoint() | Slot (Connector Section) |
*InplaneJoint() | Slide-Plane (Connector Section) |
*Marker() | NODE + ORIENTATION |
*Motion() | Connector Motion (Time Function only) |
*OrientJoint() | Align (Connector Section) |
*Output() | Output, History |
*ParallelAxisJoint() | Revolute (Connector Section) |
*PerpAxisJoint() | Universal (Connector Section) |
*PlanarJoint() | Slide-Plane + Revolute (Connector Section) |
*Polybeam() | B31(Timoshenko Beam) |
*RevJoint() | Joint + Revolute (Connector Section) |
*SetFlexbodyComplaince() | Substructure Element |
*SolverArray() | None |
*SolverDiffEquation() | None |
*SolverString() | None |
*SolverVariables() | None |
*TorsionSpring() | Connector Behavior |
*TransJoint() | Slot + Align (Connector Section) |
*UniversalJoint() | Joint + Universal (Connector Section) |
MDL CommandSet Mapping
CommandSets do not apply to the Abaqus solver.
Templex Templates and Solvermode
- <@ABAQ/MODEL/HEAD>
- Designates text that is written at the top of the model data.
- <@ABAQ/MODEL/TAIL>
- Indicates the end of the model data.
- <@ABAQ/HISTO/HEAD>
- Indicates the top of the history data.
- <@ABAQ/HISTO/TAIL>
- Indicates the end of the history data.
- <@ABAQ/HISTO/STEP/HEAD>
- Indicates that data will be written at the start of the first step.
- <@ABAQ/HISTO/STEP/TAIL>
- Indicates that data will be written at the end of the first step.
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. This can be done in two ways.
if( solvermode == "Abaqus" )
*Template(.....1...)
else
*Template(.....2...)
endif
Results in the entire template 1 being used when Abaqus is selected from the Solvers menu. When another solver is selected, template 2 is used. When a template 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.
*DefineTemplate(........)
<@ABAQ/MODEL/HEAD>
text for abaqus
*EndDefine()
Results in "text for abaqus" being exported to the input deck when you select Abaqus as the solver. The same applies for the portion of template that is displayed in the user interface.
- Template Types
-
- A Templex template can have several destinations as well as a 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 .inp file for Abaqus.
CommandSets
CommandSets do not apply to the Abaqus solver.
Function Expressions
MotionView supports function expressions for many of its entities. These expressions can be a function of time and state variables. You can create function expressions that are exported directly as part of a corresponding solver entity.
The solver neutrality is somewhat limited because the solver needs to handle the syntax that MotionView exports. For the Abaqus solver, supported expressions and curves must be a function of time. Expressions that are a function of an axial distance between two points are also supported. MotionView converts these to an XY curve before writing to the input deck.
Flexbodies/Substructures
- Pre-processing
- MotionView allows you to represent an MDL body as an Abaqus substructure. Before implementing the flexbody into an MDL model, you have to create an Abaqus substructure for each component that you plan on representing as a flexbody. (Please see Abaqus help for this process). In addition, you should export an .h3d file of this same component from HyperMesh which will later be used for graphics within MotionView pre-processing. The base name (basename.ext) of the .h3d file must match that of the substructure files for each component.
- Post-processing
- To obtain an animation of the entire model, overlay the animations based
on the .odb files corresponding to each
sub-structure. Overlay one animation consisting of MODEL =
.mdl and RESULTS = .mrf,
where .mrf comes from converting an Abaqus
.fil file using .Note: It is recommended that new bodies are not introduced through Templex templates as doing so can break the mapping required for successful animation.
User Subroutines
User subroutines do not apply to Abaqus. Entities with a reference to user subroutines are not used when exporting to the solver input deck.
Launch Solvers from MotionView
- Post-Processing
- Animation - Transient with Rigid Bodies Only
- Plotting
- To plot results from an Abaqus run, you can use the fil2mrf translator to create an Altair binary format (.abf) file. This file can be loaded directly into the Plot window. The .abf file contains the translational and rotational displacements of all bodies. Any output requests for displacement, velocity and acceleration are written out to the Abaqus ODB file. Output requests of other kinds are not supported.
Define Stiffness and Damping Characteristics for Springs and Bushing Elements
- Constant
- Curve
- Expression
The Abaqus solver does not support expressions. If you use the Abaqus solver, you can only define stiffness and damping characteristics by a constant or curve.
If you define stiffness and damping characteristics by a constant, your model will run correctly using the ADAMS or Abaqus solver.
- Spring Damper - Coil Spring- Stiffness
- Verify that the independent variable does not contain a minus sign, "-", in the expression. Set the characteristic curve with same trend as the curve below:
- Spring Damper - Coil Spring - Damping
- Verify that the independent variable does not contain a minus sign, "-", in the expression. By default, MotionView writes the independent variable with a minus sign, `-{sd_.VR}`, instead of `{sd_.VR}`, as required for a solver independent model. Set the characteristic curve with same trend as the curve below:
- Spring Damper - Torsion Spring - Stiffne
- Verify that the independent variable does not contain a minus sign, "-", in the expression. By default, MotionView writes the independent variable with a minus sign, `-{sd_.AZ}`, instead of `{sd_.AZ}`, as required for a solver independent model. Set the characteristic curve with same trend as the curve below:
- Spring Damper - Torsion Spring - Damping
- Verify that the independent variable does not contained a minus sign, -, in the expression. By default, MotionView writes the independent variable with a minus sign, `-{sd_.WZ}`, instead of `{sd_.WZ}`, as required for a solver independent model. Set the characteristic curve with same trend as the curve below:
- Bushing Elements - Translational Characteristics - Stiffness
- Verify that the independent variable does not contain a minus sign, "-", in the expression. By default, MotionView writes the independent variable with a minus sign, `-{bsh_.DX}`, instead of `{bsh _.DX}`, as required for a solver independent model.
- Bushing Elements - Translational Characteristics - Damping
- Verify that the independent variable does not contain a minus sign, "-", in the expression. By default, MotionView writes the independent variable with a minus sign, `-{bsh_.VX}`, instead of `{bsh_.VX}`, as required for a solver independent model.
- Bushing Elements - Rotational Characteristics - Stiffness
- Verify that the independent variable does not contain a minus sign, "-", in the expression. By default, MotionView writes the independent variable with a minus sign, `-{bsh_.AX}`, instead of `{bsh_.AX}`, as required for a solver independent model.
- Bushing Elements - Rotational Characteristics - Damping
- Verify that the independent variable does not contain a minus sign, "-", in the expression. By default, MotionView writes the independent variable with a minus sign, `-{bsh_.WX}`, instead of `{bsh_.WX}`, as required for a solver independent model.