can be easily computed during post processing
This commit is contained in:
parent
901355d2ae
commit
fcff6b908a
|
@ -5,15 +5,10 @@
|
||||||
(output) orientation # quaternion
|
(output) orientation # quaternion
|
||||||
(output) eulerangles # orientation as Bunge triple in degree
|
(output) eulerangles # orientation as Bunge triple in degree
|
||||||
(output) grainrotation # deviation from initial orientation as axis (1-3) and angle in degree (4) in crystal reference coordinates
|
(output) grainrotation # deviation from initial orientation as axis (1-3) and angle in degree (4) in crystal reference coordinates
|
||||||
(output) grainrotationx # deviation from initial orientation as angle in degrees around sample reference x axis
|
(output) f # deformation gradient tensor
|
||||||
(output) grainrotationy # deviation from initial orientation as angle in degrees around sample reference y axis
|
|
||||||
(output) grainrotationz # deviation from initial orientation as angle in degrees around sample reference z axis
|
|
||||||
(output) f # deformation gradient tensor; synonyms: "defgrad"
|
|
||||||
(output) fe # elastic deformation gradient tensor
|
(output) fe # elastic deformation gradient tensor
|
||||||
(output) fp # plastic deformation gradient tensor
|
(output) fp # plastic deformation gradient tensor
|
||||||
(output) e # total strain as Green-Lagrange tensor
|
(output) p # first Piola-Kichhoff stress tensor
|
||||||
(output) ee # elastic strain as Green-Lagrange tensor
|
(output) s # second Piola-Kichhoff stress tensor
|
||||||
(output) p # first Piola-Kichhoff stress tensor; synonyms: "firstpiola", "1stpiola"
|
|
||||||
(output) s # second Piola-Kichhoff stress tensor; synonyms: "tstar", "secondpiola", "2ndpiola"
|
|
||||||
(output) lp # plastic velocity gradient tensor
|
(output) lp # plastic velocity gradient tensor
|
||||||
(output) elasmatrix # elastic stiffness matrix
|
(output) elasmatrix # elastic stiffness matrix
|
||||||
|
|
|
@ -90,9 +90,6 @@ module crystallite
|
||||||
phase_ID, &
|
phase_ID, &
|
||||||
texture_ID, &
|
texture_ID, &
|
||||||
volume_ID, &
|
volume_ID, &
|
||||||
grainrotationx_ID, &
|
|
||||||
grainrotationy_ID, &
|
|
||||||
grainrotationz_ID, &
|
|
||||||
orientation_ID, &
|
orientation_ID, &
|
||||||
grainrotation_ID, &
|
grainrotation_ID, &
|
||||||
eulerangles_ID, &
|
eulerangles_ID, &
|
||||||
|
@ -102,8 +99,6 @@ module crystallite
|
||||||
fi_ID, &
|
fi_ID, &
|
||||||
lp_ID, &
|
lp_ID, &
|
||||||
li_ID, &
|
li_ID, &
|
||||||
e_ID, &
|
|
||||||
ee_ID, &
|
|
||||||
p_ID, &
|
p_ID, &
|
||||||
s_ID, &
|
s_ID, &
|
||||||
elasmatrix_ID, &
|
elasmatrix_ID, &
|
||||||
|
@ -302,12 +297,6 @@ subroutine crystallite_init
|
||||||
crystallite_outputID(o,c) = texture_ID
|
crystallite_outputID(o,c) = texture_ID
|
||||||
case ('volume') outputName
|
case ('volume') outputName
|
||||||
crystallite_outputID(o,c) = volume_ID
|
crystallite_outputID(o,c) = volume_ID
|
||||||
case ('grainrotationx') outputName
|
|
||||||
crystallite_outputID(o,c) = grainrotationx_ID
|
|
||||||
case ('grainrotationy') outputName
|
|
||||||
crystallite_outputID(o,c) = grainrotationy_ID
|
|
||||||
case ('grainrotationz') outputName
|
|
||||||
crystallite_outputID(o,c) = grainrotationx_ID
|
|
||||||
case ('orientation') outputName
|
case ('orientation') outputName
|
||||||
crystallite_outputID(o,c) = orientation_ID
|
crystallite_outputID(o,c) = orientation_ID
|
||||||
case ('grainrotation') outputName
|
case ('grainrotation') outputName
|
||||||
|
@ -326,10 +315,6 @@ subroutine crystallite_init
|
||||||
crystallite_outputID(o,c) = lp_ID
|
crystallite_outputID(o,c) = lp_ID
|
||||||
case ('li') outputName
|
case ('li') outputName
|
||||||
crystallite_outputID(o,c) = li_ID
|
crystallite_outputID(o,c) = li_ID
|
||||||
case ('e') outputName
|
|
||||||
crystallite_outputID(o,c) = e_ID
|
|
||||||
case ('ee') outputName
|
|
||||||
crystallite_outputID(o,c) = ee_ID
|
|
||||||
case ('p','firstpiola','1stpiola') outputName
|
case ('p','firstpiola','1stpiola') outputName
|
||||||
crystallite_outputID(o,c) = p_ID
|
crystallite_outputID(o,c) = p_ID
|
||||||
case ('s','tstar','secondpiola','2ndpiola') outputName
|
case ('s','tstar','secondpiola','2ndpiola') outputName
|
||||||
|
@ -350,13 +335,13 @@ subroutine crystallite_init
|
||||||
do r = 1_pInt,size(config_crystallite)
|
do r = 1_pInt,size(config_crystallite)
|
||||||
do o = 1_pInt,crystallite_Noutput(r)
|
do o = 1_pInt,crystallite_Noutput(r)
|
||||||
select case(crystallite_outputID(o,r))
|
select case(crystallite_outputID(o,r))
|
||||||
case(phase_ID,texture_ID,volume_ID,grainrotationx_ID,grainrotationy_ID,grainrotationz_ID)
|
case(phase_ID,texture_ID,volume_ID)
|
||||||
mySize = 1_pInt
|
mySize = 1_pInt
|
||||||
case(orientation_ID,grainrotation_ID)
|
case(orientation_ID,grainrotation_ID)
|
||||||
mySize = 4_pInt
|
mySize = 4_pInt
|
||||||
case(eulerangles_ID)
|
case(eulerangles_ID)
|
||||||
mySize = 3_pInt
|
mySize = 3_pInt
|
||||||
case(defgrad_ID,fe_ID,fp_ID,fi_ID,lp_ID,li_ID,e_ID,ee_ID,p_ID,s_ID)
|
case(defgrad_ID,fe_ID,fp_ID,fi_ID,lp_ID,li_ID,p_ID,s_ID)
|
||||||
mySize = 9_pInt
|
mySize = 9_pInt
|
||||||
case(elasmatrix_ID)
|
case(elasmatrix_ID)
|
||||||
mySize = 36_pInt
|
mySize = 36_pInt
|
||||||
|
@ -3706,9 +3691,7 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
math_det33, &
|
math_det33, &
|
||||||
math_I3, &
|
math_I3, &
|
||||||
inDeg, &
|
inDeg, &
|
||||||
math_Mandel6to33, &
|
math_Mandel6to33
|
||||||
math_qMul, &
|
|
||||||
math_qConj
|
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
mesh_element, &
|
mesh_element, &
|
||||||
mesh_ipVolume, &
|
mesh_ipVolume, &
|
||||||
|
@ -3786,18 +3769,6 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
crystallite_postResults(c+1:c+mySize) = &
|
crystallite_postResults(c+1:c+mySize) = &
|
||||||
math_qToEulerAxisAngle(crystallite_rotation(1:4,ipc,ip,el)) ! grain rotation away from initial orientation as axis-angle in sample reference coordinates
|
math_qToEulerAxisAngle(crystallite_rotation(1:4,ipc,ip,el)) ! grain rotation away from initial orientation as axis-angle in sample reference coordinates
|
||||||
crystallite_postResults(c+4) = inDeg * crystallite_postResults(c+4) ! angle in degree
|
crystallite_postResults(c+4) = inDeg * crystallite_postResults(c+4) ! angle in degree
|
||||||
case (grainrotationx_ID)
|
|
||||||
mySize = 1_pInt
|
|
||||||
rotation = math_qToEulerAxisAngle(crystallite_rotation(1:4,ipc,ip,el)) ! grain rotation away from initial orientation as axis-angle in sample reference coordinates
|
|
||||||
crystallite_postResults(c+1) = inDeg * rotation(1) * rotation(4) ! angle in degree
|
|
||||||
case (grainrotationy_ID)
|
|
||||||
mySize = 1_pInt
|
|
||||||
rotation = math_qToEulerAxisAngle(crystallite_rotation(1:4,ipc,ip,el)) ! grain rotation away from initial orientation as axis-angle in sample reference coordinates
|
|
||||||
crystallite_postResults(c+1) = inDeg * rotation(2) * rotation(4) ! angle in degree
|
|
||||||
case (grainrotationz_ID)
|
|
||||||
mySize = 1_pInt
|
|
||||||
rotation = math_qToEulerAxisAngle(crystallite_rotation(1:4,ipc,ip,el)) ! grain rotation away from initial orientation as axis-angle in sample reference coordinates
|
|
||||||
crystallite_postResults(c+1) = inDeg * rotation(3) * rotation(4) ! angle in degree
|
|
||||||
|
|
||||||
! remark: tensor output is of the form 11,12,13, 21,22,23, 31,32,33
|
! remark: tensor output is of the form 11,12,13, 21,22,23, 31,32,33
|
||||||
! thus row index i is slow, while column index j is fast. reminder: "row is slow"
|
! thus row index i is slow, while column index j is fast. reminder: "row is slow"
|
||||||
|
@ -3806,20 +3777,10 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
mySize = 9_pInt
|
mySize = 9_pInt
|
||||||
crystallite_postResults(c+1:c+mySize) = &
|
crystallite_postResults(c+1:c+mySize) = &
|
||||||
reshape(transpose(crystallite_partionedF(1:3,1:3,ipc,ip,el)),[mySize])
|
reshape(transpose(crystallite_partionedF(1:3,1:3,ipc,ip,el)),[mySize])
|
||||||
case (e_ID)
|
|
||||||
mySize = 9_pInt
|
|
||||||
crystallite_postResults(c+1:c+mySize) = 0.5_pReal * reshape((math_mul33x33( &
|
|
||||||
transpose(crystallite_partionedF(1:3,1:3,ipc,ip,el)), &
|
|
||||||
crystallite_partionedF(1:3,1:3,ipc,ip,el)) - math_I3),[mySize])
|
|
||||||
case (fe_ID)
|
case (fe_ID)
|
||||||
mySize = 9_pInt
|
mySize = 9_pInt
|
||||||
crystallite_postResults(c+1:c+mySize) = &
|
crystallite_postResults(c+1:c+mySize) = &
|
||||||
reshape(transpose(crystallite_Fe(1:3,1:3,ipc,ip,el)),[mySize])
|
reshape(transpose(crystallite_Fe(1:3,1:3,ipc,ip,el)),[mySize])
|
||||||
case (ee_ID)
|
|
||||||
Ee = 0.5_pReal *(math_mul33x33(transpose(crystallite_Fe(1:3,1:3,ipc,ip,el)), &
|
|
||||||
crystallite_Fe(1:3,1:3,ipc,ip,el)) - math_I3)
|
|
||||||
mySize = 9_pInt
|
|
||||||
crystallite_postResults(c+1:c+mySize) = reshape(Ee,[mySize])
|
|
||||||
case (fp_ID)
|
case (fp_ID)
|
||||||
mySize = 9_pInt
|
mySize = 9_pInt
|
||||||
crystallite_postResults(c+1:c+mySize) = &
|
crystallite_postResults(c+1:c+mySize) = &
|
||||||
|
|
Loading…
Reference in New Issue