This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
appendices:a20 [2021/11/24 18:14] helene |
appendices:a20 [2022/09/30 09:49] (current) helene [Appendix 20: Cycle jump procedure] |
||
---|---|---|---|
Line 6: | Line 6: | ||
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. \\ | 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. \\ | + | 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 [[https://gitlab.uliege.be/UEE/cycle-jump|GitLab]] \\ |
===== Structure of the data file ===== | ===== 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 cycle jump procedure can be used on any cyclic simulation. It is launched using the Python script and requires an additional info file. \\ | ||
Line 23: | Line 23: | ||
^Line 4 (2 integers)^^ | ^Line 4 (2 integers)^^ | ||
|T| Period of the loading [s]| | |T| Period of the loading [s]| | ||
- | |Tmax| Final/Maximum value of the time step (this corresponds to ALAMBF in a classic simulation)| | + | |Tmax| Final/Maximum value of the time (this corresponds to ALAMBF in a classic simulation)| |
==== 2. Definition of $N_i$ and $N_j$ ==== | ==== 2. Definition of $N_i$ and $N_j$ ==== | ||
Line 30: | Line 30: | ||
^Line 2^^ | ^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.| | |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.| | + | |:::| ≥ 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 === | === If IDENT % 10 = 0 === | ||
Line 39: | Line 39: | ||
^Line 3 (1 integer)^^ | ^Line 3 (1 integer)^^ | ||
|Nbloc| Number of blocks of definition| | |Nbloc| Number of blocks of definition| | ||
- | ^Line 4 (2 or3 integers) - repeated Nbloc times^^ | + | ^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| | |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_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| | |$N_j$| Only if IDENT = 1 \\ Value of the number of jumped cycles| | ||
+ | |||
+ | === If IDENT ≥ 10 === | ||
+ | See specific definitions [[appendices:a20:ident|here]]. | ||
+ | ^Line 4 or 5 (1 integer)^^ | ||
+ | |NPAR|Number 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 ==== | ==== 3. Extrapolation method ==== | ||
Line 49: | Line 56: | ||
^Line 2 (integer) ^^ | ^Line 2 (integer) ^^ | ||
|METHO| = 0 - All nodal values, reactions, stresses, and state variables are extrapolated linearly during the jump.| | |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| | + | |:::| = 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| | + | |:::| = 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| | |:::| = 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| | + | |:::| > 222 - User-defined method of extrapolation| |
- | === For 0 < METHO < 200 === | + | === For 0 < METHO < 222 === |
__If units = 1 (XX1)__ | __If units = 1 (XX1)__ | ||
^Line 1^^ | ^Line 1^^ | ||
Line 69: | Line 76: | ||
|IVAR(i)| First variable of the subgroup; the variable number corresponds to its position in [[appendices:a22|SIGVA]]| | |IVAR(i)| First variable of the subgroup; the variable number corresponds to its position in [[appendices:a22|SIGVA]]| | ||
|IVAR(i+1)| Last element of the subgroup \\ = 0 if subgroup consists of 1 element| | |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)__ | __If tens = 1 (X1X)__ | ||
Line 87: | Line 105: | ||
__If hundreds = 1 (1XX)__ | __If hundreds = 1 (1XX)__ | ||
- | ^Line 1^^ | + | ^Line 1 (2 integers)^^ |
|NGR_rea| Number of groups of reactions defined.| | |NGR_rea| Number of groups of reactions defined.| | ||
+ | |Nreatot| Total number of reactions.| | ||
^Line 2 - repeated NGR_rea times (2 integers)^^ | ^Line 2 - repeated NGR_rea times (2 integers)^^ | ||
|Irea(i)|First reaction number of the subgroup (from REAC vector)| | |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| | |Irea(i+1)|Last reaction of the subgroup \\ = 0 if subgroup consists of 1 element| | ||