Output: Results
Command ElementThe ResOutput command defines options for output files to be generated by MotionSolve.
Format
<ResOutput
{ mrf_file = { "TRUE" | "FALSE" }
abf_file = { "TRUE" | "FALSE" }
plt_file = { "TRUE" | "FALSE" }
abf_unique_time = { "FIRST" | "LAST" | "ALL" }
plt_unique_time = { "FIRST" | "LAST" | "ALL" }
angle_type = { "YPR" | "EULER_ANGLES" }
flex_vel_acc_output = { "TRUE" | "FALSE" }
contact_gra_output = { "TRUE" | "FALSE" }
cof_file = { "TRUE" | "FALSE" }
capture_max_pd = { "TRUE" | "FALSE" }
req_comment_only = { "TRUE" | "FALSE" }
abf_req_comment_only = { "TRUE" | "FALSE" }
abf_yrequest_label = { "DEFAULT" | "LABEL" | "COMMENT" }
plt_yrequest_label = { "DEFAULT" | "LABEL" | "COMMENT" }
dzero = { "TRUE" | "FALSE" }
vzero = "real"
azero = "real"
fzero = "real"
}
/>
Attributes
- mrf_file
- "TRUE" creates a MRF file, "FALSE" does not. When not specified, the default is TRUE.
- abf_file
- "TRUE" creates an ABF file, "FALSE" does not. When not specified, the default is "TRUE".
- abf_unique_time
- Controls which result is written to the ABF file when there are more than one result data at a single time step. 8
- plt_file
- "TRUE" creates a PLT file, "FALSE" does not. When not specified, the default is "FALSE".
- plt_unique_time
- Controls which result is written to the PLT file when there are more than one result data at a single time step. 8
- angle_type
- Select from "EULER_ANGLES" or "YPR" (Yaw, pitch and roll angles). When not specified, the default is Body Fixed 3-1-3 "EULER_ANGLES".
- flex_vel_acc_output
- Select from "TRUE" or "FALSE" to enable or disable velocity and acceleration output for flexible bodies during a MotionSolve run. When not specified, the default is "FALSE".
- dzero
- Output displacements less than the specified value are set to be equal to zero. The specified value must be greater than zero. When not specified, dzero defaults to 1.0E-12.
- vzero
- Output velocities less than the specified value are set to be equal to zero. The specified value must be greater than zero. When not specified, vzero defaults to 1.0E-12.
- azero
- Output accelerations less than the specified value are set to be equal to zero. The specified value must be greater than zero. When not specified, azero defaults to 1.0E-12.
- fzero
- Output forces less than the specified value are set to be equal to zero. The specified value must be greater than zero. When not specified, fzero defaults to 1.0E-12.
- contact_gra_output
- Select from "TRUE" or "FALSE" to enable or disable contact force vector animation in the .h3d file. When not specified, the default is "TRUE".
- cof_file
- This parameter determines if the contact summary table information is written to the log file and a *.cof ASCII file on disk. Set this to "FALSE" to disable the contact overview table output. 9
- capture_max_pd
- When capture_max_pd is set to "TRUE", MotionSolve monitors and reports the maximum penetration for colliding bodies in between two output steps as defined by the print_interval. 10
- req_comment_only
- This flag controls how the output request names are written to the MRF and ABF files. 11
- abf_req_comment_only
- This flag controls how the output request names are written to the ABF files. This works similar to req_comment_only but only affects the ABF file.
- abf_yrequest_label
- Select from "LABEL" or "COMMENT" to control whether the label or comment of a request should be written as the output request names are written to the ABF files.
- plt_yrequest_label
- Select from "LABEL" or "COMMENT" to control whether the label or comment of a request should be written as the output request names are written to the PLT files.
Example
<ResOutput
mrf_file = "TRUE"
abf_file = "FALSE"
plt_file = "FALSE"
angle type = "YAW_PITCH_ROLL"
flex_vel_acc_output = "TRUE"
contact_gra_output = "TRUE"
/>
Comments
- MRF stands for MotionView Results File. This is a binary file. The solver post-processing module that creates various files such as the PLT file and the H3D output file uses an MRF file as input.
- ABF stands for Altair Binary Format. This file format is optimized for fast plotting of very large data sets. The solver post-processing module generates it after a simulation is completed.
- PLT stands for plot. It is an ASCII file. Its content is quite similar to the Adams REQ file. The main purpose of this ASCII file is to transfer loads from MotionSolve to the Load Summary utility, which then exports them to FEA software for fatigue analysis.
The solver post-processing module generates it after a simulation is completed.
The contents of the PLT file may also be plotted in HyperGraph; however, we recommend that you use the ABF for plotting.
- For any given contact definition, normal and tangential forces for each of the contact locations are optionally saved in the MotionSolve H3D output file. These forces can subsequently be viewed for each time frame in the simulation in HyperView. The contact_gra_output attribute enables this feature.
- "EULER_ANGLES" in ANGLE_TYPE refers to the B 3 1 3 variation of Euler Angles.
- "YPR" in ANGLE_TYPE refers to the B 3 2 1 variation of Euler Angles.
- For more information on Euler Angles, please refer to the
following:
- Classical Mechanics, Herbert Goldstein, Addison-Wesley Pub. Co., 1980, ISBN 0201029189, 978020102918.
- Spacecraft Dynamics, Thomas R. Kane, Stanford University, Peter W. Likins, Lehigh University, David A. Levinson, Lockheed Palo Alto Research Laboratory. Copyright 2005 by the authors.
- In certain cases, there may be more than one result available
at a single data point. For example, consider the following simulation
scenario:
<Simulate analysis_type = "Static" end_time = "0.2" num_step = "2" /> <Simulate analysis_type = "Static" end_time = "0.4" num_step = "2" />
In this case, at t=0.2s, there are two results - one from the last time step of the first quasi-static simulation ending at t=0.2s, and one from the first time step of the second quasi-static simulation starting at t=0.2s. The attributes plt_unique_time and abf_unique_time allow you to control which data is written to the PLT and ABF file, respectively.
Note: The MRF file, by default, always contains all the output data. For example, for the case above, it contains outputs from both the simulations at t=0.2s. - If the cof_file attribute is not set to "FALSE", MotionSolve writes out a contact overview table in the log file as well as
to the disk in the form of a *.cof file.In the contact overview table, for each contact force element, the following are listed:
- I and J graphic IDs
- Maximum penetration depth along with the time of maximum penetration
- Maximum contact force magnitude along with the time at which the maximum contact force was
calculated
A sample contact overview table is shown here:
Contact Graphics ---------------- 90000 "Model-Box 1" 90001 "Model-Sphere 1" 90021 "Model-Box 0" Contact Overview (sorted by MAX_PD / MAX_FORCE) ------------------------------------------------------------------------------- CONTACT I_GRAPHIC J_GRAPHIC MAX_PD (TIME) MAX_FORCE (TIME) ------------------------------------------------------------------------------- 301001 90000 90021 9.994E-01 (1.798E-01) 7.429E+02 (1.798E-01) 301001 90000 90021 9.994E-01 (1.798E-01) 7.429E+02 (1.798E-01) 301001 90001 90021 6.844E-01 (4.192E-02) 4.289E+02 (4.192E-02) 301001 90001 90021 6.844E-01 (4.192E-02) 4.289E+02 (4.192E-02)
The *.cof is an ASCII file that contains, in addition to the above, the following information:
- Contact force element label and full label
- I and J graphic IDs labels and full labels
- Unit of length
- Unit of force
- Time the solver spent on computing each contact
-
MotionSolve writes result information to the MRF, PLT or ABF files
at pre-defined output steps as specified by the print_interval,
print_increment or other attributes. This means that the contact forces,
velocities etc. will be reported at fixed intervals. To capture the contact dynamics in between
this fixed interval, you have two choices:
- First, you can increase the frequency at which MotionSolve reports results from the simulation. However, if the output step size becomes smaller than the solver step size (hmax), the simulation will slow down, since the solver will now run at a maximum step size equal to the output step size. Additionally, running at a finer step size will generate more output data which may lead to an increase in your output file size.
- Alternatively, you may set capture_max_pd to "TRUE". With this,
MotionSolve does the following:
- Between two consecutive output steps t1 and t2, monitor penetrations between all pairs of colliding bodies at all converged steps. Using this information, a maximum penetration for each pair of colliding bodies can be computed between t1 and t2
- If this maximum penetration is larger than the penetration computed at both t1
and t2, then add an additional output step in between t1 and
t2, say t' such that t1 < t' < t2. This output frame
at t' will contain information about the system's states at the time when the maximum
penetration occurred between t1 and t2. If this penetration is smaller
than the penetrations computed at either t1 or t2, then no extra
output step is written to the result files.Note: All non-contact related state information (such as Body information in the MRF, Post Requests in the ABF and PLT, etc.) are also written to the result files at the extra output time, if any.
-
Thus by setting capture_max_pd = "TRUE", you can obtain additional information about the contact events in your model without reducing the output step size. This is useful when you do not know a-priori when the contact event will occur in your model.
Consider the simple example of a ball falling on the ground under gravity as illustrated below.The output step is set to 0.01s, maximum solver step size is 0.001s and the model is simulated for 1s. Default parameters are used for the contact force definitions. Meshed representations are used for both geometries. The ball is expected to come into contact with the ground and bounce a few times before coming to rest on the ground.
The maximum penetration depth between the two bodies is monitored as an output signal. Figure 2 shows the maximum penetration depth plotted against time with capture_max_pd set to "TRUE" and "FALSE".
Zooming in on the first contact at ~0.2s (Figure 3), it can be seen that there is an additional output step at t=0.198s (blue curve). The maximum penetration depth (PD) at t=0.198s is greater than at t=0.19s or t=0.20s, which are the output steps. The same scenario is also observed at the second contact point, at t=~0.38s.
With capture_max_pd set to "FALSE" (red curve), these events when maximum penetration occurs will be omitted from the results as can be seen in the plots above.
- By default, MotionSolve prefixes
all the names of the output requests in the model with a three letter keyword, followed by the
request ID. Since the request ID can change if the MotionView model
is modified, this can lead to inefficiencies in the post-processing part of the design cycle. By
setting req_comment_only to TRUE, MotionSolve does not write the request prefix to the MRF and ABF files. By
doing this, the request names remain constant while plotting them in HyperGraph even if modifications are made to the MotionView model that alter the request IDs. As an example, see below:
<Post_Request id = "70000005" comment = "rg1(Output Body1)" type = "MARKER_FORCE" i_marker_id = "30102080" j_marker_id = "30101080" ref_marker_id = "30101010" />