**load
#
Description#
This command defines a segment of loading for the simulation. The load commands are executed in the order they appear, and there can be any number of loads for the problem. Blocks of loading defined seperately are usefull to change control, or apply cycles in between single segements of loading.
The command looses some coherence in an attempt to give additional options, and due to the fundimental difference in the loading for fem behaviors and the generalized simulator models.
Syntax#
Simulation loading is given with the following syntax:
**load
[cycle
] ncycle
\(~\,\) *rate
var rate for
dval
\(~\,\) *rate
var rate stop_at
break_var dval dtime
\(~\,\) *segment rate
[num]
\(~\,\) *segment
[ num ]
\(~\,~\,\) loading table
\(~\,\) *file
filename num
The cycle
keyword indicates that the loading is to be repeated a
given number of times. This may also be useful in the rate loading case
for switching between rates (see example following).
- num
The number of output points between each given loading segment in the loading table.
- ncycle
The number of times the loading segment will be run in the event of the
cycle
keyword.- loading table
a tabular form which describes the loading for the simulation. The table should have
time
as the first column, followed by an appropriate list of imposed variables. For tensor loading with fem behaviors, the size of the behavior (dimension) will be determined from the number of components given. Thus giving 4 variables in small deformation will give 2D behavior, while 6 gives 3D. Note that some models like the crystal potentials require 3D and thus 6 componnets to be given. External parameters are imposed at this level as well, using the prefixed nameingparam:
var_name. Note: initial values are required.*rate
this option is used for rate loading in the generalized simulator only (i.e. not for fem behaviors). The command allows simple rate loading to be defined for a given duration (with the
for
keyword), or with breakpoints which are to be determined (withstop_at
).*segment
a segment of loading. The optional keyword
rate
indicates that values are in rate form.*file
indicates that the loading table will be given in the external ASCII file with name given by filename. The syntax is exactly that desribed by loading table above. Note if you use FEM output from a
**curve
option the leading pound sign must be removed from the variable list.
Example#
An example with multiple load segments and cycles follows. Note that the second load segment uses a time variable offset by the ending of the first segment.
****simulate
***test biaxe
**load
*segment time sig11 sig22 sig33 sig12
0.0 0.0 0.0 0.0 0.0
1. 0. 100.0 0. 0.0
**load cycle 4
*segment
time sig11 sig22 sig33 eto12
0.0 0.0 100.0 0.0 0.0
1.0 0.0 100.0 0.0 0.02
3.0 0.0 100.0 0.0 -0.02
4.0 0.0 100.0 0.0 0.0
**model
*file biaxe.sim
*integration runge_kutta 1.e-3 1.e-3
**output time eto22 sig22 eto12 sig12 evcum
****return
The second example imposes an external parameter temperature
which
can be used in the behavior through variable coefficients or a
parametric strain definition.
****simulate
***test genevp_variable_temp
**load
*segment time sig11 sig22 sig33 sig12 param:temperature
0.0 0.0 0.0 0.0 0.0 0.0
1.0 0.0 210.0 0. 0.0 0.0
2.0 0.0 210.0 0. 0.0 100.0
**model
*file genevp_variable_temp.sim
*integration runge_kutta 1.e-2
**output time eto22 epcum sig22 temperature R0 C sig::mises
****return
Another useful loading employes the rate form to convienantly give a pre-loading, followed by an anternating strain rate:
****simulate
***test rate_loading
**load
*segment 5
time sig11 eto22 sig33 sig12
0.0 0. 0. 0. 0.
1000. 0. 0.01 0. 0.
**load cycle 8
*segment rate 5
time sig11 eto22 sig33 sig12
4. 0. 0.004 0. 0.
400. 0. 0.004 0. 0.
**model
*file rate_loading.sim
*integration runge_kutta 5.e-2
**output time eto22 sig22
****return