tI symmetry of 2nd order tensor is equivalent to hP

This commit is contained in:
Martin Diehl 2021-05-26 22:49:53 +02:00
parent 16128c257a
commit bdb4029fb5
7 changed files with 3 additions and 13 deletions

@ -1 +1 @@
Subproject commit a4542879e2d16fecc45605f2ac90d8a68f167657 Subproject commit 185cb53be76eded17565c5fa91bd9b4499cda4b8

View File

@ -1,4 +1,3 @@
C_p: 1 C_p: 1
K_11: 0 K_11: 0
K_22: 0
K_33: 0 K_33: 0

View File

@ -1,4 +1,3 @@
C_p: 1 C_p: 1
K_11: 1e30 K_11: 1e30
K_22: 1e30
K_33: 1e30 K_33: 1e30

View File

@ -1679,14 +1679,10 @@ pure function lattice_applyLatticeSymmetry33(T,structure) result(T_sym)
T_sym(1,1) = T(1,1) T_sym(1,1) = T(1,1)
T_sym(2,2) = T(1,1) T_sym(2,2) = T(1,1)
T_sym(3,3) = T(1,1) T_sym(3,3) = T(1,1)
case('hP') ! MD TODO: I think that 'tI' has the same symmetry as 'hP' for 2nd order tensors case('hP','tI')
T_sym(1,1) = T(1,1) T_sym(1,1) = T(1,1)
T_sym(2,2) = T(1,1) T_sym(2,2) = T(1,1)
T_sym(3,3) = T(3,3) T_sym(3,3) = T(3,3)
case('tI')
T_sym(1,1) = T(1,1)
T_sym(2,2) = T(2,2)
T_sym(3,3) = T(3,3)
end select end select
end function lattice_applyLatticeSymmetry33 end function lattice_applyLatticeSymmetry33
@ -2277,7 +2273,7 @@ subroutine selfTest
if (any(dNeq(T(1,1),[T_cI(1,1),T_cI(2,2),T_cI(3,3)]))) error stop 'Symmetry33_11-22-33/c' if (any(dNeq(T(1,1),[T_cI(1,1),T_cI(2,2),T_cI(3,3)]))) error stop 'Symmetry33_11-22-33/c'
if (any(dNeq(T(1,1),[T_hP(1,1),T_hP(2,2)]))) error stop 'Symmetry33_11-22/hP' if (any(dNeq(T(1,1),[T_hP(1,1),T_hP(2,2)]))) error stop 'Symmetry33_11-22/hP'
!if (any(dNeq(T(1,1),[T_tI(1,1),T_tI(2,2)))) error stop 'Symmetry33_11-22/tI' if (any(dNeq(T(1,1),[T_tI(1,1),T_tI(2,2)]))) error stop 'Symmetry33_11-22/tI'
enddo enddo

View File

@ -121,7 +121,6 @@ module subroutine damage_init
source => sources%get(1) source => sources%get(1)
param(ph)%mu = source%get_asFloat('M',defaultVal=0.0_pReal) param(ph)%mu = source%get_asFloat('M',defaultVal=0.0_pReal)
param(ph)%K(1,1) = source%get_asFloat('D_11',defaultVal=0.0_pReal) param(ph)%K(1,1) = source%get_asFloat('D_11',defaultVal=0.0_pReal)
param(ph)%K(2,2) = source%get_asFloat('D_22',defaultVal=0.0_pReal)
param(ph)%K(3,3) = source%get_asFloat('D_33',defaultVal=0.0_pReal) param(ph)%K(3,3) = source%get_asFloat('D_33',defaultVal=0.0_pReal)
param(ph)%K = lattice_applyLatticeSymmetry33(param(ph)%K,phase%get_asString('lattice')) param(ph)%K = lattice_applyLatticeSymmetry33(param(ph)%K,phase%get_asString('lattice'))
endif endif

View File

@ -64,8 +64,6 @@ module function thermalexpansion_init(kinematics_length) result(myKinematics)
! read up to three parameters (constant, linear, quadratic with T) ! read up to three parameters (constant, linear, quadratic with T)
temp = kinematic_type%get_as1dFloat('A_11') temp = kinematic_type%get_as1dFloat('A_11')
prm%A(1,1,1:size(temp)) = temp prm%A(1,1,1:size(temp)) = temp
temp = kinematic_type%get_as1dFloat('A_22',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp))
prm%A(2,2,1:size(temp)) = temp
temp = kinematic_type%get_as1dFloat('A_33',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp)) temp = kinematic_type%get_as1dFloat('A_33',defaultVal=[(0.0_pReal, i=1,size(temp))],requiredSize=size(temp))
prm%A(3,3,1:size(temp)) = temp prm%A(3,3,1:size(temp)) = temp
do i=1, size(prm%A,3) do i=1, size(prm%A,3)

View File

@ -102,7 +102,6 @@ module subroutine thermal_init(phases)
thermal => phase%get('thermal',defaultVal=emptyDict) thermal => phase%get('thermal',defaultVal=emptyDict)
param(ph)%C_p = thermal%get_asFloat('C_p',defaultVal=0.0_pReal) param(ph)%C_p = thermal%get_asFloat('C_p',defaultVal=0.0_pReal)
param(ph)%K(1,1) = thermal%get_asFloat('K_11',defaultVal=0.0_pReal) ! ToDo: make mandatory? param(ph)%K(1,1) = thermal%get_asFloat('K_11',defaultVal=0.0_pReal) ! ToDo: make mandatory?
param(ph)%K(2,2) = thermal%get_asFloat('K_22',defaultVal=0.0_pReal) ! ToDo: depends on symmtery
param(ph)%K(3,3) = thermal%get_asFloat('K_33',defaultVal=0.0_pReal) ! ToDo: depends on symmtery param(ph)%K(3,3) = thermal%get_asFloat('K_33',defaultVal=0.0_pReal) ! ToDo: depends on symmtery
param(ph)%K = lattice_applyLatticeSymmetry33(param(ph)%K,phase%get_asString('lattice')) param(ph)%K = lattice_applyLatticeSymmetry33(param(ph)%K,phase%get_asString('lattice'))