better function name, crystallite should not know which physics is involved
This commit is contained in:
parent
77567bd398
commit
3a5e3b36c1
|
@ -140,7 +140,7 @@ module constitutive
|
|||
el !< element
|
||||
end function plastic_dislotwin_homogenizedC
|
||||
|
||||
module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el)
|
||||
module subroutine constitutive_dependentState(F, Fp, ipc, ip, el)
|
||||
|
||||
integer, intent(in) :: &
|
||||
ipc, & !< component-ID of integration point
|
||||
|
@ -149,9 +149,9 @@ module constitutive
|
|||
real(pReal), intent(in), dimension(3,3) :: &
|
||||
F, & !< elastic deformation gradient
|
||||
Fp !< plastic deformation gradient
|
||||
end subroutine constitutive_plastic_dependentState
|
||||
end subroutine constitutive_dependentState
|
||||
|
||||
module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
||||
module subroutine constitutive_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
||||
S, Fi, ipc, ip, el)
|
||||
integer, intent(in) :: &
|
||||
ipc, & !< component-ID of integration point
|
||||
|
@ -166,7 +166,7 @@ module constitutive
|
|||
dLp_dS, &
|
||||
dLp_dFi !< derivative of Lp with respect to Fi
|
||||
|
||||
end subroutine constitutive_plastic_LpAndItsTangents
|
||||
end subroutine constitutive_LpAndItsTangents
|
||||
|
||||
pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain)
|
||||
|
||||
|
@ -368,8 +368,8 @@ module constitutive
|
|||
public :: &
|
||||
constitutive_init, &
|
||||
constitutive_homogenizedC, &
|
||||
constitutive_plastic_LpAndItsTangents, &
|
||||
constitutive_plastic_dependentState, &
|
||||
constitutive_LpAndItsTangents, &
|
||||
constitutive_dependentState, &
|
||||
constitutive_LiAndItsTangents, &
|
||||
constitutive_initialFi, &
|
||||
constitutive_SandItsTangents, &
|
||||
|
|
|
@ -171,7 +171,7 @@ end subroutine plastic_init
|
|||
!--------------------------------------------------------------------------------------------------
|
||||
!> @brief calls microstructure function of the different constitutive models
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
module procedure constitutive_plastic_dependentState
|
||||
module procedure constitutive_dependentState
|
||||
|
||||
integer :: &
|
||||
ho, & !< homogenization
|
||||
|
@ -192,14 +192,14 @@ module procedure constitutive_plastic_dependentState
|
|||
call plastic_nonlocal_dependentState (F,Fp,instance,of,ip,el)
|
||||
end select plasticityType
|
||||
|
||||
end procedure constitutive_plastic_dependentState
|
||||
end procedure constitutive_dependentState
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
!> @brief contains the constitutive equation for calculating the velocity gradient
|
||||
! ToDo: Discuss whether it makes sense if crystallite handles the configuration conversion, i.e.
|
||||
! Mp in, dLp_dMp out
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
module procedure constitutive_plastic_LpAndItsTangents
|
||||
module procedure constitutive_LpAndItsTangents
|
||||
|
||||
real(pReal), dimension(3,3,3,3) :: &
|
||||
dLp_dMp !< derivative of Lp with respect to Mandel stress
|
||||
|
@ -250,7 +250,7 @@ module procedure constitutive_plastic_LpAndItsTangents
|
|||
dLp_dS(i,j,1:3,1:3) = matmul(matmul(transpose(Fi),Fi),dLp_dMp(i,j,1:3,1:3)) ! ToDo: @PS: why not: dLp_dMp:(FiT Fi)
|
||||
enddo; enddo
|
||||
|
||||
end procedure constitutive_plastic_LpAndItsTangents
|
||||
end procedure constitutive_LpAndItsTangents
|
||||
|
||||
end submodule constitutive_plastic
|
||||
|
||||
|
|
|
@ -279,7 +279,7 @@ subroutine crystallite_init
|
|||
do e = FEsolving_execElem(1),FEsolving_execElem(2)
|
||||
do i = FEsolving_execIP(1),FEsolving_execIP(2)
|
||||
do c = 1,homogenization_Ngrains(material_homogenizationAt(e))
|
||||
call constitutive_plastic_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), &
|
||||
call constitutive_dependentState(crystallite_partionedF0(1:3,1:3,c,i,e), &
|
||||
crystallite_partionedFp0(1:3,1:3,c,i,e), &
|
||||
c,i,e) ! update dependent state variables to be consistent with basic states
|
||||
enddo
|
||||
|
@ -554,7 +554,7 @@ subroutine crystallite_stressTangent
|
|||
dLidS = math_mul3333xx3333(dLidFi,dFidS) + dLidS
|
||||
endif
|
||||
|
||||
call constitutive_plastic_LpAndItsTangents(devNull,dLpdS,dLpdFi, &
|
||||
call constitutive_LpAndItsTangents(devNull,dLpdS,dLpdFi, &
|
||||
crystallite_S (1:3,1:3,c,i,e), &
|
||||
crystallite_Fi(1:3,1:3,c,i,e),c,i,e) ! call constitutive law to calculate Lp tangent in lattice configuration
|
||||
dLpdS = math_mul3333xx3333(dLpdFi,dFidS) + dLpdS
|
||||
|
@ -874,7 +874,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken)
|
|||
F = crystallite_subF(1:3,1:3,ipc,ip,el)
|
||||
endif
|
||||
|
||||
call constitutive_plastic_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), &
|
||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), &
|
||||
crystallite_Fp(1:3,1:3,ipc,ip,el),ipc,ip,el)
|
||||
|
||||
Lpguess = crystallite_Lp(1:3,1:3,ipc,ip,el) ! take as first guess
|
||||
|
@ -915,7 +915,7 @@ function integrateStress(ipc,ip,el,timeFraction) result(broken)
|
|||
call constitutive_SandItsTangents(S, dS_dFe, dS_dFi, &
|
||||
Fe, Fi_new, ipc, ip, el)
|
||||
|
||||
call constitutive_plastic_LpAndItsTangents(Lp_constitutive, dLp_dS, dLp_dFi, &
|
||||
call constitutive_LpAndItsTangents(Lp_constitutive, dLp_dS, dLp_dFi, &
|
||||
S, Fi_new, ipc, ip, el)
|
||||
|
||||
!* update current residuum and check for convergence of loop
|
||||
|
|
Loading…
Reference in New Issue