Frequently the analysis of cyclic loading is required to examine the influence of stress redistributions in structures. This type of analysis is used to see if the stresses are safely alleviated by cyclic plasticity, or if ratcheting strains can develop. These calculations are very costly because many loading increments are typically carried out for each cycle, and there may be hundreds of cycles of simulation. In Zebulon, cycle based solution extrapolation is available to greatly accelerate this type of calculation.
An example is given below for an axisymmetric specimen with non-uniform thermal loading and fixed end displacement. Due to thermal strain, the initial heating causes rapid compressive stress, and plasticity. Continued cycling relaxes the stress by redistribution of a plastic "ball" at the center of the specimen. The advancement of the plastic zone means that the simulation is never "steady state" even though the cumulation of evcum at the center axis become quite linear (see below).
This is a plot of the beginning load on the specimen.
The full simulation. In this case 150 cycles were skipped
out of 240 total. More skipping would be possible with a lower
precision...
The cumulation of inelastic strain equivalent with comparison
between the cycle skip method and a full simulation. Note the
automatic calculation of the number of cycles to be skipped
from the ratio of first to second derivative with respect to
cycle.
****calcul ***make_restart_file *time 221.0 *file before_skip.rst % % These are the solution steps.. one pre-load sequence followed % by 240 cycles with 60. second cycle time. % ***resolution **sequence *time 1. *increment 1 **cycles 240 *dtime 10. 20. 10. 20. *increment 2 3 6 4 *ratio 0.1 *algorithm p1p2p3 % % Use the Taylor series cycle skipping method. % **skip_cycles taylor_series *precision 0.1 *during_cycles 6 290 *use_sequence 1 *extrapolate_from 1 2 3 *check_with_component evcum % % Parameter sections are also known as field variables. any number % are possible, and numerous formats are available for loading them % % file ../Identify/thermal1.node was copied to mechanical.data % rec_size is the number of nodes % ***parameter **file temperature *node *rec_size 757 *cycle_conversion 1. 1.e20 60.0 0. uniform 23.0 function 1.0+cycle*60.0; file mechanical.data 20 function 1.0+ 10.0+cycle*60.0; file mechanical.data 5 function 1.0+ 14.0+cycle*60.0; file mechanical.data 6 function 1.0+ 18.0+cycle*60.0; file mechanical.data 7 function 1.0+ 22.0+cycle*60.0; file mechanical.data 8 function 1.0+ 26.0+cycle*60.0; file mechanical.data 9 function 1.0+ 30.0+cycle*60.0; file mechanical.data 10 function 1.0+ 32.0+cycle*60.0; file mechanical.data 11 function 1.0+ 34.0+cycle*60.0; file mechanical.data 12 function 1.0+ 36.0+cycle*60.0; file mechanical.data 13 function 1.0+ 38.0+cycle*60.0; file mechanical.data 14 function 1.0+ 40.0+cycle*60.0; file mechanical.data 15 function 1.0+ 44.0+cycle*60.0; file mechanical.data 16 function 1.0+ 48.0+cycle*60.0; file mechanical.data 17 function 1.0+ 52.0+cycle*60.0; file mechanical.data 18 function 1.0+ 56.0+cycle*60.0; file mechanical.data 19 function 1.0+ 60.0+cycle*60.0; file mechanical.data 20 % % left bottom and top are node sets.. simple BCs here % ***bc **impose_nodal_dof left U1 0.0 bottom U2 0.0 top U2 0.0 ***material *file mechanical.inp *integration theta_method_a 0.5 1.e-9 100 % % This output is used for the contour plots.. % The skip point is output % ***output **frequency *sequence 1 **save_parameter **contour **value_at_integration **curve look.test *nset_var top U2 *node_var couple1 temperature *node_var couple2 temperature *node_extrapolated 1 evcum % % This output generates curve data during the computation % so we don't have to post-process every time. % ***output none **curve mechanical.test *nset_var top U2 *node_var couple1 temperature *node_var couple2 temperature *node_extrapolated 1 evcum *node_extrapolated 64 evcum *node_extrapolated 468 evcum *node_extrapolated 513 evcum ****return % % Elasto-viscoplastic material with thermal strain, % and kinematic hardening % ***behavior gen_evp **elasticity isotropic young temperature 68.e3 20.0 63.e3 200.0 51.e3 300.0 45.e3 400.0 poisson 0.33 **thermal_strain isotropic alpha temperature 21.4e-6 20.0 23.0e-6 200.0 23.7e-6 300.0 24.2e-6 400.0 **potential gen_evp ev *flow norton K temperature 300. 20.0 260. 200.0 180. 300.0 150. 400.0 n temperature 10. 20.0 11. 200.0 15.5 300.0 12.0 400.0 *isotropic constant R0 temperature 56. 20.0 19. 200.0 4. 300.0 4. 400.0 *kinematic nonlinear C temperature 35000. 20.0 70000. 200.0 2300. 300.0 1000. 400.0 D temperature 460. 20.0 1300. 200.0 320. 300.0 120. 400.0 ***return