numerics.yaml

Can be used to change the numerical parameters used by DAMASK from their standard values. You need to include only those values that should be changed. The example below shows default values.


# 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.