|
DAMASK with grid solvers
Revision: v2.0.3-2204-gdb1f2151
The Düsseldorf Advanced Material Simulation Kit with Grid Solvers
|
|
Go to the documentation of this file. 1 # 1 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
4 # 1 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
16 # 1 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 1
29 # 1 "/opt/petsc-3.10.3/Intel-18.4-IntelMPI-2018/include/petscconf.h" 1
1237 # 13 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 2
1242 # 1 "/opt/petsc-3.10.3/include/petscversion.h" 1
1288 # 17 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 2
1290 # 1 "/opt/petsc-3.10.3/include/petsc/finclude/petscviewer.h" 1
1307 # 31 "/opt/petsc-3.10.3/include/petsc/finclude/petscviewer.h"
1309 # 18 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 2
1311 # 1 "/opt/petsc-3.10.3/include/petsc/finclude/petscerror.h" 1
1320 # 24 "/opt/petsc-3.10.3/include/petsc/finclude/petscerror.h"
1322 # 38 "/opt/petsc-3.10.3/include/petsc/finclude/petscerror.h"
1339 # 19 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 2
1341 # 1 "/opt/petsc-3.10.3/include/petsc/finclude/petsclog.h" 1
1344 # 20 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 2
1346 # 1 "/opt/petsc-3.10.3/include/petsc/finclude/petscbag.h" 1
1359 # 21 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h" 2
1367 # 41 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1377 # 63 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1391 # 85 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1410 # 128 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1412 # 150 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1416 # 174 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1449 # 215 "/opt/petsc-3.10.3/include/petsc/finclude/petscsys.h"
1462 # 12 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90" 2
1470 integer,
protected,
public :: &
1476 integer(4),
protected,
public :: &
1483 logical,
protected,
public :: &
1495 integer,
protected,
public :: &
1496 itmax = 250, & !< maximum number of iterations
1503 # 65 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
1507 # 77 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
1520 integer :: i,j, ierr
1521 integer,
allocatable,
dimension(:) :: chunkpos
1522 character(len=pStringLen),
dimension(:),
allocatable :: filecontent
1523 character(len=pStringLen) :: &
1530 call mpi_comm_rank(petsc_comm_world,
worldrank,ierr);
if (ierr .ne. 0) then;
call petscerrorf(ierr);return;
endif
1531 call mpi_comm_size(petsc_comm_world,
worldsize,ierr);
if (ierr .ne. 0) then;
call petscerrorf(ierr);return;
endif
1533 write(6,
'(/,a)')
' <<<+- numerics init -+>>>'
1545 inquire(file=
'numerics.config', exist=fexist)
1547 fileexists:
if (fexist)
then
1548 write(6,
'(a,/)')
' using values from config file'
1551 do j=1,
size(filecontent)
1555 line = filecontent(j)
1557 if(line(i:i) ==
'=') line(i:i) =
' '
1564 case (
'defgradtolerance')
1566 case (
'ijacostiffness')
1570 case (
'usepingpong')
1577 case (
'random_seed',
'fixed_seed')
1584 case (
'residualstiffness')
1589 case (
'err_struct_tolabs')
1591 case (
'err_struct_tolrel')
1593 case (
'err_thermal_tolabs')
1595 case (
'err_thermal_tolrel')
1597 case (
'err_damage_tolabs')
1599 case (
'err_damage_tolrel')
1607 case (
'maxstaggerediter')
1612 # 201 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
1616 # 214 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
1620 write(6,
'(a,/)')
' using standard values'
1630 write(6,
'(a24,1x,L8)')
' use ping pong scheme: ',
usepingpong
1635 write(6,
'(a16,1x,i16,/)')
' random_seed: ',
randomseed
1637 write(6,
'(a,/)')
' random seed will be generated!'
1641 write(6,
'(a24,1x,es8.1)')
' charLength: ',
charlength
1650 write(6,
'(a24,1x,i8)')
' itmax: ',
itmax
1651 write(6,
'(a24,1x,i8)')
' itmin: ',
itmin
1652 write(6,
'(a24,1x,i8)')
' maxCutBack: ',
maxcutback
1653 write(6,
'(a24,1x,i8)')
' maxStaggeredIter: ',
stagitmax
1663 # 271 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
1679 call io_error(301,ext_msg=
'integrator')
1692 # 311 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/numerics.f90"
real(preal), public, protected charlength
characteristic length scale for gradient problems
integer, public, protected numerics_integrator
method used for state integration Default 1: fix-point iteration
pure integer function, dimension(:), allocatable, public io_stringpos(string)
locates all whitespace-separated chunks in given string and returns array containing number them and ...
character(len=pstringlen) function, dimension(:), allocatable, public io_read_ascii(fileName)
reads an entire ASCII file into an array
subroutine, public io_error(error_ID, el, ip, g, instance, ext_msg)
write error statements to standard out and terminate the Marc/spectral run with exit #9xxx
real(preal), public, protected residualstiffness
non-zero residual damage
real(preal), public, protected err_thermal_tolrel
relative tolerance for thermal equilibrium
integer, public, protected randomseed
fixed seeding for pseudo-random number generator, Default 0: use random seed
integer, public, protected worldsize
MPI worldsize (/=1 for MPI simulations only)
integer, public, protected stagitmax
max number of field level staggered iterations
setting precision for real and int type
input/output functions, partly depending on chosen solver
integer, parameter preal
number with 15 significant digits, up to 1e+-307 (typically 64 bit)
logical, public, protected usepingpong
real(preal), public, protected err_struct_tolrel
relative tolerance for mechanical equilibrium
integer, public, protected maxcutback
max number of cut backs
logical pure function, public io_isblank(string)
identifies strings without content
real(preal), public, protected err_thermal_tolabs
absolute tolerance for thermal equilibrium
integer(4), public, protected damask_numthreadsint
value stored in environment variable DAMASK_NUM_THREADS, set to zero if no OpenMP directive
subroutine, public numerics_init
reads in parameters from numerics.config and sets openMP related parameters. Also does
real(preal), public, protected err_struct_tolabs
absolute tolerance for mechanical equilibrium
integer, public, protected itmax
maximum number of iterations
integer function, public io_intvalue(string, chunkPos, myChunk)
reads integer value at myChunk from string
integer, public, protected ijacostiffness
frequency of stiffness update
real(preal), public, protected err_damage_tolabs
absolute tolerance for damage evolution
integer, public, protected worldrank
MPI worldrank (/=0 for MPI simulations only)
real(preal), public, protected numerics_unitlength
determines the physical length of one computational length unit
integer, public, protected itmin
minimum number of iterations
pure character(len=len(string)) function, public io_lc(string)
changes characters in string to lower case
real(preal), public, protected defgradtolerance
deviation of deformation gradient that is still allowed (used by CPFEM to determine outdated ffn1)
character(len=:) function, allocatable, public io_stringvalue(string, chunkPos, myChunk)
reads string value at myChunk from string
real(preal), public, protected err_damage_tolrel
relative tolerance for damage evolution
Managing of parameters related to numerics.
real(preal) function, public io_floatvalue(string, chunkPos, myChunk)
reads float value at myChunk from string