diff --git a/src/homogenization_mechanical.f90 b/src/homogenization_mechanical.f90 index c05b576da..a19a61f72 100644 --- a/src/homogenization_mechanical.f90 +++ b/src/homogenization_mechanical.f90 @@ -2,7 +2,7 @@ !> @author Martin Diehl, KU Leuven !> @brief Partition F and homogenize P/dPdF !-------------------------------------------------------------------------------------------------- -submodule(homogenization) mechanics +submodule(homogenization) mechanical interface @@ -86,7 +86,7 @@ module subroutine mechanical_init(num_homog) class(tNode), pointer :: & num_homogMech - print'(/,a)', ' <<<+- homogenization:mechanics init -+>>>' + print'(/,a)', ' <<<+- homogenization:mechanical init -+>>>' allocate(homogenization_dPdF(3,3,3,3,discretization_nIPs*discretization_Nelems), source=0.0_pReal) homogenization_F0 = spread(math_I3,3,discretization_nIPs*discretization_Nelems) ! initialize to identity @@ -251,4 +251,4 @@ module subroutine mechanical_results(group_base,h) end subroutine mechanical_results -end submodule mechanics +end submodule mechanical diff --git a/src/homogenization_mechanical_RGC.f90 b/src/homogenization_mechanical_RGC.f90 index 546c2b65c..f1bcda380 100644 --- a/src/homogenization_mechanical_RGC.f90 +++ b/src/homogenization_mechanical_RGC.f90 @@ -6,7 +6,7 @@ !> @brief Relaxed grain cluster (RGC) homogenization scheme !> N_constituents is defined as p x q x r (cluster) !-------------------------------------------------------------------------------------------------- -submodule(homogenization:mechanics) RGC +submodule(homogenization:mechanical) RGC use rotations use lattice @@ -88,7 +88,7 @@ module subroutine mechanical_RGC_init(num_homogMech) homog, & homogMech - print'(/,a)', ' <<<+- homogenization:mechanics:RGC init -+>>>' + print'(/,a)', ' <<<+- homogenization:mechanical:RGC init -+>>>' Ninstances = count(homogenization_type == HOMOGENIZATION_RGC_ID) print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) diff --git a/src/homogenization_mechanical_isostrain.f90 b/src/homogenization_mechanical_isostrain.f90 index f9616de42..b492499d8 100644 --- a/src/homogenization_mechanical_isostrain.f90 +++ b/src/homogenization_mechanical_isostrain.f90 @@ -4,7 +4,7 @@ !> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH !> @brief Isostrain (full constraint Taylor assuption) homogenization scheme !-------------------------------------------------------------------------------------------------- -submodule(homogenization:mechanics) isostrain +submodule(homogenization:mechanical) isostrain enum, bind(c); enumerator :: & parallel_ID, & @@ -37,7 +37,7 @@ module subroutine mechanical_isostrain_init homog, & homogMech - print'(/,a)', ' <<<+- homogenization:mechanics:isostrain init -+>>>' + print'(/,a)', ' <<<+- homogenization:mechanical:isostrain init -+>>>' Ninstances = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) diff --git a/src/homogenization_mechanical_pass.f90 b/src/homogenization_mechanical_pass.f90 index 9e8f3e44c..6217e6836 100644 --- a/src/homogenization_mechanical_pass.f90 +++ b/src/homogenization_mechanical_pass.f90 @@ -4,7 +4,7 @@ !> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH !> @brief dummy homogenization homogenization scheme for 1 constituent per material point !-------------------------------------------------------------------------------------------------- -submodule(homogenization:mechanics) none +submodule(homogenization:mechanical) none contains @@ -18,7 +18,7 @@ module subroutine mechanical_pass_init h, & Nmaterialpoints - print'(/,a)', ' <<<+- homogenization:mechanics:pass init -+>>>' + print'(/,a)', ' <<<+- homogenization:mechanical:pass init -+>>>' Ninstances = count(homogenization_type == HOMOGENIZATION_NONE_ID) print'(a,i2)', ' # instances: ',Ninstances; flush(IO_STDOUT) diff --git a/src/phase.f90 b/src/phase.f90 index eb6e61eb8..f129ba92f 100644 --- a/src/phase.f90 +++ b/src/phase.f90 @@ -263,6 +263,27 @@ module phase el !< element end subroutine plastic_dependentState + + module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me) + integer, intent(in) :: ph, me + real(pReal), intent(in), dimension(3,3) :: & + S + real(pReal), intent(out), dimension(3,3) :: & + Ld !< damage velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) + end subroutine kinematics_cleavage_opening_LiAndItsTangent + + module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me) + integer, intent(in) :: ph, me + real(pReal), intent(in), dimension(3,3) :: & + S + real(pReal), intent(out), dimension(3,3) :: & + Ld !< damage velocity gradient + real(pReal), intent(out), dimension(3,3,3,3) :: & + dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) + end subroutine kinematics_slipplane_opening_LiAndItsTangent + end interface diff --git a/src/phase_mechanical.f90 b/src/phase_mechanical.f90 index ef962b7e6..c10a916da 100644 --- a/src/phase_mechanical.f90 +++ b/src/phase_mechanical.f90 @@ -1,7 +1,7 @@ !---------------------------------------------------------------------------------------------------- !> @brief internal microstructure state for all plasticity constitutive models !---------------------------------------------------------------------------------------------------- -submodule(phase) mechanics +submodule(phase) mechanical enum, bind(c); enumerator :: & @@ -202,7 +202,7 @@ module subroutine mechanical_init(phases) elastic, & stiffDegradation - print'(/,a)', ' <<<+- phase:mechanics init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical init -+>>>' !------------------------------------------------------------------------------------------------- ! initialize elasticity (hooke) !ToDO: Maybe move to elastic submodule along with function homogenizedC? @@ -1499,4 +1499,4 @@ module subroutine phase_mechanical_setF(F,co,ip,el) end subroutine phase_mechanical_setF -end submodule mechanics +end submodule mechanical diff --git a/src/phase_mechanical_eigen.f90 b/src/phase_mechanical_eigen.f90 index bee469385..bee7dc2d2 100644 --- a/src/phase_mechanical_eigen.f90 +++ b/src/phase_mechanical_eigen.f90 @@ -1,4 +1,4 @@ -submodule(phase:mechanics) eigendeformation +submodule(phase:mechanical) eigen integer, dimension(:), allocatable :: & Nmodels @@ -22,26 +22,6 @@ submodule(phase:mechanics) eigendeformation logical, dimension(:,:), allocatable :: myKinematics end function thermalexpansion_init - module subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me) - integer, intent(in) :: ph, me - real(pReal), intent(in), dimension(3,3) :: & - S - real(pReal), intent(out), dimension(3,3) :: & - Ld !< damage velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) - end subroutine kinematics_cleavage_opening_LiAndItsTangent - - module subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar, S, ph,me) - integer, intent(in) :: ph, me - real(pReal), intent(in), dimension(3,3) :: & - S - real(pReal), intent(out), dimension(3,3) :: & - Ld !< damage velocity gradient - real(pReal), intent(out), dimension(3,3,3,3) :: & - dLd_dTstar !< derivative of Ld with respect to Tstar (4th-order tensor) - end subroutine kinematics_slipplane_opening_LiAndItsTangent - module subroutine thermalexpansion_LiAndItsTangent(Li, dLi_dTstar, ph,me) integer, intent(in) :: ph, me real(pReal), intent(out), dimension(3,3) :: & @@ -69,7 +49,7 @@ module subroutine eigendeformation_init(phases) damage, & mechanics - print'(/,a)', ' <<<+- phase:mechanics:eigendeformation init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:eigen init -+>>>' !-------------------------------------------------------------------------------------------------- ! explicit eigen mechanisms @@ -246,4 +226,4 @@ module subroutine phase_LiAndItsTangents(Li, dLi_dS, dLi_dFi, & end subroutine phase_LiAndItsTangents -end submodule eigendeformation +end submodule eigen diff --git a/src/phase_mechanical_eigen_cleavageopening.f90 b/src/phase_mechanical_eigen_cleavageopening.f90 index aaa1beb97..9f29b1634 100644 --- a/src/phase_mechanical_eigen_cleavageopening.f90 +++ b/src/phase_mechanical_eigen_cleavageopening.f90 @@ -4,7 +4,7 @@ !> @brief material subroutine incorporating kinematics resulting from opening of cleavage planes !> @details to be done !-------------------------------------------------------------------------------------------------- -submodule(phase:eigendeformation) cleavageopening +submodule(phase:eigen) cleavageopening type :: tParameters !< container type for internal constitutive parameters integer :: & @@ -45,7 +45,7 @@ module function kinematics_cleavage_opening_init() result(myKinematics) myKinematics = kinematics_active2('anisobrittle') if(count(myKinematics) == 0) return - print'(/,a)', ' <<<+- phase:mechanics:eigendeformation:cleavageopening init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:eigen:cleavageopening init -+>>>' print'(a,i2)', ' # phases: ',count(myKinematics); flush(IO_STDOUT) diff --git a/src/phase_mechanical_eigen_slipplaneopening.f90 b/src/phase_mechanical_eigen_slipplaneopening.f90 index ccba98b14..e8a7d65b9 100644 --- a/src/phase_mechanical_eigen_slipplaneopening.f90 +++ b/src/phase_mechanical_eigen_slipplaneopening.f90 @@ -4,7 +4,7 @@ !> @brief material subroutine incorporating kinematics resulting from opening of slip planes !> @details to be done !-------------------------------------------------------------------------------------------------- -submodule(phase:eigendeformation) slipplaneopening +submodule(phase:eigen) slipplaneopening integer, dimension(:), allocatable :: kinematics_slipplane_opening_instance @@ -51,7 +51,7 @@ module function kinematics_slipplane_opening_init() result(myKinematics) myKinematics = kinematics_active2('isoductile') if(count(myKinematics) == 0) return - print'(/,a)', ' <<<+- phase:mechanics:eigendeformation:slipplaneopening init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:eigen:slipplaneopening init -+>>>' print'(a,i2)', ' # phases: ',count(myKinematics); flush(IO_STDOUT) diff --git a/src/phase_mechanical_eigen_thermalexpansion.f90 b/src/phase_mechanical_eigen_thermalexpansion.f90 index 1041e0957..86e7fa907 100644 --- a/src/phase_mechanical_eigen_thermalexpansion.f90 +++ b/src/phase_mechanical_eigen_thermalexpansion.f90 @@ -3,7 +3,7 @@ !> @brief material subroutine incorporating kinematics resulting from thermal expansion !> @details to be done !-------------------------------------------------------------------------------------------------- -submodule(phase:eigendeformation) thermalexpansion +submodule(phase:eigen) thermalexpansion integer, dimension(:), allocatable :: kinematics_thermal_expansion_instance @@ -36,7 +36,7 @@ module function thermalexpansion_init(kinematics_length) result(myKinematics) kinematics, & kinematic_type - print'(/,a)', ' <<<+- phase:mechanics:eigendeformation:thermalexpansion init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:eigen:thermalexpansion init -+>>>' myKinematics = kinematics_active('thermal_expansion',kinematics_length) Ninstances = count(myKinematics) diff --git a/src/phase_mechanical_plastic.f90 b/src/phase_mechanical_plastic.f90 index ed1dc64fb..843273c72 100644 --- a/src/phase_mechanical_plastic.f90 +++ b/src/phase_mechanical_plastic.f90 @@ -1,4 +1,4 @@ -submodule(phase:mechanics) plastic +submodule(phase:mechanical) plastic interface @@ -226,7 +226,7 @@ contains module subroutine plastic_init - print'(/,a)', ' <<<+- phase:mechanics:plastic init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic init -+>>>' where(plastic_none_init()) phase_plasticity = PLASTICITY_NONE_ID where(plastic_isotropic_init()) phase_plasticity = PLASTICITY_ISOTROPIC_ID diff --git a/src/phase_mechanical_plastic_dislotungsten.f90 b/src/phase_mechanical_plastic_dislotungsten.f90 index 4db546b67..6eb1e4abe 100644 --- a/src/phase_mechanical_plastic_dislotungsten.f90 +++ b/src/phase_mechanical_plastic_dislotungsten.f90 @@ -101,7 +101,7 @@ module function plastic_dislotungsten_init() result(myPlasticity) Ninstances = count(myPlasticity) if(Ninstances == 0) return - print'(/,a)', ' <<<+- phase:mechanics:plastic:dislotungsten init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:dislotungsten init -+>>>' print'(a,i0)', ' # phases: ',Ninstances; flush(IO_STDOUT) diff --git a/src/phase_mechanical_plastic_dislotwin.f90 b/src/phase_mechanical_plastic_dislotwin.f90 index 2a011dfda..ca385f417 100644 --- a/src/phase_mechanical_plastic_dislotwin.f90 +++ b/src/phase_mechanical_plastic_dislotwin.f90 @@ -148,7 +148,7 @@ module function plastic_dislotwin_init() result(myPlasticity) Ninstances = count(myPlasticity) if(Ninstances == 0) return - print'(/,a)', ' <<<+- phase:mechanics:plastic:dislotwin init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:dislotwin init -+>>>' print'(a,i0)', ' # phases: ',Ninstances; flush(IO_STDOUT) print*, 'Ma and Roters, Acta Materialia 52(12):3603–3612, 2004' diff --git a/src/phase_mechanical_plastic_isotropic.f90 b/src/phase_mechanical_plastic_isotropic.f90 index 4cb1bf28c..e315a38fb 100644 --- a/src/phase_mechanical_plastic_isotropic.f90 +++ b/src/phase_mechanical_plastic_isotropic.f90 @@ -72,7 +72,7 @@ module function plastic_isotropic_init() result(myPlasticity) Ninstances = count(myPlasticity) if(Ninstances == 0) return - print'(/,a)', ' <<<+- phase:mechanics:plastic:isotropic init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:isotropic init -+>>>' print'(a,i0)', ' # phses: ',Ninstances; flush(IO_STDOUT) diff --git a/src/phase_mechanical_plastic_kinehardening.f90 b/src/phase_mechanical_plastic_kinehardening.f90 index 0ef762ffe..1244988de 100644 --- a/src/phase_mechanical_plastic_kinehardening.f90 +++ b/src/phase_mechanical_plastic_kinehardening.f90 @@ -84,7 +84,7 @@ module function plastic_kinehardening_init() result(myPlasticity) Ninstances = count(myPlasticity) if(Ninstances == 0) return - print'(/,a)', ' <<<+- phase:mechanics:plastic:kinehardening init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:kinehardening init -+>>>' print'(a,i0)', ' # phases: ',Ninstances; flush(IO_STDOUT) diff --git a/src/phase_mechanical_plastic_none.f90 b/src/phase_mechanical_plastic_none.f90 index f16cf98fb..1510262cc 100644 --- a/src/phase_mechanical_plastic_none.f90 +++ b/src/phase_mechanical_plastic_none.f90 @@ -25,7 +25,7 @@ module function plastic_none_init() result(myPlasticity) myPlasticity = plastic_active('none') if(count(myPlasticity) == 0) return - print'(/,a)', ' <<<+- phase:mechanics:plastic:none init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:none init -+>>>' print'(a,i0)', ' # phases: ',count(myPlasticity); flush(IO_STDOUT) phases => config_material%get('phase') diff --git a/src/phase_mechanical_plastic_nonlocal.f90 b/src/phase_mechanical_plastic_nonlocal.f90 index 5cfd9cf4d..4e94f83ae 100644 --- a/src/phase_mechanical_plastic_nonlocal.f90 +++ b/src/phase_mechanical_plastic_nonlocal.f90 @@ -194,7 +194,7 @@ module function plastic_nonlocal_init() result(myPlasticity) return endif - print'(/,a)', ' <<<+- phase:mechanics:plastic:nonlocal init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:nonlocal init -+>>>' print'(a,i0)', ' # phases: ',Ninstances; flush(IO_STDOUT) print*, 'Reuber et al., Acta Materialia 71:333–348, 2014' diff --git a/src/phase_mechanical_plastic_phenopowerlaw.f90 b/src/phase_mechanical_plastic_phenopowerlaw.f90 index 6a7d5ea7f..bea7ef06b 100644 --- a/src/phase_mechanical_plastic_phenopowerlaw.f90 +++ b/src/phase_mechanical_plastic_phenopowerlaw.f90 @@ -94,7 +94,7 @@ module function plastic_phenopowerlaw_init() result(myPlasticity) Ninstances = count(myPlasticity) if(Ninstances == 0) return - print'(/,a)', ' <<<+- phase:mechanics:plastic:phenopowerlaw init -+>>>' + print'(/,a)', ' <<<+- phase:mechanical:plastic:phenopowerlaw init -+>>>' print'(a,i0)', ' # phases: ',Ninstances; flush(IO_STDOUT)