User Tools

Site Tools


appendices:a20

This is an old revision of the document!


Appendix 20: Cycle jump procedure

The cycle jump procedure can be used to significantly lower computation times in cases of cyclic loading (typically for fatigue). Instead of performing a complete finite-element simulation over all the cycles, groups of cycles can be extrapolated to speed up calculations:

  1. a number of $N_i$ cycles is computed using the finite-element model;
  2. using the results from the last 2 computed cycles, the stresses, deformations, state-variables, reactions, etc. are exrapolated for the next $N_j$ cycles.

These 2 steps are then repeated until the calculation is completed. The number of cycles to be fully calculated $N_i$ and the number of “jumped” cycles $N_j$ can vary during the simulation. One can also pick the results to be extrapolated during the jump.

The cycle jump can be performed with Lagamine usign the Fortran EXTRAPOL program along with the attached Python script.

Structure of the data file

The cycle jump procedure can be used on any cyclic simulation. It is launched using the Python script and requires an additional info file.
The following tables describe the structure of the info file.
Note: With the exception of character strings, the file is not formatted. This means numbers don't need to be put in a specific number of columns, but simply separated by spaces.

1. General information

Line 1 (A255)
LAGname Name of the *.lag file (without the extension)
Line 2 (A255)
DATname Name of the data *.dat file (without the extension)
Line 3 (integer)
ISAVEUnits:
= 1 - saving of the .F03 file after every full calculation of $N_i$ cycles
= 2 - saving of all the .OTO file (NOT IMPLEMENTED)
Tens:
= 1 - saving of the ipx (ipe, ipn, ipr, ipc, and/or ips) result file(s) defined on the next line. The results are concatenated in a file named LAGname_all.ipx. The 1st line of the file containing the columns title (see Appendix 9) is deleted.
If ISAVE≥10 - Line 3b (A255)
List of the file extensions (ipe, ipn, ipr, ipc, and/or ips) the user wishes to record, separated by commas.
Line 4 (2 integers)
T Period of the loading [s]
Tmax Final/Maximum value of the time step (this corresponds to ALAMBF in a classic simulation)

2. Definition of $N_i$ and $N_j$

Line 1
Title Anything can be written here, for instance “Cycle definition”, this is just to make the file easier to read for the user
Line 2
IDENT = 0 - $N_i$ and $N_j$ are kept constant over the whole simulation and defined at the next line
= 1 - $N_i$ and $N_j$ are predefined by blocks. This allows for instance to have low values of $N_j$ at the begining of the simulation and higher values later once the beaviour of the structure is stabilized.
≥ 10 - User-defined calculation of $N_j$ and $N_i$ defined according to the units (= 0 for constant $N_i$, = 1 for definition by block). The calculation of $N_j$ must be implemented by the user in the EXTRAPOL program.

If IDENT % 10 = 0

Line 3 (1 or 2 integers)
$N_i$ Value of the number of cycles for which a complete calculation is done in the Lagamine code
$N_j$ Only if IDENT = 0
Value of the number of jumped cycles

If IDENT % 10 = 1

Line 3 (1 integer)
Nbloc Number of blocks of definition
Line 4 (2 or3 integers) - repeated Nbloc times
Cycmax Number of the last cycle for which this definition of $N_i$ and $N_j$ applies; i.e. the values $N_i$ and $N_j$ defined on this line will be used until cycle Cycmax is reached
$N_i$ Value of the number of cycles for which a complete calculation is done in the Lagamine code
$N_j$ Only if IDENT = 1
Value of the number of jumped cycles

3. Extrapolation method

Line 1
Title Anything can be written here, for instance “Method”; this is just to make the file easier to read for the user
Line 2 (integer)
METHO = 0 - All nodal values, reactions, stresses, and state variables are extrapolated linearly during the jump.
= XX1 (X can be 0 or 1) - The elements and state variables for which one wishes a linear extrapolation during the jump are defined by the user
= X1X (X can be 0 or 1) - The nodal points and nodal values for which one wishes a linear extrapolation during the jump are defined by the user
= 1XX (X can be 0 or 1) = The reactions for which one wishes a linear extrapolation during the jump are defined by the user
≥ 200 - User-defined method of extrapolation

For 0 < METHO < 200

If units = 1 (XX1)

Line 1
NGR Number of groups of {elements/state variables} defined.
This definition by groups allows to only extrapolate specific state variables (including stresses) for different types of elements, or for same-type elements that use different material/thermal laws.

The following lines are repeated NGR times:

Line 1 (4 integers)
NelGR Number of subgroups of elements; a subgroup of elements can consist of 1 element or multiple consecutive elements.
NelTOT Total number of elements in the group
NvarGRNumber of subgroups of variables (as defined in SIGVA). A subgroup of variables can consist of 1 variable or multiple consecutive variables.
NvarTOT Total number of variables in the group
Line 2 - repeated NelGR times (2 integers)
IEL(i) First element of the subgroup
IEL(i+1) Last element of the subgroup
= 0 if subgroup consists of 1 element
Line NelGR+2 - repeated NvarGR times (2 integers)
IVAR(i) First variable of the subgroup; the variable number corresponds to its position in SIGVA
IVAR(i+1) Last element of the subgroup
= 0 if subgroup consists of 1 element

If tens = 1 (X1X)

Line 1
NGRN Number of groups of {nodes/nodal values} defined.
This definition by groups allows to only extrapolate specific nodal values for different nodes

The following lines are repeated NGR times:

Line 1 (4 integers)
NelGR Number of subgroups of elements; a subgroup of elements can consist of 1 element or multiple consecutive elements.
NelTOT Total number of elements in the group
NvarGRNumber of subgroups of variables (as defined in SIGVA). A subgroup of variables can consist of 1 variable or multiple consecutive variables.
NvarTOT Total number of variables in the group
Line 2 - repeated NelGR times (2 integers)
IEL(i) First element of the subgroup
IEL(i+1) Last element of the subgroup
= 0 if subgroup consists of 1 element
Line NelGR+2 - repeated NvarGR times (2 integers)
IVAR(i) First variable of the subgroup
IVAR(i+1) Last element of the subgroup
= 0 if subgroup consists of 1 element
appendices/a20.1637684180.txt.gz · Last modified: 2021/11/23 17:16 by helene