extended for grid

This commit is contained in:
Sharan Roongta 2020-06-18 17:43:25 +02:00
parent 76614ef278
commit 4942304ee8
6 changed files with 44 additions and 16 deletions

View File

@ -93,7 +93,8 @@ program DAMASK_grid
quit
class (tNode), pointer :: &
num_grid, &
num_generic
num_generic, &
debug_grid
!--------------------------------------------------------------------------------------------------
! init DAMASK (all modules)
@ -124,8 +125,9 @@ program DAMASK_grid
!--------------------------------------------------------------------------------------------------
! assign mechanics solver depending on selected type
debug_grid => debug_root%get('grid',defaultVal=emptyList)
num_grid => numerics_root%get('grid',defaultVal=emptyDict)
select case (trim(num_grid%get_asString('solver', defaultVal = 'Basic')))
case ('Basic')
mech_init => grid_mech_spectral_basic_init
@ -135,7 +137,7 @@ program DAMASK_grid
mech_restartWrite => grid_mech_spectral_basic_restartWrite
case ('Polarisation')
if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) &
if(debug_grid%contains('basic')) &
call IO_warning(42, ext_msg='debug Divergence')
mech_init => grid_mech_spectral_polarisation_init
mech_forward => grid_mech_spectral_polarisation_forward
@ -144,7 +146,7 @@ program DAMASK_grid
mech_restartWrite => grid_mech_spectral_polarisation_restartWrite
case ('FEM')
if(iand(debug_level(debug_spectral),debug_levelBasic)/= 0) &
if(debug_grid%contains('basic')) &
call IO_warning(42, ext_msg='debug Divergence')
mech_init => grid_mech_FEM_init
mech_forward => grid_mech_FEM_forward
@ -343,7 +345,7 @@ program DAMASK_grid
writeHeader: if (interface_restartInc < 1) then
open(newunit=statUnit,file=trim(getSolverJobName())//'.sta',form='FORMATTED',status='REPLACE')
write(statUnit,'(a)') 'Increment Time CutbackLevel Converged IterationsNeeded' ! statistics file
if (iand(debug_level(debug_spectral),debug_levelBasic) /= 0) &
if (debug_grid%contains('basic')) &
write(6,'(/,a)') ' header of statistics file written out'
flush(6)
else writeHeader

View File

@ -57,7 +57,10 @@ subroutine discretization_grid_init(restart)
microstructureAt, &
homogenizationAt
integer :: j
integer :: &
j, &
debug_e, &
debug_i
integer(C_INTPTR_T) :: &
devNull, z, z_offset
@ -83,6 +86,11 @@ subroutine discretization_grid_init(restart)
myGrid = [grid(1:2),grid3]
mySize = [geomSize(1:2),size3]
!-------------------------------------------------------------------------------------------------
! debug parameters
debug_e = debug_root%get_asInt('element',defaultVal=1)
debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1)
!--------------------------------------------------------------------------------------------------
! general discretization
microstructureAt = microstructureAt(product(grid(1:2))*grid3Offset+1: &

View File

@ -505,7 +505,12 @@ subroutine formResidual(da_local,x_local, &
itmin, &
itmax
class(tNode), pointer :: &
num_generic
num_generic, &
debug_grid
!---------------------------------------------------------------------
! debug pointer to grid
debug_grid => debug_root%get('grid',defaultVal=emptyList)
!----------------------------------------------------------------------
! read numerical paramteters and do sanity checks
@ -525,7 +530,7 @@ subroutine formResidual(da_local,x_local, &
newIteration: if (totalIter <= PETScIter) then
totalIter = totalIter + 1
write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter+1, '≤', itmax
if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) &
if (debug_grid%contains('rotation')) &
write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') &
' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.))
write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') &

View File

@ -474,7 +474,12 @@ subroutine formResidual(in, F, &
itmin, &
itmax
class(tNode), pointer :: &
num_generic
num_generic, &
debug_grid
!---------------------------------------------------------------------
! debug pointer to grid
debug_grid => debug_root%get('grid', defaultVal=emptyList)
!----------------------------------------------------------------------
! read numerical paramteter and do sanity checks
@ -493,7 +498,7 @@ subroutine formResidual(in, F, &
newIteration: if (totalIter <= PETScIter) then
totalIter = totalIter + 1
write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax
if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) &
if (debug_grid%contains('rotation')) &
write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') &
' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.))
write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') &

View File

@ -534,7 +534,8 @@ subroutine formResidual(in, FandF_tau, &
PetscErrorCode :: ierr
class(tNode), pointer :: &
num_grid, &
num_generic
num_generic, &
debug_grid
real(pReal) :: &
polarAlpha, & !< polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme
polarBeta !< polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme
@ -542,6 +543,10 @@ subroutine formResidual(in, FandF_tau, &
i, j, k, e, &
itmin, itmax
!--------------------------------------------------------------------------------------------------
! debug pointer for grid
debug_grid => debug_root%get('grid',defaultVal=emptyList)
!--------------------------------------------------------------------------------------------------
! read numerical paramteters and do sanity checks
num_grid => numerics_root%get('grid',defaultVal = emptyDict)
@ -579,7 +584,7 @@ subroutine formResidual(in, FandF_tau, &
newIteration: if (totalIter <= PETScIter) then
totalIter = totalIter + 1
write(6,'(1x,a,3(a,i0))') trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax
if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) &
if(debug_grid%contains('rotation')) &
write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') &
' deformation gradient aim (lab) =', transpose(params%rotation_BC%rotate(F_aim,active=.true.))
write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') &

View File

@ -193,7 +193,8 @@ subroutine spectral_utilities_init
petsc_options
class (tNode) , pointer :: &
num_grid, &
num_generic
num_generic, &
debug_grid
write(6,'(/,a)') ' <<<+- spectral_utilities init -+>>>'
@ -211,9 +212,11 @@ subroutine spectral_utilities_init
!--------------------------------------------------------------------------------------------------
! set debugging parameters
debugGeneral = iand(debug_level(debug_SPECTRAL),debug_LEVELBASIC) /= 0
debugRotation = iand(debug_level(debug_SPECTRAL),debug_SPECTRALROTATION) /= 0
debugPETSc = iand(debug_level(debug_SPECTRAL),debug_SPECTRALPETSC) /= 0
debug_grid => debug_root%get('grid',defaultVal=emptyList)
debugGeneral = debug_grid%contains('basic')
debugRotation = debug_grid%contains('rotation')
debugPETSc = debug_grid%contains('petsc')
if(debugPETSc) write(6,'(3(/,a),/)') &
' Initializing PETSc with debug options: ', &