DAMASK with grid solvers  Revision: v2.0.3-2204-gdb1f2151
The Düsseldorf Advanced Material Simulation Kit with Grid Solvers
grid_damage_spectral Module Reference

1 solver for nonlocal damage More...

Functions/Subroutines

subroutine, public grid_damage_spectral_init
 allocates all neccessary fields and fills them with data More...
 
type(tsolutionstate) function, public grid_damage_spectral_solution (timeinc, timeinc_old)
 solution for the spectral damage scheme with internal iterations More...
 
subroutine, public grid_damage_spectral_forward (cutBack)
 spectral damage forwarding routine More...
 
subroutine, private formresidual (in, x_scal, f_scal, dummy, ierr)
 forms the spectral damage residual vector More...
 
subroutine updatereference
 update reference viscosity and conductivity More...
 

Variables

type(tsolutionparams), private params
 
type(tsnes), private damage_snes
 
type(tvec), private solution_vec
 
integer(kind=selected_int_kind(5)), private xstart
 
integer(kind=selected_int_kind(5)), private xend
 
integer(kind=selected_int_kind(5)), private ystart
 
integer(kind=selected_int_kind(5)), private yend
 
integer(kind=selected_int_kind(5)), private zstart
 
integer(kind=selected_int_kind(5)), private zend
 
real(preal), dimension(:,:,:), allocatable, private phi_current
 field of current damage More...
 
real(preal), dimension(:,:,:), allocatable, private phi_lastinc
 field of previous damage More...
 
real(preal), dimension(:,:,:), allocatable, private phi_staginc
 field of staggered damage More...
 
integer, private totaliter = 0
 total iteration in current increment More...
 
real(preal), dimension(3, 3), private k_ref
 
real(preal), private mu_ref
 

Detailed Description

1 solver for nonlocal damage

Author
Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH
Shaokang Zhang, Max-Planck-Institut für Eisenforschung GmbH

Function/Subroutine Documentation

◆ formresidual()

subroutine, private grid_damage_spectral::formresidual ( integer(kind=selected_int_kind(5)), dimension(25)  in,
real(kind=selected_real_kind(10)), dimension( in(13)+1:in(13)+in(16),in(14)+1:in(14)+in(17),in(15)+1:in(15)+in(18)), intent(in)  x_scal,
real(kind=selected_real_kind(10)), dimension( in(7)+1:in(7)+in(10),in(8)+1:in(8)+in(11),in(9)+1:in(9)+in(12)), intent(out)  f_scal,
integer(kind=selected_int_kind(10))  dummy,
integer(kind=selected_int_kind(5))  ierr 
)
private

◆ grid_damage_spectral_forward()

subroutine, public grid_damage_spectral::grid_damage_spectral_forward ( logical, intent(in)  cutBack)

spectral damage forwarding routine

Definition at line 1987 of file grid_damage_spectral.f90.

References damage_nonlocal::damage_nonlocal_putnonlocaldamage(), damage_snes, discretization_grid::grid, discretization_grid::grid3, phi_current, phi_lastinc, phi_staginc, solution_vec, updatereference(), xend, xstart, yend, ystart, zend, and zstart.

Referenced by damask_spectral().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ grid_damage_spectral_init()

subroutine, public grid_damage_spectral::grid_damage_spectral_init

allocates all neccessary fields and fills them with data

Definition at line 1849 of file grid_damage_spectral.f90.

References damage_snes, formresidual(), discretization_grid::grid, discretization_grid::grid3, phi_current, phi_lastinc, phi_staginc, solution_vec, updatereference(), numerics::worldrank, numerics::worldsize, xend, xstart, yend, ystart, zend, and zstart.

Referenced by damask_spectral().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ grid_damage_spectral_solution()

type(tsolutionstate) function, public grid_damage_spectral::grid_damage_spectral_solution ( real(preal), intent(in)  timeinc,
real(preal), intent(in)  timeinc_old 
)

solution for the spectral damage scheme with internal iterations

Parameters
[in]timeinc_oldincrement in time of last increment
Parameters
timeincincrement in time for current solution

Definition at line 1927 of file grid_damage_spectral.f90.

References damage_nonlocal::damage_nonlocal_putnonlocaldamage(), damage_snes, numerics::err_damage_tolabs, numerics::err_damage_tolrel, discretization_grid::grid, discretization_grid::grid3, numerics::itmax, params, phi_current, phi_staginc, solution_vec, and totaliter.

Referenced by damask_spectral().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updatereference()

subroutine grid_damage_spectral::updatereference
private

update reference viscosity and conductivity

Definition at line 2082 of file grid_damage_spectral.f90.

References damage_nonlocal::damage_nonlocal_getdiffusion(), damage_nonlocal::damage_nonlocal_getmobility(), discretization_grid::grid, discretization_grid::grid3, k_ref, mu_ref, and spectral_utilities::wgt.

Referenced by grid_damage_spectral_forward(), and grid_damage_spectral_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ damage_snes

type(tsnes), private grid_damage_spectral::damage_snes
private

◆ k_ref

real(preal), dimension(3,3), private grid_damage_spectral::k_ref
private

Definition at line 1832 of file grid_damage_spectral.f90.

Referenced by formresidual(), and updatereference().

◆ mu_ref

real(preal), private grid_damage_spectral::mu_ref
private

Definition at line 1833 of file grid_damage_spectral.f90.

Referenced by formresidual(), and updatereference().

◆ params

type(tsolutionparams), private grid_damage_spectral::params
private

Definition at line 1817 of file grid_damage_spectral.f90.

Referenced by formresidual(), and grid_damage_spectral_solution().

◆ phi_current

real(preal), dimension(:,:,:), allocatable, private grid_damage_spectral::phi_current
private

◆ phi_lastinc

real(preal), dimension(:,:,:), allocatable, private grid_damage_spectral::phi_lastinc
private

field of previous damage

Definition at line 1824 of file grid_damage_spectral.f90.

Referenced by formresidual(), grid_damage_spectral_forward(), and grid_damage_spectral_init().

◆ phi_staginc

real(preal), dimension(:,:,:), allocatable, private grid_damage_spectral::phi_staginc
private

field of staggered damage

Definition at line 1824 of file grid_damage_spectral.f90.

Referenced by grid_damage_spectral_forward(), grid_damage_spectral_init(), and grid_damage_spectral_solution().

◆ solution_vec

type(tvec), private grid_damage_spectral::solution_vec
private

◆ totaliter

integer, private grid_damage_spectral::totaliter = 0
private

total iteration in current increment

Definition at line 1831 of file grid_damage_spectral.f90.

Referenced by grid_damage_spectral_solution().

◆ xend

integer(kind=selected_int_kind(5)), private grid_damage_spectral::xend
private

◆ xstart

integer(kind=selected_int_kind(5)), private grid_damage_spectral::xstart
private

◆ yend

integer(kind=selected_int_kind(5)), private grid_damage_spectral::yend
private

◆ ystart

integer(kind=selected_int_kind(5)), private grid_damage_spectral::ystart
private

◆ zend

integer(kind=selected_int_kind(5)), private grid_damage_spectral::zend
private

◆ zstart

integer(kind=selected_int_kind(5)), private grid_damage_spectral::zstart
private