Corrected Kirchoff --> Kirchhoff
This commit is contained in:
parent
fdb0bcf8af
commit
c1358294f7
|
@ -1,5 +1,5 @@
|
||||||
!----------------------------------------------------------------------------------------------------
|
!----------------------------------------------------------------------------------------------------
|
||||||
!> @brief internal microstructure state for all thermal sources and kinematics constitutive models
|
!> @brief internal microstructure state for all thermal sources and kinematics constitutive models
|
||||||
!----------------------------------------------------------------------------------------------------
|
!----------------------------------------------------------------------------------------------------
|
||||||
submodule(constitutive) constitutive_thermal
|
submodule(constitutive) constitutive_thermal
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ submodule(constitutive) constitutive_thermal
|
||||||
|
|
||||||
module subroutine source_thermal_dissipation_init
|
module subroutine source_thermal_dissipation_init
|
||||||
end subroutine source_thermal_dissipation_init
|
end subroutine source_thermal_dissipation_init
|
||||||
|
|
||||||
module subroutine source_thermal_externalheat_init
|
module subroutine source_thermal_externalheat_init
|
||||||
end subroutine source_thermal_externalheat_init
|
end subroutine source_thermal_externalheat_init
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ submodule(constitutive) constitutive_thermal
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
phase !< phase ID of element
|
phase !< phase ID of element
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
Tstar !< 2nd Piola Kirchoff stress tensor for a given element
|
Tstar !< 2nd Piola Kirchhoff stress tensor for a given element
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
Lp !< plastic velocuty gradient for a given element
|
Lp !< plastic velocuty gradient for a given element
|
||||||
real(pReal), intent(out) :: &
|
real(pReal), intent(out) :: &
|
||||||
|
@ -48,7 +48,7 @@ module subroutine thermal_init
|
||||||
! initialize source mechanisms
|
! initialize source mechanisms
|
||||||
if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init
|
if (any(phase_source == SOURCE_thermal_dissipation_ID)) call source_thermal_dissipation_init
|
||||||
if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init
|
if (any(phase_source == SOURCE_thermal_externalheat_ID)) call source_thermal_externalheat_init
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!initialize kinematic mechanisms
|
!initialize kinematic mechanisms
|
||||||
if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init
|
if (any(phase_kinematics == KINEMATICS_thermal_expansion_ID)) call kinematics_thermal_expansion_init
|
||||||
|
@ -66,7 +66,7 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T,
|
||||||
real(pReal), intent(in) :: &
|
real(pReal), intent(in) :: &
|
||||||
T
|
T
|
||||||
real(pReal), intent(in), dimension(:,:,:,:,:) :: &
|
real(pReal), intent(in), dimension(:,:,:,:,:) :: &
|
||||||
S, & !< current 2nd Piola Kirchoff stress
|
S, & !< current 2nd Piola Kirchhoff stress
|
||||||
Lp !< plastic velocity gradient
|
Lp !< plastic velocity gradient
|
||||||
real(pReal), intent(inout) :: &
|
real(pReal), intent(inout) :: &
|
||||||
TDot, &
|
TDot, &
|
||||||
|
@ -82,34 +82,34 @@ module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T,
|
||||||
grain, &
|
grain, &
|
||||||
source, &
|
source, &
|
||||||
constituent
|
constituent
|
||||||
|
|
||||||
homog = material_homogenizationAt(el)
|
homog = material_homogenizationAt(el)
|
||||||
instance = thermal_typeInstance(homog)
|
instance = thermal_typeInstance(homog)
|
||||||
|
|
||||||
do grain = 1, homogenization_Ngrains(homog)
|
do grain = 1, homogenization_Ngrains(homog)
|
||||||
phase = material_phaseAt(grain,el)
|
phase = material_phaseAt(grain,el)
|
||||||
constituent = material_phasememberAt(grain,ip,el)
|
constituent = material_phasememberAt(grain,ip,el)
|
||||||
do source = 1, phase_Nsources(phase)
|
do source = 1, phase_Nsources(phase)
|
||||||
select case(phase_source(source,phase))
|
select case(phase_source(source,phase))
|
||||||
case (SOURCE_thermal_dissipation_ID)
|
case (SOURCE_thermal_dissipation_ID)
|
||||||
call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, &
|
call source_thermal_dissipation_getRateAndItsTangent(my_Tdot, my_dTdot_dT, &
|
||||||
S(1:3,1:3,grain,ip,el), &
|
S(1:3,1:3,grain,ip,el), &
|
||||||
Lp(1:3,1:3,grain,ip,el), &
|
Lp(1:3,1:3,grain,ip,el), &
|
||||||
phase)
|
phase)
|
||||||
|
|
||||||
case (SOURCE_thermal_externalheat_ID)
|
case (SOURCE_thermal_externalheat_ID)
|
||||||
call source_thermal_externalheat_getRateAndItsTangent(my_Tdot, my_dTdot_dT, &
|
call source_thermal_externalheat_getRateAndItsTangent(my_Tdot, my_dTdot_dT, &
|
||||||
phase, constituent)
|
phase, constituent)
|
||||||
|
|
||||||
case default
|
case default
|
||||||
my_Tdot = 0.0_pReal
|
my_Tdot = 0.0_pReal
|
||||||
my_dTdot_dT = 0.0_pReal
|
my_dTdot_dT = 0.0_pReal
|
||||||
end select
|
end select
|
||||||
Tdot = Tdot + my_Tdot
|
Tdot = Tdot + my_Tdot
|
||||||
dTdot_dT = dTdot_dT + my_dTdot_dT
|
dTdot_dT = dTdot_dT + my_dTdot_dT
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end subroutine constitutive_thermal_getRateAndItsTangents
|
end subroutine constitutive_thermal_getRateAndItsTangents
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ module crystallite
|
||||||
iJacoLpresiduum, & !< frequency of Jacobian update of residuum in Lp
|
iJacoLpresiduum, & !< frequency of Jacobian update of residuum in Lp
|
||||||
nState, & !< state loop limit
|
nState, & !< state loop limit
|
||||||
nStress !< stress loop limit
|
nStress !< stress loop limit
|
||||||
character(len=:), allocatable :: &
|
character(len=:), allocatable :: &
|
||||||
integrator !< integration scheme
|
integrator !< integration scheme
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback
|
subStepMinCryst, & !< minimum (relative) size of sub-step allowed during cutback
|
||||||
|
@ -140,7 +140,7 @@ subroutine crystallite_init
|
||||||
iMax, & !< maximum number of integration points
|
iMax, & !< maximum number of integration points
|
||||||
eMax, & !< maximum number of elements
|
eMax, & !< maximum number of elements
|
||||||
myNcomponents !< number of components at current IP
|
myNcomponents !< number of components at current IP
|
||||||
|
|
||||||
class(tNode), pointer :: &
|
class(tNode), pointer :: &
|
||||||
num_crystallite, &
|
num_crystallite, &
|
||||||
debug_crystallite ! pointer to debug options for crystallite
|
debug_crystallite ! pointer to debug options for crystallite
|
||||||
|
@ -715,11 +715,11 @@ subroutine crystallite_results
|
||||||
case('p')
|
case('p')
|
||||||
selected_tensors = select_tensors(crystallite_P,p)
|
selected_tensors = select_tensors(crystallite_P,p)
|
||||||
call results_writeDataset(group,selected_tensors,'P',&
|
call results_writeDataset(group,selected_tensors,'P',&
|
||||||
'First Piola-Kirchoff stress','Pa')
|
'First Piola-Kirchhoff stress','Pa')
|
||||||
case('s')
|
case('s')
|
||||||
selected_tensors = select_tensors(crystallite_S,p)
|
selected_tensors = select_tensors(crystallite_S,p)
|
||||||
call results_writeDataset(group,selected_tensors,'S',&
|
call results_writeDataset(group,selected_tensors,'S',&
|
||||||
'Second Piola-Kirchoff stress','Pa')
|
'Second Piola-Kirchhoff stress','Pa')
|
||||||
case('orientation')
|
case('orientation')
|
||||||
select case(lattice_structure(p))
|
select case(lattice_structure(p))
|
||||||
case(lattice_ISO_ID)
|
case(lattice_ISO_ID)
|
||||||
|
|
|
@ -152,12 +152,12 @@ subroutine homogenization_init
|
||||||
debug_homogenization
|
debug_homogenization
|
||||||
|
|
||||||
debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList)
|
debug_homogenization => debug_root%get('homogenization', defaultVal=emptyList)
|
||||||
debugHomog%basic = debug_homogenization%contains('basic')
|
debugHomog%basic = debug_homogenization%contains('basic')
|
||||||
debugHomog%extensive = debug_homogenization%contains('extensive')
|
debugHomog%extensive = debug_homogenization%contains('extensive')
|
||||||
debugHomog%selective = debug_homogenization%contains('selective')
|
debugHomog%selective = debug_homogenization%contains('selective')
|
||||||
debugHomog%element = debug_root%get_asInt('element',defaultVal = 1)
|
debugHomog%element = debug_root%get_asInt('element',defaultVal = 1)
|
||||||
debugHomog%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1)
|
debugHomog%ip = debug_root%get_asInt('integrationpoint',defaultVal = 1)
|
||||||
debugHomog%grain = debug_root%get_asInt('grain',defaultVal = 1)
|
debugHomog%grain = debug_root%get_asInt('grain',defaultVal = 1)
|
||||||
|
|
||||||
if (debugHomog%grain < 1 &
|
if (debugHomog%grain < 1 &
|
||||||
.or. debugHomog%grain > homogenization_Ngrains(material_homogenizationAt(debugHomog%element))) &
|
.or. debugHomog%grain > homogenization_Ngrains(material_homogenizationAt(debugHomog%element))) &
|
||||||
|
@ -618,7 +618,7 @@ subroutine homogenization_results
|
||||||
! 'deformation gradient','1')
|
! 'deformation gradient','1')
|
||||||
!temp = reshape(materialpoint_P,[3,3,discretization_nIP*discretization_nElem])
|
!temp = reshape(materialpoint_P,[3,3,discretization_nIP*discretization_nElem])
|
||||||
!call results_writeDataset(group,temp,'P',&
|
!call results_writeDataset(group,temp,'P',&
|
||||||
! '1st Piola-Kirchoff stress','Pa')
|
! '1st Piola-Kirchhoff stress','Pa')
|
||||||
|
|
||||||
group = trim(group_base)//'/mech'
|
group = trim(group_base)//'/mech'
|
||||||
call results_closeGroup(results_addGroup(group))
|
call results_closeGroup(results_addGroup(group))
|
||||||
|
|
Loading…
Reference in New Issue