Command Element |
||||||||||
Description |
||||||||||
Performs a single simulation. |
||||||||||
Format |
||||||||||
<Simulate analysis_type = "string"
[ start_time = "real" ] [ end_time = "real" ] [ duration = "real" ] [ restart_array_id = "integer" ] [{ num_step = "integer" print_increment = "integer" print_interval = "real" print_array_id = "integer" }] /> |
||||||||||
Attributes |
||||||||||
analysis_type |
Specifies the analysis that is to be performed. Options include:
Only one of the above choices may be made per Simulate command, but you may include multiple Simulate commands to request a sequence of analyses. |
|||||||||
start_time |
Defines the starting value of the independent variable, Time.
|
|||||||||
end_time |
Defines the end time of the simulation. For a valid simulation, end_time > start_time. |
|||||||||
duration |
Defines the duration of the simulation. Use this when you do not know the end_time of your simulation beforehand. duration > 0 |
|||||||||
restart_array_id |
Specifies the ID of the Reference_Array element that contains the time steps at which the integrator is to be restarted. Restarting the integrator results in the integrator history being discarded.
The parameters listed below control the print (output) rate and are mutually exclusive. |
|||||||||
num_steps |
Defines the number of output steps to take between start_time and end_time.
The print interval will be determined as end_time/num_steps. Note that the maximum integrator step size (Param_Transient::h_max) is set to the print_interval if the print_interval is smaller than h_max. |
|||||||||
print_increment |
Specifies the frequency of output in terms of the integrator steps that have been taken. An output is performed when the function MOD (integration_step_number, print_increment) = 0.
|
|||||||||
print_interval |
Defines the time interval between consecutive output steps for plotting and animation output.
Note that the maximum integrator step size (Param_Transient::h_max) is set to the print_interval if the print_interval is smaller than h_max. |
|||||||||
print_array_id |
Defines the ID of the Reference_Array element that contains the time steps at which the output is desired. This attribute is optional. |
|||||||||
Comments |
||||||||||
Decreasing order of precedence: print_increment > num_steps > print_array_id > print_interval |
||||||||||
Example |
||||||||||
The example below demonstrates a Simulate command being used to perform a static equilibrium. <Simulate analysis_type = "static" /> The three examples below demonstrate a Simulate command being used to perform a quasi static simulation. They are all equivalent. |
||||||||||
<Simulate analysis_type = "static" end_time = "9.76" num_steps = "976" /> |
<Simulate analysis_type = "static" end_time = "9.76" print_interval = "0.01" /> |
<Simulate analysis_type = "static" start_time = "0.0" end_time = "9.76" print_interval = "0.01" /> |
||||||||
The example below demonstrates the use of print_array_id to generate unequally spaced outputs. For this simulation, output is generated at Time = 0.0, 0.1, 0.21, 0.33, 0.46, 0.60, 0.75, 0.91, 0.935, 0.95 and 1.0. <Simulate analysis_type = "static" end_time = "1.0" print_array_id = "21" />
<Reference_Array id = "21" type = "PRINT" num_element = "11" > 0.0000000E+00 0.1000000E+00 0.2100000E+00 0.3300000E+00 0.4600000E+00 0.6000000E+00 0.7500000E+00 0.9100000E+02 0.9350000E+02 0.9500000E+00 1.0000000E+00 </Reference_Array> The example below shows the Simulate command being used for a typical transient simulation. <Simulate analysis_type = "transient" end_time = "2.0" num_steps = "1024" /> The example below shows the Simulate command being used in conjunction with the restart_array_id to perform a simulation, but perform restarts at the mentioned times. The integrator is requested to perform a restart at Time = 0.16, 0.25, 0.43, 0.67 and 1.46 seconds. <Simulate analysis_type = "transient" end_time = "2.0" restart_array_id = "17" />
<Reference_Array id = "17" type = "RESTART" num_element = "5" > 0.1600000E+00 0.2500000E+00 0.4300000E+00 0.6700000E+00 1.4600000E+00 </Reference_Array> The example below demonstrates two equivalent ways to perform a static analysis followed by a dynamic analysis. <Simulate <Simulate analysis_type = "static" analysis_type = "static" /> /> <Simulate <Simulate analysis_type = "transient" analysis_type = "transient end_time = "1.5" end_time = "1.5" num_steps = "150" print_increment = "100" /> /> The example below demonstrates a Simulate command being used to perform an assembly analysis. <Simulate analysis_type = "assembly" /> |
Command Element |
|||||||||
Description |
|||||||||
Performs a single simulation. |
|||||||||
Declaration |
|||||||||
def SIMULATE(TYPE="", DURATION=0.0, END=0.0, DTOUT=0.0, STEPS=0, START=0.0, PRINT_INCREMENT=0.0, CONSTR_TOL=0.0, IMPLICIT_DIFF_TOL=0.0): |
|||||||||
Attributes |
|||||||||
TYPE |
Specifies the analysis that is to be performed. Options include:
Only one of the above choices may be made per Simulate command, but you may include multiple Simulate commands to request a sequence of analyses. |
||||||||
DURATION |
Specifies the duration of the analysis. |
||||||||
END |
Defines the end time of the simulation. For a valid simulation, END > START |
||||||||
DTOUT |
Defines the time interval between consecutive output steps for plotting and animation output.
Note that the maximum integrator step size (HMAX) is set to the DTOUT if the DTOUT is smaller than HMAX. |
||||||||
STEPS |
Defines the number of output steps to take between START and END.
The DTOUT will be determined as END/STEPS. Note that the maximum integrator step size (HMAX) is set to the DTOUT if the DTOUT is smaller than HMAX. |
||||||||
START |
Defines the starting value of the independent variable, Time.
|
||||||||
PRINT_INCREMENT |
Specifies the frequency at which the results are required for plotting and animation output. For PRINT_INCREMENT = n, an output is generated at every nth integration step
|
||||||||
CONSTR_TOL |
Defines the accuracy to which the system configuration and motion constraints are to be satisfied at each step. This is used by kinematics and the transient solver in the ODE formulation, but not the DAE form, which has its own tolerance for this. This should be a small positive number.
|
||||||||
IMPLICIT_DIFF_TOL |
Defines the accuracy to which implicit differential equations, such as DIF equations with the IMPLICIT = “TRUE”, are to be satisfied.
|
||||||||
CommentsSee Simulate |
|||||||||
ExampleThe example below demonstrates a Simulate command being used to perform a static equilibrium. SIMULATE(TYPE="STATICS") The three examples below demonstrate a Simulate command being used to perform a quasi static simulation. They are all equivalent. SIMULATE(TYPE="STATICS", END=9.76, STEPS=976) SIMULATE(TYPE="STATICS", END=9.76, DTOUT=0.01) SIMULATE(TYPE="STATICS", END=9.76, DTOUT=0.01, START=0.0) The example below shows the Simulate command being used for a typical transient simulation. SIMULATE(TYPE="TRANSIENT", END=2, STEPS=1024) The example below demonstrates two equivalent ways to perform a static analysis followed by a dynamic analysis. SIMULATE(TYPE="STATICS") SIMULATE(TYPE="TRANSIENT", END=1.5, STEPS=150) The example below demonstrates a Simulate command being used to perform a assembly analysis. SIMULATE(TYPE="ASSEMBLY") The example below demonstrates a Simulate command being used to perform a linear analysis. SIMULATE(TYPE="LINEAR") |