DAMASK with MSC.Marc FEM solver  Revision: v2.0.3-2204-gdb1f2151
The Düsseldorf Advanced Material Simulation Kit with MSC.Marc
constitutive Module Reference

elasticity, plasticity, internal microstructure state More...

Functions/Subroutines

subroutine, public constitutive_init
 allocates arrays pointing to array of the various constitutive modules More...
 
real(preal) function, dimension(6, 6), public constitutive_homogenizedc (ipc, ip, el)
 returns the homogenize elasticity matrix ToDo: homogenizedC66 would be more consistent More...
 
subroutine, public constitutive_dependentstate (F, Fp, ipc, ip, el)
 calls microstructure function of the different constitutive models More...
 
subroutine, public constitutive_lpanditstangents (Lp, dLp_dS, dLp_dFi, S, Fi, ipc, ip, el)
 contains the constitutive equation for calculating the velocity gradient More...
 
subroutine, public constitutive_lianditstangents (Li, dLi_dS, dLi_dFi, S, Fi, ipc, ip, el)
 contains the constitutive equation for calculating the velocity gradient More...
 
pure real(preal) function, dimension(3, 3), public constitutive_initialfi (ipc, ip, el)
 collects initial intermediate deformation gradient More...
 
subroutine, public constitutive_sanditstangents (S, dS_dFe, dS_dFi, Fe, Fi, ipc, ip, el)
 returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to the elastic/intermediate deformation gradients depending on the selected elastic law (so far no case switch because only Hooke is implemented) More...
 
subroutine constitutive_hooke_sanditstangents (S, dS_dFe, dS_dFi, Fe, Fi, ipc, ip, el)
 returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to the elastic and intermeidate deformation gradients using Hookes law More...
 
subroutine, public constitutive_collectdotstate (S, FArray, Fi, FpArray, subdt, ipc, ip, el)
 contains the constitutive equation for calculating the rate of change of microstructure More...
 
subroutine, public constitutive_collectdeltastate (S, Fe, Fi, ipc, ip, el)
 for constitutive models having an instantaneous change of state will return false if delta state is not needed/supported by the constitutive model More...
 
subroutine, public constitutive_results
 writes constitutive results to HDF5 output file More...
 

Variables

integer, public, protected constitutive_plasticity_maxsizedotstate
 
integer, public, protected constitutive_source_maxsizedotstate
 

Detailed Description

elasticity, plasticity, internal microstructure state

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

Function/Subroutine Documentation

◆ constitutive_collectdeltastate()

subroutine, public constitutive::constitutive_collectdeltastate ( real(preal), dimension(3,3), intent(in)  S,
real(preal), dimension(3,3), intent(in)  Fe,
real(preal), dimension(3,3), intent(in)  Fi,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

for constitutive models having an instantaneous change of state will return false if delta state is not needed/supported by the constitutive model

Parameters
[in]elelement
[in]fiintermediate deformation gradient
Parameters
S2nd Piola Kirchhoff stress
Feelastic deformation gradient
ipccomponent-ID of integration point
ipintegration point

Definition at line 16623 of file DAMASK_marc.f90.

References material::material_phaseat, material::material_phasememberat, material::phase_nsources, material::phase_plasticity, material::phase_plasticityinstance, material::phase_source, material::plasticity_kinehardening_id, material::plasticity_nonlocal_id, source_damage_isobrittle::source_damage_isobrittle_deltastate(), and material::source_damage_isobrittle_id.

+ Here is the call graph for this function:

◆ constitutive_collectdotstate()

subroutine, public constitutive::constitutive_collectdotstate ( real(preal), dimension(3,3), intent(in)  S,
real(preal), dimension(3,3,homogenization_maxngrains,discretization_nip,discretization_nelem), intent(in)  FArray,
real(preal), dimension(3,3), intent(in)  Fi,
real(preal), dimension(3,3,homogenization_maxngrains,discretization_nip,discretization_nelem), intent(in)  FpArray,
real(preal), intent(in)  subdt,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

contains the constitutive equation for calculating the rate of change of microstructure

Parameters
[in]elelement
[in]subdttimestep
[in]fparrayplastic deformation gradient
[in]fiintermediate deformation gradient
[in]s2nd Piola Kirchhoff stress (vector notation)
Parameters
FArrayelastic deformation gradient
ipccomponent-ID of integration point
ipintegration point

Definition at line 16544 of file DAMASK_marc.f90.

References material::material_homogenizationat, material::material_phaseat, material::material_phasememberat, material::phase_nsources, material::phase_plasticity, material::phase_plasticityinstance, material::phase_source, material::plasticity_dislotwin_id, material::plasticity_disloucla_id, material::plasticity_isotropic_id, material::plasticity_kinehardening_id, material::plasticity_nonlocal_id, material::plasticity_phenopowerlaw_id, source_damage_anisobrittle::source_damage_anisobrittle_dotstate(), material::source_damage_anisobrittle_id, source_damage_anisoductile::source_damage_anisoductile_dotstate(), material::source_damage_anisoductile_id, source_damage_isoductile::source_damage_isoductile_dotstate(), material::source_damage_isoductile_id, source_thermal_externalheat::source_thermal_externalheat_dotstate(), material::source_thermal_externalheat_id, material::temperature, and material::thermalmapping.

Referenced by integratestatefpi().

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

◆ constitutive_dependentstate()

subroutine, public constitutive::constitutive_dependentstate ( real(preal), dimension(3,3), intent(in)  F,
real(preal), dimension(3,3), intent(in)  Fp,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

calls microstructure function of the different constitutive models

Parameters
[in]elelement
[in]fpplastic deformation gradient
Parameters
Felastic deformation gradient
ipccomponent-ID of integration point
ipintegration point

Definition at line 16252 of file DAMASK_marc.f90.

References material::material_homogenizationat, material::material_phaseat, material::material_phasememberat, material::phase_plasticity, material::phase_plasticityinstance, material::plasticity_dislotwin_id, material::plasticity_disloucla_id, material::plasticity_nonlocal_id, material::temperature, and material::thermalmapping.

Referenced by crystallite_init(), and integratestatefpi().

+ Here is the caller graph for this function:

◆ constitutive_homogenizedc()

real(preal) function, dimension(6,6), public constitutive::constitutive_homogenizedc ( integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

returns the homogenize elasticity matrix ToDo: homogenizedC66 would be more consistent

Parameters
[in]elelement
Parameters
ipccomponent-ID of integration point
ipintegration point

Definition at line 16231 of file DAMASK_marc.f90.

References lattice::lattice_c66, material::material_phaseat, material::phase_plasticity, and material::plasticity_dislotwin_id.

◆ constitutive_hooke_sanditstangents()

subroutine constitutive::constitutive_hooke_sanditstangents ( real(preal), dimension(3,3), intent(out)  S,
real(preal), dimension(3,3,3,3), intent(out)  dS_dFe,
real(preal), dimension(3,3,3,3), intent(out)  dS_dFi,
real(preal), dimension(3,3), intent(in)  Fe,
real(preal), dimension(3,3), intent(in)  Fi,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)
private

returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to the elastic and intermeidate deformation gradients using Hookes law

Parameters
[in]elelement
[in]fiintermediate deformation gradient
[out]s2nd Piola-Kirchhoff stress tensor in lattice configuration
[out]ds_dfiderivative of 2nd P-K stress with respect to intermediate deformation gradient
Parameters
dS_dFederivative of 2nd P-K stress with respect to elastic deformation gradient
Feelastic deformation gradient
ipccomponent-ID of integration point
ipintegration point

Definition at line 16498 of file DAMASK_marc.f90.

References material::damage, material::damagemapping, material::material_homogenizationat, material::material_phaseat, math::math_66tosym3333(), math::math_i3, math::math_mul3333xx33(), material::phase_nstiffnessdegradations, material::phase_stiffnessdegradation, and material::stiffness_degradation_damage_id.

+ Here is the call graph for this function:

◆ constitutive_init()

subroutine, public constitutive::constitutive_init

allocates arrays pointing to array of the various constitutive modules

Definition at line 16171 of file DAMASK_marc.f90.

References geometry_plastic_nonlocal::geometry_plastic_nonlocal_disable(), material::kinematics_cleavage_opening_id, kinematics_cleavage_opening::kinematics_cleavage_opening_init(), material::kinematics_slipplane_opening_id, kinematics_slipplane_opening::kinematics_slipplane_opening_init(), material::kinematics_thermal_expansion_id, kinematics_thermal_expansion::kinematics_thermal_expansion_init(), material::material_nphase, material::phase_kinematics, material::phase_nsources, material::phase_plasticity, material::phase_source, material::plasticity_dislotwin_id, material::plasticity_disloucla_id, material::plasticity_isotropic_id, material::plasticity_kinehardening_id, material::plasticity_none_id, material::plasticity_nonlocal_id, material::plasticity_phenopowerlaw_id, material::plasticstate, material::source_damage_anisobrittle_id, source_damage_anisobrittle::source_damage_anisobrittle_init(), material::source_damage_anisoductile_id, source_damage_anisoductile::source_damage_anisoductile_init(), material::source_damage_isobrittle_id, source_damage_isobrittle::source_damage_isobrittle_init(), material::source_damage_isoductile_id, source_damage_isoductile::source_damage_isoductile_init(), material::source_thermal_dissipation_id, source_thermal_dissipation::source_thermal_dissipation_init(), material::source_thermal_externalheat_id, source_thermal_externalheat::source_thermal_externalheat_init(), and material::sourcestate.

Referenced by cpfem_initall().

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

◆ constitutive_initialfi()

pure real(preal) function, dimension(3,3), public constitutive::constitutive_initialfi ( integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

collects initial intermediate deformation gradient

Parameters
[in]elelement
Returns
composite initial intermediate deformation gradient
Parameters
ipccomponent-ID of integration point
ipintegration point

Definition at line 16437 of file DAMASK_marc.f90.

References material::kinematics_thermal_expansion_id, kinematics_thermal_expansion::kinematics_thermal_expansion_initialstrain(), material::material_homogenizationat, material::material_phaseat, math::math_i3, material::phase_kinematics, material::phase_nkinematics, and material::thermalmapping.

Referenced by crystallite_init().

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

◆ constitutive_lianditstangents()

subroutine, public constitutive::constitutive_lianditstangents ( real(preal), dimension(3,3), intent(out)  Li,
real(preal), dimension(3,3,3,3), intent(out)  dLi_dS,
real(preal), dimension(3,3,3,3), intent(out)  dLi_dFi,
real(preal), dimension(3,3), intent(in)  S,
real(preal), dimension(3,3), intent(in)  Fi,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

contains the constitutive equation for calculating the velocity gradient

Parameters
[in]elelement
[in]s2nd Piola-Kirchhoff stress
[in]fiintermediate deformation gradient
[out]liintermediate velocity gradient
Parameters
dLi_dSderivative of Li with respect to S
ipccomponent-ID of integration point
ipintegration point

Definition at line 16359 of file DAMASK_marc.f90.

References material::kinematics_cleavage_opening_id, kinematics_cleavage_opening::kinematics_cleavage_opening_lianditstangent(), material::kinematics_slipplane_opening_id, kinematics_slipplane_opening::kinematics_slipplane_opening_lianditstangent(), material::kinematics_thermal_expansion_id, kinematics_thermal_expansion::kinematics_thermal_expansion_lianditstangent(), material::material_phaseat, material::material_phasememberat, math::math_det33(), math::math_i3, math::math_inv33(), material::phase_kinematics, material::phase_nkinematics, material::phase_plasticity, material::phase_plasticityinstance, and material::plasticity_isotropic_id.

Referenced by crystallite_stresstangent(), and integratestress().

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

◆ constitutive_lpanditstangents()

subroutine, public constitutive::constitutive_lpanditstangents ( real(preal), dimension(3,3), intent(out)  Lp,
real(preal), dimension(3,3,3,3), intent(out)  dLp_dS,
real(preal), dimension(3,3,3,3), intent(out)  dLp_dFi,
real(preal), dimension(3,3), intent(in)  S,
real(preal), dimension(3,3), intent(in)  Fi,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

contains the constitutive equation for calculating the velocity gradient

Parameters
[in]elelement
[in]fiintermediate deformation gradient
[out]lpplastic velocity gradient
[out]dlp_dfiderivative of Lp with respect to Fi
Parameters
S2nd Piola-Kirchhoff stress
ipccomponent-ID of integration point
ipintegration point

Definition at line 16289 of file DAMASK_marc.f90.

References material::material_homogenizationat, material::material_phaseat, material::material_phasememberat, material::phase_plasticity, material::phase_plasticityinstance, material::plasticity_dislotwin_id, material::plasticity_disloucla_id, material::plasticity_isotropic_id, material::plasticity_kinehardening_id, material::plasticity_none_id, material::plasticity_nonlocal_id, material::plasticity_phenopowerlaw_id, material::temperature, and material::thermalmapping.

Referenced by crystallite_stresstangent(), and integratestress().

+ Here is the caller graph for this function:

◆ constitutive_results()

subroutine, public constitutive::constitutive_results

writes constitutive results to HDF5 output file

Definition at line 16671 of file DAMASK_marc.f90.

References config::config_name_phase, material::phase_plasticity, material::phase_plasticityinstance, material::plasticity_dislotwin_id, material::plasticity_disloucla_id, material::plasticity_isotropic_id, material::plasticity_kinehardening_id, material::plasticity_nonlocal_id, material::plasticity_phenopowerlaw_id, results::results_addgroup(), and results::results_closegroup().

Referenced by cpfem_results().

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

◆ constitutive_sanditstangents()

subroutine, public constitutive::constitutive_sanditstangents ( real(preal), dimension(3,3), intent(out)  S,
real(preal), dimension(3,3,3,3), intent(out)  dS_dFe,
real(preal), dimension(3,3,3,3), intent(out)  dS_dFi,
real(preal), dimension(3,3), intent(in)  Fe,
real(preal), dimension(3,3), intent(in)  Fi,
integer, intent(in)  ipc,
integer, intent(in)  ip,
integer, intent(in)  el 
)

returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to the elastic/intermediate deformation gradients depending on the selected elastic law (so far no case switch because only Hooke is implemented)

Parameters
[in]elelement
[in]fiintermediate deformation gradient
[out]s2nd Piola-Kirchhoff stress tensor
[out]ds_dfiderivative of 2nd P-K stress with respect to intermediate deformation gradient
Parameters
dS_dFederivative of 2nd P-K stress with respect to elastic deformation gradient
Feelastic deformation gradient
ipccomponent-ID of integration point
ipintegration point

Definition at line 16472 of file DAMASK_marc.f90.

Referenced by crystallite_stresstangent(), and integratestress().

+ Here is the caller graph for this function:

Variable Documentation

◆ constitutive_plasticity_maxsizedotstate

integer, public, protected constitutive::constitutive_plasticity_maxsizedotstate

Definition at line 15863 of file DAMASK_marc.f90.

◆ constitutive_source_maxsizedotstate

integer, public, protected constitutive::constitutive_source_maxsizedotstate

Definition at line 15863 of file DAMASK_marc.f90.