diff --git a/VERSION b/VERSION index 9aa2da0e8..b76d77510 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2840-ge1bbaac0 +v2.0.3-2872-g0a2d3046 diff --git a/examples/ConfigFiles/debug.config b/examples/ConfigFiles/debug.config deleted file mode 100644 index 4736c87e1..000000000 --- a/examples/ConfigFiles/debug.config +++ /dev/null @@ -1,24 +0,0 @@ -### debugging parameters ### - -# example: -# -------- -# mesh basic extensive # switches on the "basic" and "extensive" debugging in mesh-related functions/subroutines -# - -debug # debug.f90, possible values: basic, extensive -math # math.f90, possible value: basic -FEsolving # FEsolving.f90, possible value: basic -mesh # mesh.f90, possible value: basic, extensive -material # material.f90, possible values: basic, extensive -lattice # lattice.f90, possible value: basic -constitutive # constitutive_*.f90 possible values: basic, extensive, selective -crystallite # crystallite.f90 possible values: basic, extensive, selective -homogenization # homogenization_*.f90 possible values: basic, extensive, selective -CPFEM # CPFEM.f90 possible values: basic, extensive, selective -spectral # DAMASK_spectral.f90 possible values: basic, fft, restart, divergence, rotation, petsc -marc # MSC.MARC FEM solver possible values: basic -# -# Parameters for selective -element 1 # selected element for debugging (synonymous: "el", "e") -integrationpoint 1 # selected integration point for debugging (synonymous: "ip", "i") -grain 1 # selected grain at ip for debugging (synonymous: "gr", "g") diff --git a/examples/ConfigFiles/debug.yaml b/examples/ConfigFiles/debug.yaml new file mode 100644 index 000000000..49e863695 --- /dev/null +++ b/examples/ConfigFiles/debug.yaml @@ -0,0 +1,20 @@ +### debugging parameters ### +## case sensitive keys +# example: +# -------- +# mesh: [basic, extensive] # switches on the "basic" and "extensive" debugging in mesh-related functions/subroutines +# + +mesh: [basic,extensive] # mesh.f90, possible value: basic, extensive +material: [basic, extensive] # material.f90, possible values: basic, extensive +constitutive: [basic, extensive, selective] # constitutive_*.f90 possible values: basic, extensive, selective +crystallite: [basic, extensive, selective] # crystallite.f90 possible values: basic, extensive, selective +homogenization: [basic, extensive, selective] # homogenization_*.f90 possible values: basic, extensive, selective +cpfem: [basic, extensive, selective] # CPFEM.f90 possible values: basic, extensive, selective +grid: [basic, fft, restart, divergence, rotation, petsc] # DAMASK_spectral.f90 possible values: basic, fft, restart, divergence, rotation, petsc +marc: [basic] # MSC.MARC FEM solver possible values: basic +# +# Parameters for selective +element: 1 # selected element for debugging +integrationpoint: 1 # selected integration point for debugging +grain: 1 # selected grain at ip for debugging diff --git a/examples/ConfigFiles/numerics.config b/examples/ConfigFiles/numerics.config deleted file mode 100644 index ced4ec6f1..000000000 --- a/examples/ConfigFiles/numerics.config +++ /dev/null @@ -1,75 +0,0 @@ -### numerical parameters ### - -relevantStrain 1.0e-7 # strain increment considered significant (used by crystallite to determine whether strain inc is considered significant) -defgradTolerance 1.0e-7 # deviation of deformation gradient that is still allowed (used by CPFEM to determine outdated ffn1) -iJacoStiffness 1 # frequency of stiffness update -iJacoLpresiduum 1 # frequency of Jacobian update of residuum in Lp -pert_Fg 1.0e-7 # deformation gradient perturbation for grain tangent -pert_method 1 # perturbation method (1 = forward, 2 = backward or 3 = central) -integrator 1 # integration method (1 = Fixed Point Iteration, 2 = Euler, 3 = Adaptive Euler, 4 = classical 4th order Runge-Kutta, 5 = 5th order Runge-Kutta Cash-Karp) -integratorStiffness 1 # integration method used for stiffness (1 = Fixed Point Iteration, 2 = Euler, 3 = Adaptive Euler, 4 = classical 4th order Runge-Kutta, 5 = 5th order Runge-Kutta Cash-Karp) -unitlength 1 # physical length of one computational length unit -usepingpong 1 # use the ping pong (collect <-> calc) scheme - -## crystallite numerical parameters ## -nCryst 20 # crystallite loop limit (only for debugging info, loop limit is determined by "subStepMinCryst") -subStepMinCryst 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite -subStepSizeCryst 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1) -stepIncreaseCryst 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1) -nState 10 # state loop limit -nStress 40 # stress loop limit -rTol_crystalliteState 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law) -rTol_crystalliteStress 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum) -aTol_crystalliteStress 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!) -rTol_crystalliteTemperature 1.0e-6 # relative tolerance in crystallite state/temperature loop - -## homogenization numerical parameters ## -nHomog 20 # homogenization loop limit (only for debugging info, loop limit is determined by "subStepMinHomog") -subStepMinHomog 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization -subStepSizeHomog 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1) -stepIncreaseHomog 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1) -nMPstate 10 # materialpoint state loop limit - -## RGC scheme numerical parameters ## -aTol_RGC 1.0e+4 # absolute tolerance of RGC residuum (in Pa) -rTol_RGC 1.0e-3 # relative ... -aMax_RGC 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) -rMax_RGC 1.0e+2 # relative ... -perturbPenalty_RGC 1.0e-7 # perturbation for computing penalty tangent -maxRelaxation_RGC 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) - -relevantMismatch_RGC 1.0e-5 # minimum threshold of mismatch - -viscosityPower_RGC 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme -viscosityModulus_RGC 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity) - # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material -refRelaxationRate_RGC 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) - -maxVolDiscrepancy_RGC 1.0e-5 # maximum allowable relative volume discrepancy -volDiscrepancyMod_RGC 1.0e+12 -discrepancyPower_RGC 5.0 - -random_seed 0 # any integer larger than zero seeds the random generator, otherwise random seeding - -## spectral parameters ## -err_div_tolAbs 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium -err_div_tolRel 5.0e-4 # relative tolerance for fulfillment of stress equilibrium -err_curl_tolAbs 1.0e-12 # absolute tolerance for fulfillment of strain compatibility -err_curl_tolRel 5.0e-4 # relative tolerance for fulfillment of strain compatibility -err_stress_tolAbs 1.0e3 # absolute tolerance for fulfillment of stress BC -err_stress_tolRel 0.01 # relative tolerance for fulfillment of stress BC -fftw_timelimit -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit -rotation_tol 1.0e-12 # tolerance of rotation specified in loadcase, Default 1.0e-12: first guess -fftw_plan_mode FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag -itmax 250 # Maximum iteration number -itmin 2 # Minimum iteration number -maxCutBack 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) -memory_efficient 1 # Precalculate Gamma-operator (81 double per point) -update_gamma 0 # Update Gamma-operator with current dPdF (not possible if memory_efficient=1) -divergence_correction 2 # Use size-independent divergence criterion -spectralsolver basicPETSc # Type of spectral solver (basicPETSc/polarisation) -spectralfilter none # Type of filtering method to mitigate Gibb's phenomenon (none, cosine, ...) -petsc_options -snes_type ngmres -snes_ngmres_anderson # PetSc solver options -regridMode 0 # 0: no regrid; 1: regrid if DAMASK doesn't converge; 2: regrid if DAMASK or BVP Solver doesn't converge -polarAlpha 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme -polarBeta 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme diff --git a/examples/ConfigFiles/numerics.yaml b/examples/ConfigFiles/numerics.yaml new file mode 100644 index 000000000..4180a7d8a --- /dev/null +++ b/examples/ConfigFiles/numerics.yaml @@ -0,0 +1,89 @@ +# Available numerical parameters +# Case sensitive keys + +homogenization: + mech: + RGC: + atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa) + rtol: 1.0e-3 # relative ... + amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) + rmax: 1.0e+2 # relative ... + perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent + relevantmismatch: 1.0e-5 # minimum threshold of mismatch + viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme + viscositymodulus: 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity) + # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material + refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) + maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) + maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy + voldiscrepancymod: 1.0e+12 + discrepancypower: 5.0 + + generic: + subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization + subStepSize: 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1) + stepIncrease: 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1) + nMPstate: 10 # materialpoint state loop limit + +grid: + eps_div_atol: 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium + eps_div_rtol: 5.0e-4 # relative tolerance for fulfillment of stress equilibrium + eps_curl_atol: 1.0e-12 # absolute tolerance for fulfillment of strain compatibility + eps_curl_rtol: 5.0e-4 # relative tolerance for fulfillment of strain compatibility + eps_stress_atol: 1.0e3 # absolute tolerance for fulfillment of stress BC + eps_stress_rtol: 0.01 # relative tolerance for fulfillment of stress BC + eps_damage_atol: 1.0e-2 # absolute tolerance for damage evolution + eps_damage_rtol: 1.0e-6 # relative tolerance for damage evolution + eps_thermal_atol: 1.0e-2 # absolute tolerance for thermal equilibrium + eps_thermal_rtol: 1.0e-6 # relative tolerance for thermal equilibrium + itmax: 250 # Maximum iteration number + itmin: 2 # Minimum iteration number + fftw_timelimit: -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit + fftw_plan_mode: FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag + maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) + maxStaggeredIter: 10 # max number of field level staggered iterations + + memory_efficient: 1 # Precalculate Gamma-operator (81 double per point) + update_gamma: false # Update Gamma-operator with current dPdF (not possible if memory_efficient=1) + divergence_correction: 2 # Use size-independent divergence criterion + derivative: continuous # Approximation used for derivatives in Fourier space + solver: Basic # Type of spectral solver (BasicPETSc/Polarisation/FEM) + petsc_options: -snes_type ngmres -snes_ngmres_anderson # PetSc solver options + alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme + beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme + +mesh: + maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc) + maxStaggeredIter: 10 # max number of field level staggered iterations + structorder: 2 # order of displacement shape functions (when mesh is defined) + bbarstabilisation: false + integrationorder: 2 # order of quadrature rule required (when mesh is defined) + itmax: 250 # Maximum iteration number + itmin: 2 # Minimum iteration number + eps_struct_atol: 1.0e-10 # absolute tolerance for mechanical equilibrium + eps_struct_rtol: 1.0e-4 # relative tolerance for mechanical equilibrium + +crystallite: + subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite + subStepSize: 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1) + stepIncrease: 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1) + subStepSizeLp: 0.5 # size of first substep when cutback in Lp calculation + subStepSizeLi: 0.5 # size of first substep when cutback in Li calculation + nState: 10 # state loop limit + nStress: 40 # stress loop limit + rtol_State: 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law) + rtol_Stress: 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum) + atol_Stress: 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!) + integrator: FPI # integration method (FPI = Fixed Point Iteration, Euler = Euler, AdaptiveEuler = Adaptive Euler, RK4 = classical 4th order Runge-Kutta, RKCK45 = 5th order Runge-Kutta Cash-Karp) + iJacoLpresiduum: 1 # frequency of Jacobian update of residuum in Lp + +commercialFEM: + ijacostiffness: 1 # frequency of stiffness update + unitlength: 1 # physical length of one computational length unit + +generic: + charLength: 1.0 # characteristic length scale for gradient problems. + random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed. + residualStiffness: 1.0e-6 # non-zero residual damage. + +