added mesh dependent characteristic length as a numerical parameter needed for gradient and phase field problems on unstructured meshes

This commit is contained in:
Pratheek Shanthraj 2014-06-24 23:18:07 +00:00
parent 5d88a78206
commit d594996e7c
2 changed files with 8 additions and 2 deletions

View File

@ -263,7 +263,7 @@ subroutine damage_gradient_microstructure(Tstar_v, Fe, ipc, ip, el)
mappingConstitutive, & mappingConstitutive, &
phase_damageInstance, & phase_damageInstance, &
damageState damageState
use mesh, only: & use numerics, only: &
charLength charLength
use math, only: & use math, only: &
math_Mandel6to33, & math_Mandel6to33, &

View File

@ -60,7 +60,8 @@ module numerics
maxdRelax_RGC = 1.0e+0_pReal, & !< threshold of maximum relaxation vector increment (if exceed this then cutback) maxdRelax_RGC = 1.0e+0_pReal, & !< threshold of maximum relaxation vector increment (if exceed this then cutback)
maxVolDiscr_RGC = 1.0e-5_pReal, & !< threshold of maximum volume discrepancy allowed maxVolDiscr_RGC = 1.0e-5_pReal, & !< threshold of maximum volume discrepancy allowed
volDiscrMod_RGC = 1.0e+12_pReal, & !< stiffness of RGC volume discrepancy (zero = without volume discrepancy constraint) volDiscrMod_RGC = 1.0e+12_pReal, & !< stiffness of RGC volume discrepancy (zero = without volume discrepancy constraint)
volDiscrPow_RGC = 5.0_pReal !< powerlaw penalty for volume discrepancy volDiscrPow_RGC = 5.0_pReal, & !< powerlaw penalty for volume discrepancy
charLength = 1.0_pReal !< characteristic length scale for gradient problems
logical, protected, public :: & logical, protected, public :: &
analyticJaco = .false., & !< use analytic Jacobian or perturbation, Default .false.: calculate Jacobian using perturbations analyticJaco = .false., & !< use analytic Jacobian or perturbation, Default .false.: calculate Jacobian using perturbations
usePingPong = .true., & usePingPong = .true., &
@ -299,6 +300,11 @@ subroutine numerics_init
case ('fixed_seed') case ('fixed_seed')
fixedSeed = IO_intValue(line,positions,2_pInt) fixedSeed = IO_intValue(line,positions,2_pInt)
!--------------------------------------------------------------------------------------------------
! gradient parameter
case ('charlength')
charLength = IO_floatValue(line,positions,2_pInt)
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! spectral parameters ! spectral parameters
#ifdef Spectral #ifdef Spectral