**process multirange
#
Description#
This post-processor can be used to analyze complex tridimensional loading paths in order to extract and count cycles (rainflow counting). It can only be applied to tensorial input variables.
The method is based upon multisurface theories of plasticity to detect
closed loops (cycles) in the input stress or strain histories and their
corresponding amplitude. It is an extension to the general case of
multiaxial non-proportional loading paths of the well-known “rainflow
technique” conventionally applied to uniaxial loadings. This
post-processor can be used in conjunction with post-processors
post_fatigue_rainflow
(calculation of fatigue life for each
sub-cycle) and rainflow
(cumulation of damage generated by each
sub-cycle).
Syntax#
**process multirange
\(~\,\) *var
name
[ *center
]
[ *reverse
number ]
- name
is the input (tensorial) variable which is the subject of the range calculation.
- number
is the maximum number of sub-cycles given as output (default value is 3). The code gives a warning in the case where the number of cycles detected is greater than the one requested for output.
With the option *center
, the code sends back additionally the center
of the sphere containing the loading path associated with each subcycle.
The output is the following:
ncyc
the number of cycles detected. If the algorithm detects more cycles than the number requested by the*reverse
number keyword, the code returnncyc
= number.for each cycle
i
:D
\(i\)name the amplitude of cycle \(i\) for input variable name,ni
\(i\)name is the number of the output map (within the ones selected by the**output_number
command) corresponding to the beginning of cycle \(i\),nf
\(i\)name is the number of the output map (within the ones selected by the**output_number
command) corresponding to the end of cycle \(i\),optionally if the
*center
keyword is included, the components of tensor C\(i\)name at the center of the sphere including the loading path for cycle \(i\).
Output cycles are stored by decreasing values of amplitude, such that
the most meaningful cycles are included even if the number of requested
cycles (specified by the *reverse
keyword) is smaller than the one
detected by the rainflow algorithm. In the the event where the number of
requested cycles is larger than the one detected, all corresponding
quantities are zero.
Example#
Applying the following commands to the loading path of the above figure:
**output_number 10-14
**process multirange
*var X
*reverse 3
*center
will yield as output:
ncyc
= 2D1X
= 200,ni1X
= 1,nf1X
= 4,C1X11
= 100,C1X22
=0 …D2X
= 100,ni2X
= 1,nf2X
= 3,C2X11
= 150,C2X22
=0 …D3X
= 0,ni3X
= 0,nf3X
= 0,C3X11
= 0,C3X22
=0 …