User Tools

Site Tools


appendices:a20

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 using the Fortran EXTRAPOL program along with the attached Python script. The code is available on the GitLab

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 (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$. The calculation of $N_j$ must be implemented by the user in the EXTRAPOL program.
$N_i$ is defined according to the units (= 0 for constant $N_i$, = 1 for definition by block).

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 or 3 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

If IDENT ≥ 10

See specific definitions here.

Line 4 or 5 (1 integer)
NPARNumber of parameters used for the user-defined computation of $N_j$
≤ 50
Line 5 or 6
Param(1:NPAR) Parameters for the user-defined calculation of $N_j$. Parameters can be integers of double precision.

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, 1, or 2) - The elements and state variables for which one wishes a linear extrapolation during the jump are defined by the user
= XX2 (X can be 0, 1, or 2) - The elements defined on the following lines will have their variables extrapolated through a user-defined method
= 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
= X2X (X can be 0, 1, or 2) - The nodes defined on the following lines will have their nodal values extrapolated through a user-defined method
= 1XX (X can be 0 or 1) = The reactions for which one wishes a linear extrapolation during the jump are defined by the user
> 222 - User-defined method of extrapolation

For 0 < METHO < 222

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 units = 2 (XX2)

Line 1
NGR Number of groups of elements defined.

The following lines are repeated NGR times:

Line 1 (3 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
Nmetho Identification number of of the user-defined extrapolation method
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

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)
NnodGR Number of subgroups of nodes; a subgroup of nodes can consist of 1 node or multiple consecutive nodes.
NnodTOT Total number of nodes in the group
NvalGRNumber of subgroups of nodal values (as defined in CONEC). A subgroup of nodal values can consist of 1 nodal value or multiple consecutive nodal values.
NvalTOT Total number of nodal values in the group
Line 2 - repeated NnodGR times (2 integers)
Inod(i) First node of the subgroup
Inod(i+1) Last node of the subgroup
= 0 if subgroup consists of 1 element
Line NnodGR+2 - repeated NvalGR times (2 integers)
IVAl(i) First nodal value of the subgroup. The nodal value is identified by the number ipcon=(icone-1)*nspac+ispac (see Appendix 22: Structure of CONEC)
IVAl(i+1) Last nodal value of the subgroup
= 0 if subgroup consists of 1 element

If hundreds = 1 (1XX)

Line 1 (2 integers)
NGR_rea Number of groups of reactions defined.
Nreatot Total number of reactions.
Line 2 - repeated NGR_rea times (2 integers)
Irea(i)First reaction number of the subgroup (from REAC vector)
Irea(i+1)Last reaction of the subgroup
= 0 if subgroup consists of 1 element
appendices/a20.txt · Last modified: 2022/09/30 09:49 by helene