====== Execution data for automatic strategy ====== ---- ===== 1st line (14I5) - Starting and saving files ===== ^Variable^Values^Description^ |NTIN5|= 2,3, or 16| File from which data are recovered at the beginning of the present execution| |NTOUT10|= 2 or 3| File on which the results of the present execution will be saved (NTIN and \\ NTOUT can be the same file)| |KNSYM15|= 1|Matrice d'itération non symétrique stockée en mémoire centrale (NSYSOL) - Méthode peu performante| |:::|= 2| Matrice symétrique, hauteur de colonne active stockée en mémoire centrale (COLSOL) - Méthode optimale pour les problèmes symétriques| |:::|= 3|Morse storage, METIS renumbering, Direct Solver LU symbolic and real factorization| |:::|= 4|Skyline storage, Direct solver LU| |:::|= 5|Idem as method 3, with parallel real factorization (CAESAR library)| |:::|= 6|GMRES method coupling with incomplete LU preconditionner, \\ Morse storage (see [[appendices:a19|appendix 19]])| |:::|= 8|Parallel solver SOLVE_DSS| |:::|= 9|Morse storage, PARDISO renumbering, Direct Solver LU symbolic and real factorization| |:::|= ±10|Iterative solver with mixed constraint preconditioner (GMRES or BiCGstab methods) → see [[appendices:a22|appendix 22]]| |IPRES20| = 0|if FMULT = DMULT = 0 : the strategy is based on time \\ If FMULT = 0 and DMULT ≠ 0 : the strategy is based on displacements \\ If FMULT ≠ 0 et DMULT = 0 : the strategy is based on forces \\ If FMULT ≠ 0 and DMULT ≠ 0 : impossible| |:::|≠ 0|The strategy is based on time| |:::|= 1, 3, 13, 18, 38|read imposed DOF on file 31 ({namdat}.dep) (see [[appendices:a2|appendix 2]]) \\ Rem.: If you add 100 (e.g. 101 or 103), idem but with a special strategy adapted to large DEP files (computation time always smaller but does not work with the periodic loading or other special cases)| |:::|= 2, 3, 28, 38| read imposed forces on file 32 ({namdat}.loa) (see [[appendices:a2|appendix 2]])| |:::|= 8, 18, 28, 38| read force multiplier FMULT and displacement multiplier DMULT on file 33 ({namdat}.lic) (see [[appendices:a3|appendix 3]])| |:::|= 10, 11 or 13 |read imposed relations between the D.O.F. of generalized plane strain state on file 36 (see [[appendices:a13|appendix 13]]).| |:::|= 11, 12 or 13|read geometry of cylinders in generalized plane strain state on file 35 (see [[appendices:a13|appendix 13]])| |:::|= 19|read macroscopic strain (or vector L) for periodic limit boundary conditions. (see [[appendices:a16|appendix 16]]) → file *.DEM (n°30)| |IDENT25| = 0|No call of PRISUM and PRISIG and OCASFO routines| |:::|≠ 0 | Call of routines PRISUM and PRISIG (see [[lagamex:auto#Note|Note]]) + Lagamine inverse if IOPT≠0| |:::|= 9999|Computes and saves the reactions following the 3 DOF (X, Y, T, in X, Y, Z according to the analysis type) for the first THREE foundations, according to time (format: 10(1PG10.3), compatible with DESCOU)| |:::|= 9998|Computes and saves the sum of the reactions DOF by DOF| |IDSPE30|= 0|No effect| |:::|= 2|Superposition of spectral bands| |IARCL35|= 0|No effect| |:::|> 0|Method with spherical step (see [[lagamex:autosph|spherical steps]])| |ICCOR40|= 0|Nothing| |IOPT45|= 0|Normal analyze| |:::|= 1 or 2|Optimization of parameters by inverse method| |IADREM50| = 0|Nothing| |:::|= 1|Adaptative remeshing| |NOWAR55| = 0|Normal printing in ex.out| |:::|= 1|Do not print warning ( WARNING - ELEMB TERME DIAGONAL NO XXX NUL OU NEGATIF) in ex.out. This option is especially useful when using switch to reduce the size of ex.out| |IPCRED60| = ???|Phi-C reduction method| === Note === PRISUM: to print and to treat nodal values (coord, velocities, reactions, …) according to the user's personal choice \\ PRISIG: to print and to treat values at integration points (stresses, state variables, …) according to the user's personal choice ---- ===== 2nd line (18A4) - Title ===== ---- ===== 3rd line (14I5) - Strategy control data ===== |ISTEP5|N° of the first step to be computed in the present execution| |JSTEP10|= -1 for automatic strategy| |:::|= (-2 for the automatic strategy using a variable FACMU)| |:::|= -3 for the automatic strategy using a variable FACMU (see [[lagamex:auto#(1) Signification of JSTEP|(1)]])| |ISAME15|Maximum number of steps to perform during the present execution (including the steps that did not converge and were subsequently reduces) \\ If = -1, no maximum defined (especially useful in large dynamic explicit simulations where the number of steps is known in advance)…| |ISAVE20|= -1 saving on NTOUT| |:::|= 0 no result save. The configuration at the beginning of the step is saved in the CONECOLD vector (NUMNP, NSPAC, NCONE)| |:::|= n saving on the file NTOUT once every n steps. Only the last saved step is kept (the previous ones are deleted). The purpose is to speed up the simulation by reducing the access to the disk. \\ In that case, PRISIG and PRISUM are only called when a saving on the file NTOUT occurs| |IOLD25|N° of the set of results from which the present execution will start (in case of NTIN=OTO)| |ISTR(1)30|The tangent matrix is recomputed at the following iterations: \\ ISTR1, ISTR2, ISTR2+ISTR3, ISTR2+2*ISTR3, ..., ISTR2+K*ISTR3| |ISTR(2)35|:::| |ISTR(3)40|:::| |MAXIT45|Maximum number of iterations per step. Default value : 5| |NSWIT50|= 0 No switch| |:::|= 1 read switch data on NTSWI file (see [[appendices:a4|appendix 4]])| |NEXPT55|= 0 in dynamic analysis, implicit scheme| |:::|< 0 in dynamic analysis, explicit scheme| |:::|= n > 0 in dynamic analysis, mixed scheme; steps n, 2n, 3n are implicit, the others are explicit| |NPRIT60|= 0 no particular printing of nodal values (on file .IPN), element integration points values (on file .IPE) or reactions values (on file .IPR)| |:::|= 1 reading of the file .PRI, for printing concerning nodal values (on file .IPN), element integration points values (on file .IPE) or reactions values (on file .IPR) - see [[appendices:a9|appendix 9]]| |ILSAV65|= 0 nothing| |:::|= 1 change of ALSAV format to G15.0| |:::|= 2 ALSAV defined cyclically (see [[lagamex:auto#Last lines|Last lines]])| === (1) Signification of JSTEP === **JSTEP = -2** : FACMU is variable and is not defined by STRAT(8) \\ **JSTEP = -3** : \\ __In case of good convergence (step increasing):__ \\ At step k, we have FACMU=$\left(\frac{N_{opt}}{N_{k-1}}\right)^{1/n_\alpha}$, where $N_{k-1}$ is the number of iterations of the step k-1. The more $n_\alpha$ = NALPHA (defined later) is near to 1, greater is the influence of the number of iterations of the preceding step. \\ Nopt = NSAMEX (defined later) if NSAMEX is positive. \\ Nopt = ITCOM1 if NSAMEX is negative. ITCOM1 is the average number of iterations by step.\\ If FACMU so obtained is greater than STRAT(8) then FACMU = STRAT(8). \\ \\ __In case of bad convergence (step decreasing) :__ \\ At step k, we have \[FACMU =\frac{\left(\frac{N_{opt}}{N_{k-1}}\right)^{1/n_\alpha}}{\sqrt{1+NONCODV(1+GAMMAU)}}\] where $N_{k-1}$ is the number of iterations of the step k-1. The more $n_\alpha$ = NALPHA (defined later) is near to 1, greater is the influence of the number of iterations of the preceding step. \\ Nopt = NSAMEX (defined later) if NSAMEX is positive. \\ Nopt = ITCOM1 if NSAMEX is negative. ITCOM1 is the average number of iterations by step (Min value =3). \\ NONCODV is the number of diverged iterations. \\ $GAMMAU = DMAX\left(\frac{CONVE}{PRECF},\frac{CONVD}{PRECU}\right)$ \\ If FACMU so obtained is greater than STRAT(8) then FACMU = STRAT(8). ---- ===== 4th line (14I5) ===== |ISTRA(3)5|**elepls** \\ → __unity__ \\ = 1 integration with initial VGRAD (default value) \\ = 2 integration with actualized VGRAD \\ = 3 integration with average value of VGRAD on the step (optimal value) \\ Be carreful: = -1 if law Dafalias; -3 if law Cloe \\ not used for PLA2EA and ELLI2EA because defined as parameter in the law| |:::|**Law ARB** \\ → __tens__ \\ Mechanical or coupled ARB law integrated according to: \\ = 0 return mapping method \\ = 1 Li Kaiping method \\ = 2 old method \\ → __hundreds__ \\ Coupled ARB law \\ = 1 parameters computed at the average temperature of the step \\ = 0 parameters computed at the average temperature of the sub-interval| |:::|**Law [[laws:evp-nh|EVP-NH]]** (Norton-Hoff 2D or 3D) \\ → __unity__ \\ = 0 Resolution method with the analytical matrix \\ = 1 Resolution method by perturbations \\ → __tens__ \\ = 0 Resolution method using VGRADmean \\ = 1 Resolution method using VGRADinitial| |:::|**JET2D** \\ → __hundreds__ \\ = 0 Jaumann corotational method \\ = 1 GREEN-NAGHDI corot. method (total corot. description) \\ = 2 GREEN-NAGHDI corot. method (updated corot. description)| |ISTRA(4)10|Only for contact elements \\ → __unity__: Penalty method \\ = 0 Tangent stiffness matrix computed analytically \\ = 1 Tangent stiffness matrix computed by perturbation \\ = 2 In case of contact between two deformable solids, the skyline and the size of the global stiffness matrix are updated according to the evolution of the effective contact surface and the analytical method is used \\ = 3 same as 2, but the numerical matrix is used \\ → __tens__: Augmented lagrangian method for the CNTCP \\ = 0 augmentation is realized at the beginning of the step| |ISTRA(5)15|For plane shell elements only AND mechanical analysis \\ = 0 no effect \\ = 1 elastic unloading (laws ILYSH and HILSH) \\ :!: In case of thermo-mechanical analysis, ISTRA(5) is used for automatic step reduction (ISTRA(5)=1 leads to step reduction)| |ISTRA(6)20|NTNOR: Choice of a norm for convergence on nodal forces| |:::| = 0 average of the squares: \[\sqrt{\frac{\displaystyle\sum_{DIM}\frac{\displaystyle\sum_{DIR} \frac{FHE^2}{NEQUA}}{\displaystyle\sum_{DIR} \frac{REACT^2}{NREAC}}}{NDIM}}\]| |:::| = 1 average of the absolute values: \[\frac{\displaystyle\sum_{DIM}\frac{\displaystyle\sum_{DIR} \frac{|FHE|}{NEQUA}}{\displaystyle\sum_{DIR} \frac{|REACT|}{NREAC}}}{NDIM}\]| |:::|= 2 average of the maximum values: \[\frac{\displaystyle\sum_{DIM}\frac{\displaystyle\max_{DIR} \frac{|FHE|}{NEQUA}}{\displaystyle\max_{DIR} \frac{|REACT|}{NREAC}}}{NDIM}\]| |ISTRA(7)25|__If JSTEP = -1__: \\ = NSAMEX - The step amplitude is multiplied by FACMU after NSAMEX "well converged" steps \\ Default value = 2 \\ __If JSTEP = -3__: \\ = NOPTI - the optimum iteration number per step if JSTEP=-3 (if NOPTI= - 1, the optimum number will be the average of the number of iterations per step) | |ISTRA(8)30|NCFMAX - The norm of convergence may increase NCFMAX times during the iterations of the current step before reducing the step. \\ Default value = 1| |ISTRA(9)35|NCDMAX - Idem for the displacements| |ISTRA(10)40|NREDV - Number of step reductions before deciding to try with all the initial velocities for the current step equal to zero \\ Default value = 100000| |NALPHA45| Exponent inverse for the computation of FACMU \\ Default value = 3| |MAXDMIN50| Maximum number of step that can be performed with the minimum value of the multiplier DMINMU \\ If 0, default value = 10 \\ If –1, no step with minimum value DMINMU allowed (stops immediately)| |IASYN55|Asynchronous step (see Fred Pascon)| |NEG_PIVOT60| ≠ 0 Reduce the time step (ISTRA(20)=1) as soon as a diagonal term (pivot) of the stiffness matrix is negative or zero instead of just printing a warning in the NT6 file (*ex.out)1. So far, this is only programmed for the resolution method KNSYM=4 \\ This has been added because sometimes, when a time step is diverging, the node positions “explodes”. This increases the out-of-balance force F and the reaction norm R but the ratio F/R may not increase, hence not satisfying the criteria for reducing the time step. If the nodes diverge too much, the elements are too distorted and some diagonal terms of the stiffness matrix become negative. In that case, the simulation may stop because of a “Math error”| ---- ===== 5th line (7G10.0) ===== === For mechanical analysis === |STRAT(1)10|≈Δε|Perturbation for the computation of compliance matrix or stiffness matrix by the perturbation technique (use 10-5 to 10-8)| === For thermal analysis === |STRAT(2)20|θ|Time integration parameter ∈ [0,1]. Integration scheme is stable if θ ≥ 0.5| |STRAT(3)30|β|Second time integration parameter| __Note:__ \\ |Galerkin |θ = 2/3 |β = 1/6 or 2/9| |Zienkiewicz |θ = 1/2| β= 1/6 | |Cranck-Nicolson |θ = 1/2| β = 1/4 | |Implicit| θ = 1| β = 0 | The integration scheme is made of two parts : \\ - the first one (θ) is about the referencial time for the energy balance \\ - the second one (β) is about the referencial time for the material parameters\\ which gives : \[ σ^{t+1} = [(1-θ-β) ALAMX + β ALBMX] ε^{t} + [β ALAMX + (θ-β) ALBMX] ε^{t+1} \] Where ALAMX represent material properties at time t and ALBMX at t+1 === For seepage pollutant flow transport with fixed mesh and Eulerian Lagrangian method (ICRIT=3): === STRAT(4)40 to STRAT(7)70 === For dynamic analysis === Newmark parameters $\beta$ and $\gamma$ (see [[appendices:a10|Appendix 10]]) \\ If $\beta < 0$: $\beta=(1+\alpha)^2/4$ and $\gamma=0.5+\alpha k$ (better compromise between stability, numerical damping and frequency distortion $0 \leq \alpha \leq 1$ and $0 \leq k \leq 0.5$) |STRAT(2)20|if > 0 → $\beta$ \\ if < 0 → $- \alpha$|| |STRAT(3)30|if STRAT(2) > 0 → $\gamma$ \\ else $k$|| |STRAT(4)40|Damping coefficent α| C = αM + βK \\ For dynamic implicit (or mixed) simulations, used in routines \\ DYJT3D for 8-nodes brick elements and DYCQJ4 for COQJ4| |STRAT(4)40|Damping coefficent β|:::| === For any type of analysis === |STRAT(6)60|REDUF - out-of-balance forces reduction parameters = numerical damping, use to achieve convergence in difficult cases with cyclic oscillations; 0,2 means that 80 % of the out-of-balance forces are taken into account. \\ REDUF can decrease in function of the iteration number. \\ If STRAT(6) < 1, REDUF remains constant. \\ Else the integer part gives the final number of iteration before the REDUF becomes null and the decimal part gives the initial value of the STRAT(6) \\ Example : If STRAT(6) =6,6 => STRAT(6)(ITER=1)=0.6 and STRAT(6)(ITER=6)=0.0 and REDUF = 1 - STRAT(6) {{ :lagamex:lagamex_reduf.png |}}| |STRAT(7)70|DMAX - maximum penetration distance in case of contact (used to avoid "false contact") \\ Default value: 1D+30| |DMIN_FOUND80|In 3D contact (CFI3D element or contact element associated with shell element COQJ4), this parameter is used as the minimum size of the foundations limits (i.e. if the element is not in the limits, the routine is not called). \\ Default value: maximum size of foundation limit divided by 100| ---- ===== 6th line - Automatic strategy and errors (7G10.0) ===== |STRAT(8)10|FACMU : the step size is multiplied by FACMU in case of good convergence \\ Default value = 2 \\ If JSTEP=-3: FACMUMAX - maximum value of the multiplier FACMU| |STRAT(9)20|ALAMBF - Final value of the accumulated multiplier of imposed forces or displacements or times| |STRAT(10)30|DMINMU - Minimum value of the multiplier of imposed forces or displacements or times. If this value is achieved, the program stops. \\ Default value DMINMU = 10-6 * (ALAMBF-ALAMBI)| |STRAT(11)40|DMAXMU - Maximum value of the multiplier of imposed forces or displacements or times. \\ Default value DMAXMU = (ALAMBF-ALAMBI)/100 where ALAMBI = the initial value of the multiplier of the imposed forces or displacements or times. It is determined by the program from the set of results from which the execution starts| |STRAT(12)50|If ICRIT = 2 or 5: % max new "elements" to be remeshed __from the last remeshing__ \\ Else ETASM %max admissible error on stresses| |STRAT(13)60|ETAGM % max admissible error on geometric remeshing criteria| |STRAT(14)70|μ with 0 < μ < 1 used for dynamic analysis. The stable time step (Δts) for the explicit dynamic analysis is automatically computed by LAGAMINE; it is multiplied by μ to obtain the size of the next time step : Δt = μΔts Nevertheless, if Δt > DMAXMU -> Δt = DMAXMU ; if Δt < DMINMU -> the program stops.| ---- ===== 7th line - Convergence parameters (7G10.0) ===== In the computation of the norm for convergence, the reference efforts (REACT in norm on nodal forces) or reference displacement (DNOR in norm on displacements) can be defined using STRAT(15) to STRAT(20). \\ If these values are equal to zero, the convergence norms are __relative__, it is generally the case. \\ \\ If these values are negative, the convergence norms are generally relatives except if the reaction norm (dimension per dimension) is smaller than the value introduced hereafter. In this case, the norm becomes absolute for the considered dimension. It is then a limit value, a minimum of the reaction norms. \\ For a detailed explanation, see [[appendices:a15|Appendix 15]]. |STRAT(15)10|Mechanical force| |STRAT(16)20|Nodal flux/Fluid flux in soil mechanics| |STRAT(17)30|Moments/Thermal flux in soil mechanics | |STRAT(18)40|Displacement| |STRAT(19)50|Variation of temperature/Fluid pressure variations in soil mechanics| |STRAT(20)60|Rotation/Temperature variations in soil mechanics| |STRAT(21)70|In case of remeshing, minimum interpenetration distance| ---- ===== 8th line (and 9th if required) - Printing control (15I5/14I5) ===== Only the data structure is described hereafter. The proposed possibilities are detailed in [[appendices:a1|appendix 1]]. The 9th line is only necessary if IOPT(I) equals to 2, 3 or 5. |IOPT(I) \\ I=1,15| Printing option| |LISTE(14) |Definition of the list of nodes or elements selected for printing, if required| ---- ===== 9th (or 10th) line - Definition of increments (5G10.0, 5I5) ===== |DELTAT10|Time increment (initial value at start of simulation)| |FMULT20|Increment of the imposed or implicit force multiplier (initial value)| |DMULT30|Increment of the imposed displacements multiplier (initial value)| |PRECU40|Precision for convergence on displacements increments| |PRECF50|Precision for out-of-balance forces| |INITV55|Initialization of speeds at the beginning of the step (see [[appendices:a10|Appendix 10]] for dynamic case) \\ = 0 speeds of the preceding step \\ = 1 all the speeds are equal to zero at the beginning of the step until the time increment increases (classical method) \\ = 4 all the speeds are equal to zero at the beginning of the step (idem 1 but for ever) \\ = 5 all the speeds are equal to zero at the beginning of the first step| |ISTR(I)60, 65, 70 \\ I=1,3|Iterations where the stiffness matrix is computed. If the values are equal to zero, the initial definitions are used again| |IPRECT75|= 0 Convergence is obtained as far as one of the criteria (force or displacement) is achieved \\ = 1 Convergence is obtained when both criteria are achieved \\ = 2 Convergence is obtained when the displacement criterion is achieved \\ = 3 Convergence is obtained when the force criterion is achieved \\ = -1 in linear analysis, convergence is imposed after a resolution| ---- ===== 10th (or 11th) line ===== One blank line ---- ===== Last lines ===== Repeat max 15000 times. :!: Over 15000 times this can lead to problems in the execution such as wrong value of DMAXMU. ==== IF ILSAV = 0 (2G10.0, I5, G10.0) ==== |ALSAV10|Multiplier of the imposed forces or displacements for which one wishes a printing according to IOPT and a saving on NRESU (oto file)| |DELTAT_OTO20|If ≠ 0, new value of the time step after a saving on NRESU| |INIT_OTO25|If = 1, reset the nodal speed to 0 until good convergence| |DMAXMU_OTO35|If ≠ 0, new value of the DMAXMU (max. value of the multiplier, see 6th line, col. 40) after a saving on NRESU \\ If = 0, DMAXMU is restored to its initial value| A blank line indicates the end of the data. \\ After the last multiplier (when the time is bigger than the largest value of ALSAV), it saves all the steps. \\ :!: do NOT put a zero in the list (otherwise, the rest of the list will be skipped and every step will be saved) ==== IF ILSAV = 1 (G15.0, G10.0, I5, G10.0) ==== |ALSAV10|Multiplier of the imposed forces or displacements for which one wishes a printing according to IOPT and a saving on NRESU (oto file)| |DELTAT_OTO20|If ≠ 0, new value of the time step after a saving on NRESU| |INIT_OTO25|If = 1, reset the nodal speed to 0 until good convergence| |DMAXMU_OTO35|If ≠ 0, new value of the DMAXMU (max. value of the multiplier, see 6th line, col. 40) after a saving on NRESU \\ If = 0, DMAXMU is restored to its initial value| A blank line indicates the end of the data. \\ After the last multiplier (when the time is bigger than the largest value of ALSAV), it saves all the steps. \\ :!: do NOT put a zero in the list (otherwise, the rest of the list will be skipped and every step will be saved) ==== If ILSAV = 2 ==== ILSAV = 2 allows to define the printing times cyclically. This is particularly useful for cyclic loadings in combination with the use cyclic definition in the .LOA or .DEP file (see [[appendices:a2|Appendix 2: Non radial loading paths (1)]]). ^1st line (G10.0, I5)^^ |Period| Period of the cyclic definition for printing| |NTIME| Number of printings per period| ^Line 2 to NTIME + 1 (G10.0)^^ |ti|Time at which one wishes a printing. \\ A printing will be made for every time ti+K*Period as long as that time