marc and other minor changes
This commit is contained in:
parent
482ba98b18
commit
ac63ee3600
|
@ -1,5 +1,6 @@
|
|||
# Available numerical parameters
|
||||
# Case sensitive keys
|
||||
---
|
||||
|
||||
homogenization:
|
||||
mechanical:
|
||||
|
@ -28,6 +29,7 @@ solver:
|
|||
N_iter_max: 100 # maximum iteration number
|
||||
eps_abs_phi: 1.0e-2 # absolute tolerance for damage evolution
|
||||
eps_rel_phi: 1.0e-6 # relative tolerance for damage evolution
|
||||
phi_min: 1.0e-6 # non-zero residual damage
|
||||
thermal:
|
||||
N_iter_max: 100 # maximum iteration number
|
||||
eps_abs_T: 1.0e-2 # absolute tolerance for thermal equilibrium
|
||||
|
@ -48,11 +50,11 @@ solver:
|
|||
derivative: continuous # Approximation used for derivatives in Fourier space
|
||||
FFTW_plan_mode: FFTW_MEASURE # planing-rigor flag, see manual on www.fftw.org
|
||||
FFTW_timelimit: -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org. -1.0: disable timelimit
|
||||
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
|
||||
eps_abs_curl(F): 1.0e-10 # absolute tolerance for fulfillment of strain compatibility
|
||||
eps_rel_curl(F): 5.0e-4 # relative tolerance for fulfillment of strain compatibility
|
||||
PETSc_options: -snes_type ngmres -snes_ngmres_anderson # PETSc solver options
|
||||
|
||||
mesh:
|
||||
N_cutback_max: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
|
||||
|
@ -64,6 +66,9 @@ solver:
|
|||
eps_abs_div(P): 1.0e-10 # absolute tolerance for mechanical equilibrium
|
||||
eps_rel_div(P): 1.0e-4 # relative tolerance for mechanical equilibrium
|
||||
|
||||
Marc:
|
||||
unit_length: 1.0 # physical length of one computational length unit
|
||||
|
||||
phase:
|
||||
mechanical:
|
||||
r_cutback_min: 1.0e-3 # minimum (relative) size of step allowed during cutback in phase state calculation
|
||||
|
@ -86,9 +91,5 @@ phase:
|
|||
N_iter_Li_max: 40 # stress loop limit for Li
|
||||
f_update_jacobi_Li: 1 # frequency of Jacobian update of residuum in Li
|
||||
|
||||
commercialFEM:
|
||||
unitlength: 1 # physical length of one computational length unit
|
||||
|
||||
generic:
|
||||
random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed.
|
||||
phi_min: 1.0e-6 # non-zero residual damage.
|
||||
|
|
|
@ -69,13 +69,15 @@ subroutine discretization_Marc_init
|
|||
unscaledNormals
|
||||
|
||||
type(tDict), pointer :: &
|
||||
num_solver, &
|
||||
num_commercialFEM
|
||||
|
||||
|
||||
print'(/,a)', ' <<<+- discretization_Marc init -+>>>'; flush(6)
|
||||
|
||||
num_commercialFEM => config_numerics%get_dict('commercialFEM',defaultVal = emptyDict)
|
||||
mesh_unitlength = num_commercialFEM%get_asReal('unitlength',defaultVal=1.0_pREAL) ! set physical extent of a length unit in mesh
|
||||
num_solver => config_numerics%get_asDict('solver',defaultVal=emptyDict)
|
||||
num_commercialFEM => num_solver%get_asDict('Marc', defaultVal = emptyDict)
|
||||
mesh_unitlength = num_commercialFEM%get_asReal('unit_length',defaultVal=1.0_pREAL) ! set physical extent of a length unit in mesh
|
||||
if (mesh_unitlength <= 0.0_pREAL) call IO_error(301,'unitlength')
|
||||
|
||||
call inputRead(elem,node0_elem,connectivity_elem,materialAt)
|
||||
|
|
|
@ -102,7 +102,7 @@ subroutine grid_damage_spectral_init(num_grid)
|
|||
! read numerical parameters and do sanity checks
|
||||
num_grid_damage => num_grid%get_dict('damage',defaultVal=emptyDict)
|
||||
|
||||
num%itmax = num_grid_damage%get_asInt('N_iter_max', defaultVal=100)
|
||||
num%itmax = num_grid_damage%get_asInt ('N_iter_max', defaultVal=100)
|
||||
num%eps_damage_atol = num_grid_damage%get_asReal('eps_abs_phi',defaultVal=1.0e-2_pREAL)
|
||||
num%eps_damage_rtol = num_grid_damage%get_asReal('eps_rel_phi',defaultVal=1.0e-6_pREAL)
|
||||
num%phi_min = num_grid_damage%get_asReal('phi_min', defaultVal=1.0e-6_pREAL)
|
||||
|
@ -110,7 +110,7 @@ subroutine grid_damage_spectral_init(num_grid)
|
|||
extmsg = ''
|
||||
if (num%eps_damage_atol <= 0.0_pREAL) extmsg = trim(extmsg)//' eps_abs_phi'
|
||||
if (num%eps_damage_rtol <= 0.0_pREAL) extmsg = trim(extmsg)//' eps_rel_phi'
|
||||
if (num%phi_min < 0.0_pREAL) extmsg = trim(extmsg)//' phi_min'
|
||||
if (num%phi_min <= 0.0_pREAL) extmsg = trim(extmsg)//' phi_min'
|
||||
if (num%itmax < 1) extmsg = trim(extmsg)//' N_iter_max'
|
||||
|
||||
if (extmsg /= '') call IO_error(301,ext_msg=trim(extmsg))
|
||||
|
|
|
@ -96,7 +96,6 @@ subroutine FEM_utilities_init(num_mesh)
|
|||
num_mesh
|
||||
character(len=pSTRLEN) :: petsc_optionsOrder
|
||||
character(len=:), allocatable :: &
|
||||
extmsg, &
|
||||
petsc_options
|
||||
integer :: &
|
||||
p_s, & !< order of shape functions
|
||||
|
|
Loading…
Reference in New Issue