Grid solver for mechanics: 1 basic. More...
| Data Types | |
| type | tnumerics | 
| Functions/Subroutines | |
| subroutine, public | grid_mech_spectral_basic_init | 
| allocates all necessary fields and fills them with data, potentially from restart info  More... | |
| type(tsolutionstate) function, public | grid_mech_spectral_basic_solution (incInfoIn, timeinc, timeinc_old, stress_BC, rotation_BC) | 
| solution for the basic scheme with internal iterations  More... | |
| subroutine, public | grid_mech_spectral_basic_forward (cutBack, guess, timeinc, timeinc_old, loadCaseTime, deformation_BC, stress_BC, rotation_BC) | 
| forwarding routine  More... | |
| subroutine, public | grid_mech_spectral_basic_updatecoords | 
| Age.  More... | |
| subroutine, public | grid_mech_spectral_basic_restartwrite | 
| Write current solver and constitutive data for restart to file.  More... | |
| subroutine | converged (snes_local, PETScIter, devNull1, devNull2, devNull3, reason, dummy, ierr) | 
| convergence check  More... | |
| subroutine | formresidual (in, F, residuum, dummy, ierr) | 
| forms the residual vector  More... | |
| Variables | |
| type(tsolutionparams), private | params | 
| type(tnumerics) | num | 
| type(tdm), private | da | 
| type(tsnes), private | snes | 
| type(tvec), private | solution_vec | 
| real(preal), dimension(:,:,:,:,:), allocatable, private | f_lastinc | 
| field of previous compatible deformation gradients  More... | |
| real(preal), dimension(:,:,:,:,:), allocatable, private | fdot | 
| field of assumed rate of compatible deformation gradient  More... | |
| real(preal), dimension(3, 3), private | f_aimdot = 0.0_pReal | 
| assumed rate of average deformation gradient  More... | |
| real(preal), dimension(3, 3), private | f_aim = math_I3 | 
| current prescribed deformation gradient  More... | |
| real(preal), dimension(3, 3), private | f_aim_lastinc = math_I3 | 
| previous average deformation gradient  More... | |
| real(preal), dimension(3, 3), private | p_av = 0.0_pReal | 
| average 1st Piola–Kirchhoff stress  More... | |
| character(len=pstringlen), private | incinfo | 
| time and increment information  More... | |
| real(preal), dimension(3, 3, 3, 3), private | c_volavg = 0.0_pReal | 
| current volume average stiffness  More... | |
| real(preal), dimension(3, 3, 3, 3), private | c_volavglastinc = 0.0_pReal | 
| previous volume average stiffness  More... | |
| real(preal), dimension(3, 3, 3, 3), private | c_minmaxavg = 0.0_pReal | 
| current (min+max)/2 stiffness  More... | |
| real(preal), dimension(3, 3, 3, 3), private | c_minmaxavglastinc = 0.0_pReal | 
| previous (min+max)/2 stiffness  More... | |
| real(preal), dimension(3, 3, 3, 3), private | s = 0.0_pReal | 
| current compliance (filled up with zeros)  More... | |
| real(preal), private | err_bc | 
| deviation from stress BC  More... | |
| real(preal), private | err_div | 
| RMS of div of P.  More... | |
| integer, private | totaliter = 0 | 
| total iteration in current increment  More... | |
Grid solver for mechanics: 1 basic.
| 
 | private | 
convergence check
Definition at line 2166 of file grid_mech_spectral_basic.f90.
References err_bc, err_div, numerics::itmax, numerics::itmin, p_av, fesolving::terminallyill, and totaliter.
Referenced by grid_mech_spectral_basic_init().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
forms the residual vector
| in | 'da' info (needs to be named "in" for macros like XRANGE to work) | |
| [in] | f | deformation gradient field | 
| [out] | residuum | residuum field | 
Definition at line 2212 of file grid_mech_spectral_basic.f90.
References c_minmaxavg, c_volavg, debug::debug_level, debug::debug_spectral, debug::debug_spectralrotation, err_bc, err_div, f_aim, discretization_grid::grid, discretization_grid::grid3, incinfo, numerics::itmax, numerics::itmin, math::math_mul3333xx33(), p_av, params, s, snes, spectral_utilities::tensorfield_real, fesolving::terminallyill, totaliter, spectral_utilities::utilities_constitutiveresponse(), spectral_utilities::utilities_divergencerms(), spectral_utilities::utilities_ffttensorbackward(), spectral_utilities::utilities_ffttensorforward(), and spectral_utilities::utilities_fouriergammaconvolution().
Referenced by grid_mech_spectral_basic_init().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| subroutine, public grid_mech_spectral_basic::grid_mech_spectral_basic_forward | ( | logical, intent(in) | cutBack, | 
| logical, intent(in) | guess, | ||
| real(preal), intent(in) | timeinc, | ||
| real(preal), intent(in) | timeinc_old, | ||
| real(preal), intent(in) | loadCaseTime, | ||
| type(tboundarycondition), intent(in) | deformation_BC, | ||
| type(tboundarycondition), intent(in) | stress_BC, | ||
| type(rotation), intent(in) | rotation_BC | ||
| ) | 
forwarding routine
find new boundary conditions and best F estimate for end of current timestep possibly writing restart information, triggering of state increment in DAMASK, and updating of IPcoordinates
| [in] | loadcasetime | remaining time of current load case | 
Definition at line 2050 of file grid_mech_spectral_basic.f90.
References c_minmaxavg, c_minmaxavglastinc, c_volavg, c_volavglastinc, da, f_aim, f_aim_lastinc, f_aimdot, f_lastinc, fdot, discretization_grid::grid, discretization_grid::grid3, homogenization::materialpoint_f0, solution_vec, spectral_utilities::utilities_calculaterate(), and spectral_utilities::utilities_forwardfield().
Referenced by damask_spectral().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| subroutine, public grid_mech_spectral_basic::grid_mech_spectral_basic_init | 
allocates all necessary fields and fills them with data, potentially from restart info
Definition at line 1879 of file grid_mech_spectral_basic.f90.
References c_minmaxavg, c_volavg, c_volavglastinc, config::config_numerics, converged(), da, f_aim, f_aim_lastinc, f_aimdot, f_lastinc, fdot, formresidual(), damask_interface::getsolverjobname(), discretization_grid::grid, discretization_grid::grid3, hdf5_utilities::hdf5_closefile(), hdf5_utilities::hdf5_closegroup(), hdf5_utilities::hdf5_openfile(), hdf5_utilities::hdf5_opengroup(), damask_interface::interface_restartinc, homogenization::materialpoint_f0, math::math_i3, num, snes, solution_vec, spectral_utilities::utilities_constitutiveresponse(), spectral_utilities::utilities_savereferencestiffness(), spectral_utilities::utilities_updatecoords(), spectral_utilities::utilities_updategamma(), numerics::worldrank, and numerics::worldsize.
Referenced by damask_spectral().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| subroutine, public grid_mech_spectral_basic::grid_mech_spectral_basic_restartwrite | 
Write current solver and constitutive data for restart to file.
Definition at line 2128 of file grid_mech_spectral_basic.f90.
References c_minmaxavg, c_volavg, c_volavglastinc, da, f_aim, f_aim_lastinc, f_aimdot, f_lastinc, damask_interface::getsolverjobname(), hdf5_utilities::hdf5_addgroup(), hdf5_utilities::hdf5_closefile(), hdf5_utilities::hdf5_closegroup(), hdf5_utilities::hdf5_openfile(), num, solution_vec, spectral_utilities::utilities_savereferencestiffness(), and numerics::worldrank.
Referenced by damask_spectral().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| type(tsolutionstate) function, public grid_mech_spectral_basic::grid_mech_spectral_basic_solution | ( | character(len=*), intent(in) | incInfoIn, | 
| real(preal), intent(in) | timeinc, | ||
| real(preal), intent(in) | timeinc_old, | ||
| type(tboundarycondition), intent(in) | stress_BC, | ||
| type(rotation), intent(in) | rotation_BC | ||
| ) | 
solution for the basic scheme with internal iterations
| [in] | timeinc_old | time increment of last successful increment | 
| timeinc | time increment of current solution | 
Definition at line 1993 of file grid_mech_spectral_basic.f90.
References c_minmaxavg, c_volavg, incinfo, num, params, s, snes, solution_vec, fesolving::terminallyill, totaliter, spectral_utilities::utilities_maskedcompliance(), and spectral_utilities::utilities_updategamma().
Referenced by damask_spectral().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| subroutine, public grid_mech_spectral_basic::grid_mech_spectral_basic_updatecoords | 
Age.
Definition at line 2113 of file grid_mech_spectral_basic.f90.
References da, solution_vec, and spectral_utilities::utilities_updatecoords().
Referenced by damask_spectral().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
current (min+max)/2 stiffness
Definition at line 1852 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), grid_mech_spectral_basic_restartwrite(), and grid_mech_spectral_basic_solution().
| 
 | private | 
previous (min+max)/2 stiffness
Definition at line 1852 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward().
| 
 | private | 
current volume average stiffness
Definition at line 1852 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), grid_mech_spectral_basic_restartwrite(), and grid_mech_spectral_basic_solution().
| 
 | private | 
previous volume average stiffness
Definition at line 1852 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), and grid_mech_spectral_basic_restartwrite().
| 
 | private | 
Definition at line 1833 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), grid_mech_spectral_basic_restartwrite(), and grid_mech_spectral_basic_updatecoords().
| 
 | private | 
deviation from stress BC
Definition at line 1859 of file grid_mech_spectral_basic.f90.
Referenced by converged(), and formresidual().
| 
 | private | 
RMS of div of P.
Definition at line 1859 of file grid_mech_spectral_basic.f90.
Referenced by converged(), and formresidual().
| 
 | private | 
current prescribed deformation gradient
Definition at line 1845 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), and grid_mech_spectral_basic_restartwrite().
| 
 | private | 
previous average deformation gradient
Definition at line 1845 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), and grid_mech_spectral_basic_restartwrite().
| 
 | private | 
assumed rate of average deformation gradient
Definition at line 1845 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), and grid_mech_spectral_basic_restartwrite().
| 
 | private | 
field of previous compatible deformation gradients
Definition at line 1839 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), and grid_mech_spectral_basic_restartwrite().
| 
 | private | 
field of assumed rate of compatible deformation gradient
Definition at line 1839 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), and grid_mech_spectral_basic_init().
| 
 | private | 
time and increment information
Definition at line 1851 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), and grid_mech_spectral_basic_solution().
| 
 | private | 
Definition at line 1829 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_init(), grid_mech_spectral_basic_restartwrite(), and grid_mech_spectral_basic_solution().
| 
 | private | 
average 1st Piola–Kirchhoff stress
Definition at line 1845 of file grid_mech_spectral_basic.f90.
Referenced by converged(), and formresidual().
| 
 | private | 
Definition at line 1823 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), and grid_mech_spectral_basic_solution().
| 
 | private | 
current compliance (filled up with zeros)
Definition at line 1852 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), and grid_mech_spectral_basic_solution().
| 
 | private | 
Definition at line 1834 of file grid_mech_spectral_basic.f90.
Referenced by formresidual(), grid_mech_spectral_basic_init(), and grid_mech_spectral_basic_solution().
| 
 | private | 
Definition at line 1835 of file grid_mech_spectral_basic.f90.
Referenced by grid_mech_spectral_basic_forward(), grid_mech_spectral_basic_init(), grid_mech_spectral_basic_restartwrite(), grid_mech_spectral_basic_solution(), and grid_mech_spectral_basic_updatecoords().
| 
 | private | 
total iteration in current increment
Definition at line 1863 of file grid_mech_spectral_basic.f90.
Referenced by converged(), formresidual(), and grid_mech_spectral_basic_solution().