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

Go to the source code of this file.

Modules

module  material
 Parses material config file, either solverJobName.materialConfig or material.config.
 

Enumerations

enum  {
  material::elasticity_undefined_id, material::plasticity_undefined_id, material::source_undefined_id, material::kinematics_undefined_id,
  material::stiffness_degradation_undefined_id, material::homogenization_undefined_id
}
 

Functions/Subroutines

subroutine, public material::material_init
 parses material configuration file More...
 
subroutine material::material_parsehomogenization
 parses the homogenization part from the material configuration More...
 
subroutine material::material_parsemicrostructure
 parses the microstructure part in the material configuration file More...
 
subroutine material::material_parsephase
 parses the phase part in the material configuration file More...
 
subroutine material::material_parsetexture
 parses the texture part in the material configuration file More...
 
subroutine, public material::material_allocateplasticstate (phase, NipcMyPhase, sizeState, sizeDotState, sizeDeltaState)
 allocates the plastic state of a phase More...
 
subroutine, public material::material_allocatesourcestate (phase, of, NipcMyPhase, sizeState, sizeDotState, sizeDeltaState)
 allocates the source state of a phase More...
 

Variables

character(len= *), parameter, public material::elasticity_hooke_label = 'hooke'
 
character(len= *), parameter, public material::plasticity_none_label = 'none'
 
character(len= *), parameter, public material::plasticity_isotropic_label = 'isotropic'
 
character(len= *), parameter, public material::plasticity_phenopowerlaw_label = 'phenopowerlaw'
 
character(len= *), parameter, public material::plasticity_kinehardening_label = 'kinehardening'
 
character(len= *), parameter, public material::plasticity_dislotwin_label = 'dislotwin'
 
character(len= *), parameter, public material::plasticity_disloucla_label = 'disloucla'
 
character(len= *), parameter, public material::plasticity_nonlocal_label = 'nonlocal'
 
character(len= *), parameter, public material::source_thermal_dissipation_label = 'thermal_dissipation'
 
character(len= *), parameter, public material::source_thermal_externalheat_label = 'thermal_externalheat'
 
character(len= *), parameter, public material::source_damage_isobrittle_label = 'damage_isobrittle'
 
character(len= *), parameter, public material::source_damage_isoductile_label = 'damage_isoductile'
 
character(len= *), parameter, public material::source_damage_anisobrittle_label = 'damage_anisobrittle'
 
character(len= *), parameter, public material::source_damage_anisoductile_label = 'damage_anisoductile'
 
character(len= *), parameter, public material::kinematics_thermal_expansion_label = 'thermal_expansion'
 
character(len= *), parameter, public material::kinematics_cleavage_opening_label = 'cleavage_opening'
 
character(len= *), parameter, public material::kinematics_slipplane_opening_label = 'slipplane_opening'
 
character(len= *), parameter, public material::stiffness_degradation_damage_label = 'damage'
 
character(len= *), parameter, public material::thermal_isothermal_label = 'isothermal'
 
character(len= *), parameter, public material::thermal_adiabatic_label = 'adiabatic'
 
character(len= *), parameter, public material::thermal_conduction_label = 'conduction'
 
character(len= *), parameter, public material::damage_none_label = 'none'
 
character(len= *), parameter, public material::damage_local_label = 'local'
 
character(len= *), parameter, public material::damage_nonlocal_label = 'nonlocal'
 
character(len= *), parameter, public material::homogenization_none_label = 'none'
 
character(len= *), parameter, public material::homogenization_isostrain_label = 'isostrain'
 
character(len= *), parameter, public material::homogenization_rgc_label = 'rgc'
 
@, public material::elasticity_hooke_id
 
@, public material::plasticity_none_id
 
@, public material::plasticity_isotropic_id
 
@, public material::plasticity_phenopowerlaw_id
 
@, public material::plasticity_kinehardening_id
 
@, public material::plasticity_dislotwin_id
 
@, public material::plasticity_disloucla_id
 
@, public material::plasticity_nonlocal_id
 
@, public material::source_thermal_dissipation_id
 
@, public material::source_thermal_externalheat_id
 
@, public material::source_damage_isobrittle_id
 
@, public material::source_damage_isoductile_id
 
@, public material::source_damage_anisobrittle_id
 
@, public material::source_damage_anisoductile_id
 
@, public material::kinematics_cleavage_opening_id
 
@, public material::kinematics_slipplane_opening_id
 
@, public material::kinematics_thermal_expansion_id
 
@, public material::stiffness_degradation_damage_id
 
@, public material::thermal_isothermal_id
 
@, public material::thermal_adiabatic_id
 
@, public material::thermal_conduction_id
 
@, public material::damage_none_id
 
@, public material::damage_local_id
 
@, public material::damage_nonlocal_id
 
@, public material::homogenization_none_id
 
@, public material::homogenization_isostrain_id
 
@, public material::homogenization_rgc_id
 
integer(kind(elasticity_undefined_id)), dimension(:), allocatable, public, protected material::phase_elasticity
 elasticity of each phase More...
 
integer(kind(plasticity_undefined_id)), dimension(:), allocatable, public, protected material::phase_plasticity
 plasticity of each phase More...
 
integer(kind(thermal_isothermal_id)), dimension(:), allocatable, public, protected material::thermal_type
 thermal transport model More...
 
integer(kind(damage_none_id)), dimension(:), allocatable, public, protected material::damage_type
 nonlocal damage model More...
 
integer(kind(homogenization_undefined_id)), dimension(:), allocatable, public, protected material::homogenization_type
 type of each homogenization More...
 
integer, public, protected material::material_nphase
 number of phases More...
 
integer, public, protected material::material_nhomogenization
 number of homogenizations More...
 
integer(kind(source_undefined_id)), dimension(:,:), allocatable, public, protected material::phase_source
 active sources mechanisms of each phase More...
 
integer(kind(source_undefined_id)), dimension(:,:), allocatable, public, protected material::phase_kinematics
 active kinematic mechanisms of each phase More...
 
integer(kind(source_undefined_id)), dimension(:,:), allocatable, public, protected material::phase_stiffnessdegradation
 active stiffness degradation mechanisms of each phase More...
 
integer, public, protected material::homogenization_maxngrains
 max number of grains in any USED homogenization More...
 
integer, dimension(:), allocatable, public, protected material::phase_nsources
 number of source mechanisms active in each phase More...
 
integer, dimension(:), allocatable, public, protected material::phase_nkinematics
 number of kinematic mechanisms active in each phase More...
 
integer, dimension(:), allocatable, public, protected material::phase_nstiffnessdegradations
 number of stiffness degradation mechanisms active in each phase More...
 
integer, dimension(:), allocatable, public, protected material::phase_elasticityinstance
 instance of particular elasticity of each phase More...
 
integer, dimension(:), allocatable, public, protected material::phase_plasticityinstance
 instance of particular plasticity of each phase More...
 
integer, dimension(:), allocatable, public, protected material::homogenization_ngrains
 number of grains in each homogenization More...
 
integer, dimension(:), allocatable, public, protected material::homogenization_typeinstance
 instance of particular type of each homogenization More...
 
integer, dimension(:), allocatable, public, protected material::thermal_typeinstance
 instance of particular type of each thermal transport More...
 
integer, dimension(:), allocatable, public, protected material::damage_typeinstance
 instance of particular type of each nonlocal damage More...
 
real(preal), dimension(:), allocatable, public, protected material::thermal_initialt
 initial temperature per each homogenization More...
 
real(preal), dimension(:), allocatable, public, protected material::damage_initialphi
 initial damage per each homogenization More...
 
integer, dimension(:), allocatable, public, protected material::material_homogenizationat
 homogenization ID of each element (copy of discretization_homogenizationAt) More...
 
integer, dimension(:,:), allocatable, target, public material::material_homogenizationmemberat
 position of the element within its homogenization instance More...
 
integer, dimension(:,:), allocatable, public, protected material::material_phaseat
 phase ID of each element More...
 
integer, dimension(:,:,:), allocatable, public, protected material::material_phasememberat
 position of the element within its phase instance More...
 
type(tplasticstate), dimension(:), allocatable, public material::plasticstate
 
type(tsourcestate), dimension(:), allocatable, public material::sourcestate
 
type(tstate), dimension(:), allocatable, public material::homogstate
 
type(tstate), dimension(:), allocatable, public material::thermalstate
 
type(tstate), dimension(:), allocatable, public material::damagestate
 
integer, dimension(:,:,:), allocatable, public, protected material::material_texture
 texture (index) of each grain,IP,element. Only used by plastic_nonlocal More...
 
type(rotation), dimension(:,:,:), allocatable, public, protected material::material_orientation0
 initial orientation of each grain,IP,element More...
 
logical, dimension(:), allocatable, public, protected material::phase_localplasticity
 flags phases with local constitutive law More...
 
integer, dimension(:), allocatable, private material::microstructure_nconstituents
 number of constituents in each microstructure More...
 
integer, dimension(:,:), allocatable, private material::microstructure_phase
 phase IDs of each microstructure More...
 
integer, dimension(:,:), allocatable, private material::microstructure_texture
 texture IDs of each microstructure More...
 
type(rotation), dimension(:), allocatable, private material::texture_orientation
 Euler angles in material.config (possibly rotated for alignment) More...
 
integer, dimension(:,:), allocatable, target, private material::mappinghomogenizationconst
 mapping from material points to offset in constant state/field More...
 
type(thomogmapping), dimension(:), allocatable, public material::thermalmapping
 mapping for thermal state/fields More...
 
type(thomogmapping), dimension(:), allocatable, public material::damagemapping
 mapping for damage state/fields More...
 
type(group_float), dimension(:), allocatable, public material::temperature
 temperature field More...
 
type(group_float), dimension(:), allocatable, public material::damage
 damage field More...
 
type(group_float), dimension(:), allocatable, public material::temperaturerate
 temperature change rate field More...