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

Parse geometry file to set up discretization and geometry for nonlocal model. More...

Functions/Subroutines

subroutine, public discretization_grid_init
 reads the geometry file to obtain information on discretization More...
 
subroutine readgeom (grid, geomSize, origin, microstructure, homogenization)
 Parses geometry file. More...
 
real(preal) function, dimension(3, product(grid)) ipcoordinates0 (grid, geomSize, grid3Offset)
 Calculate undeformed position of IPs/cell centers (pretend to be an element) More...
 
pure real(preal) function, dimension(3, product(grid+1)) nodes0 (grid, geomSize, grid3Offset)
 Calculate position of undeformed nodes (pretend to be an element) More...
 
pure real(preal) function, dimension(6, 1, product(grid)) cellsurfacearea (geomSize, grid)
 Calculate IP interface areas. More...
 
pure real(preal) function, dimension(3, 6, 1, nelems) cellsurfacenormal (nElems)
 Calculate IP interface areas normals. More...
 
pure integer function, dimension(3, 6, 1, product(grid)) ipneighborhood (grid)
 Build IP neighborhood relations. More...
 

Variables

integer, dimension(3), public, protected grid
 (global) grid More...
 
integer, public, protected grid3
 (local) grid in 3rd direction More...
 
integer, public, protected grid3offset
 (local) grid offset in 3rd direction More...
 
real(preal), dimension(3), public, protected geomsize
 (global) physical size More...
 
real(preal), public, protected size3
 (local) size in 3rd direction More...
 
real(preal), public, protected size3offset
 (local) size offset in 3rd direction More...
 

Detailed Description

Parse geometry file to set up discretization and geometry for nonlocal model.

Author
Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH

Function/Subroutine Documentation

◆ cellsurfacearea()

pure real(preal) function, dimension(6,1,product(grid)) discretization_grid::cellsurfacearea ( real(preal), dimension(3), intent(in)  geomSize,
integer, dimension(3), intent(in)  grid 
)
private

Calculate IP interface areas.

Definition at line 1799 of file discretization_grid.f90.

References geomsize, and grid.

Referenced by discretization_grid_init().

+ Here is the caller graph for this function:

◆ cellsurfacenormal()

pure real(preal) function, dimension(3,6,1,nelems) discretization_grid::cellsurfacenormal ( integer, intent(in)  nElems)
private

Calculate IP interface areas normals.

Definition at line 1816 of file discretization_grid.f90.

Referenced by discretization_grid_init().

+ Here is the caller graph for this function:

◆ discretization_grid_init()

◆ ipcoordinates0()

real(preal) function, dimension(3,product(grid)) discretization_grid::ipcoordinates0 ( integer, dimension(3), intent(in)  grid,
real(preal), dimension(3), intent(in)  geomSize,
integer, intent(in)  grid3Offset 
)
private

Calculate undeformed position of IPs/cell centers (pretend to be an element)

Definition at line 1751 of file discretization_grid.f90.

References geomsize, grid, grid3offset, and prec::preal.

Referenced by discretization_grid_init().

+ Here is the caller graph for this function:

◆ ipneighborhood()

pure integer function, dimension(3,6,1,product(grid)) discretization_grid::ipneighborhood ( integer, dimension(3), intent(in)  grid)
private

Build IP neighborhood relations.

Returns
6 neighboring IPs as [element ID, IP ID, face ID]

Definition at line 1835 of file discretization_grid.f90.

References grid.

Referenced by discretization_grid_init().

+ Here is the caller graph for this function:

◆ nodes0()

pure real(preal) function, dimension(3,product(grid+1)) discretization_grid::nodes0 ( integer, dimension(3), intent(in)  grid,
real(preal), dimension(3), intent(in)  geomSize,
integer, intent(in)  grid3Offset 
)
private

Calculate position of undeformed nodes (pretend to be an element)

Definition at line 1775 of file discretization_grid.f90.

References geomsize, grid, grid3, grid3offset, and prec::preal.

Referenced by discretization_grid_init().

+ Here is the caller graph for this function:

◆ readgeom()

subroutine discretization_grid::readgeom ( integer, dimension(3), intent(out)  grid,
real(preal), dimension(3), intent(out)  geomSize,
real(preal), dimension(3), intent(out)  origin,
integer, dimension(:), intent(out), allocatable  microstructure,
integer, dimension(:), intent(out), allocatable  homogenization 
)
private

Parses geometry file.

important variables have an implicit "save" attribute. Therefore, this function is

Definition at line 1583 of file discretization_grid.f90.

References damask_interface::geometryfile, io::io_eol, io::io_error(), io::io_floatvalue(), io::io_intvalue(), io::io_lc(), io::io_stringpos(), and io::io_stringvalue().

Referenced by discretization_grid_init().

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

Variable Documentation

◆ geomsize

◆ grid

integer, dimension(3), public, protected discretization_grid::grid

(global) grid

Definition at line 1476 of file discretization_grid.f90.

Referenced by cellsurfacearea(), discretization_grid_init(), grid_damage_spectral::formresidual(), grid_thermal_spectral::formresidual(), grid_mech_spectral_basic::formresidual(), grid_mech_fem::formresidual(), grid_mech_spectral_polarisation::formresidual(), grid_damage_spectral::grid_damage_spectral_forward(), grid_damage_spectral::grid_damage_spectral_init(), grid_damage_spectral::grid_damage_spectral_solution(), grid_mech_fem::grid_mech_fem_forward(), grid_mech_fem::grid_mech_fem_init(), grid_mech_spectral_basic::grid_mech_spectral_basic_forward(), grid_mech_spectral_basic::grid_mech_spectral_basic_init(), grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_forward(), grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_init(), grid_thermal_spectral::grid_thermal_spectral_forward(), grid_thermal_spectral::grid_thermal_spectral_init(), grid_thermal_spectral::grid_thermal_spectral_solution(), ipcoordinates0(), ipneighborhood(), nodes0(), grid_damage_spectral::updatereference(), grid_thermal_spectral::updatereference(), spectral_utilities::utilities_calculaterate(), spectral_utilities::utilities_constitutiveresponse(), spectral_utilities::utilities_curlrms(), spectral_utilities::utilities_divergencerms(), spectral_utilities::utilities_fftscalarforward(), spectral_utilities::utilities_ffttensorforward(), spectral_utilities::utilities_fftvectorforward(), spectral_utilities::utilities_forwardfield(), spectral_utilities::utilities_fouriergammaconvolution(), spectral_utilities::utilities_fouriergreenconvolution(), spectral_utilities::utilities_fourierscalargradient(), spectral_utilities::utilities_fouriertensordivergence(), spectral_utilities::utilities_fouriervectordivergence(), spectral_utilities::utilities_fouriervectorgradient(), spectral_utilities::utilities_getfreqderivative(), spectral_utilities::utilities_init(), spectral_utilities::utilities_updatecoords(), and spectral_utilities::utilities_updategamma().

◆ grid3

integer, public, protected discretization_grid::grid3

(local) grid in 3rd direction

Definition at line 1478 of file discretization_grid.f90.

Referenced by discretization_grid_init(), grid_damage_spectral::formresidual(), grid_thermal_spectral::formresidual(), grid_mech_spectral_basic::formresidual(), grid_mech_spectral_polarisation::formresidual(), grid_damage_spectral::grid_damage_spectral_forward(), grid_damage_spectral::grid_damage_spectral_init(), grid_damage_spectral::grid_damage_spectral_solution(), grid_mech_fem::grid_mech_fem_forward(), grid_mech_fem::grid_mech_fem_init(), grid_mech_spectral_basic::grid_mech_spectral_basic_forward(), grid_mech_spectral_basic::grid_mech_spectral_basic_init(), grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_forward(), grid_mech_spectral_polarisation::grid_mech_spectral_polarisation_init(), grid_thermal_spectral::grid_thermal_spectral_forward(), grid_thermal_spectral::grid_thermal_spectral_init(), grid_thermal_spectral::grid_thermal_spectral_solution(), nodes0(), grid_thermal_spectral::updatereference(), grid_damage_spectral::updatereference(), spectral_utilities::utilities_calculaterate(), spectral_utilities::utilities_constitutiveresponse(), spectral_utilities::utilities_curlrms(), spectral_utilities::utilities_divergencerms(), spectral_utilities::utilities_forwardfield(), spectral_utilities::utilities_fouriergammaconvolution(), spectral_utilities::utilities_fouriergreenconvolution(), spectral_utilities::utilities_fourierscalargradient(), spectral_utilities::utilities_fouriertensordivergence(), spectral_utilities::utilities_fouriervectordivergence(), spectral_utilities::utilities_fouriervectorgradient(), spectral_utilities::utilities_init(), spectral_utilities::utilities_updatecoords(), and spectral_utilities::utilities_updategamma().

◆ grid3offset

◆ size3

real(preal), public, protected discretization_grid::size3

(local) size in 3rd direction

Definition at line 1483 of file discretization_grid.f90.

Referenced by discretization_grid_init().

◆ size3offset

real(preal), public, protected discretization_grid::size3offset

(local) size offset in 3rd direction

Definition at line 1483 of file discretization_grid.f90.

Referenced by discretization_grid_init().