introduced new keyword 'rotation' to specify texture rotation
ATTENTION: so far it is read but NOT yet applied!!! waiting for updated code for orientation assignement
This commit is contained in:
parent
294428e01b
commit
d2416abdb4
|
@ -1447,6 +1447,8 @@ subroutine IO_error(error_ID,e,i,g,ext_msg)
|
|||
msg = 'microstructure index out of bounds'
|
||||
case (156_pInt)
|
||||
msg = 'reading from ODF file'
|
||||
case (157_pInt)
|
||||
msg = 'illegal texture rotation specified'
|
||||
case (160_pInt)
|
||||
msg = 'no entries in config part'
|
||||
case (170_pInt)
|
||||
|
|
|
@ -455,11 +455,12 @@ dSFE_dT 0.0002 # temperature dependance of stacking fault e
|
|||
#-------------------#
|
||||
<texture>
|
||||
#-------------------#
|
||||
#/echo/ # uncomment to output texture part
|
||||
#/echo/ # uncomment to output texture part
|
||||
|
||||
[Rolling]
|
||||
hybridIA DP_EBSD.linearODF
|
||||
symmetry orthotropic # or monoclinic
|
||||
rotation x +z -y # model coordinate x-, y-, z-axis correspond to which axis during texture measurement?
|
||||
|
||||
[random]
|
||||
|
||||
|
@ -476,6 +477,7 @@ symmetry orthotropic # or monoclinic
|
|||
(gauss) phi1 209.805 Phi 29.206 phi2 63.435 scatter 0.000 fraction 1.000
|
||||
|
||||
[fiber example]
|
||||
rotation x y -z # model coordinate x-, y-, z-axis correspond to which axis during texture measurement? this was a left handed coordinate system!
|
||||
# fiber axis in spherical coordinates: alpha crystal system, beta sample system
|
||||
(fiber) alpha1 123 alpha2 123 beta1 12 beta2 45 scatter 15 fraction 0.333
|
||||
|
||||
|
|
|
@ -115,7 +115,8 @@ module material
|
|||
real(pReal), dimension(:,:,:), allocatable, private :: &
|
||||
material_volume, & !< volume of each grain,IP,element
|
||||
texture_Gauss, & !< data of each Gauss component
|
||||
texture_Fiber !< data of each Fiber component
|
||||
texture_Fiber, & !< data of each Fiber component
|
||||
texture_Rotation !< rotation of each texture
|
||||
|
||||
logical, dimension(:), allocatable, private :: &
|
||||
homogenization_active
|
||||
|
@ -567,7 +568,9 @@ subroutine material_parseTexture(myFile,myPart)
|
|||
IO_stringPos
|
||||
use math, only: &
|
||||
inRad, &
|
||||
math_sampleRandomOri
|
||||
math_sampleRandomOri, &
|
||||
math_I3, &
|
||||
math_inv33
|
||||
|
||||
implicit none
|
||||
character(len=*), intent(in) :: myPart
|
||||
|
@ -600,6 +603,10 @@ subroutine material_parseTexture(myFile,myPart)
|
|||
texture_maxNfiber = maxval(texture_Nfiber)
|
||||
allocate(texture_Gauss (5,texture_maxNgauss,Nsections)); texture_Gauss = 0.0_pReal
|
||||
allocate(texture_Fiber (6,texture_maxNfiber,Nsections)); texture_Fiber = 0.0_pReal
|
||||
allocate(texture_Rotation(3,3,Nsections));
|
||||
do j =1_pInt, Nsections
|
||||
texture_Rotation(1:3,1:3,j) = math_I3
|
||||
enddo
|
||||
|
||||
rewind(myFile)
|
||||
line = '' ! to have in initialized
|
||||
|
@ -628,6 +635,27 @@ subroutine material_parseTexture(myFile,myPart)
|
|||
tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key
|
||||
textureType: select case(tag)
|
||||
|
||||
case ('rotation') textureType
|
||||
do j = 1_pInt, 3_pInt
|
||||
tag = IO_lc(IO_stringValue(line,positions,j+1_pInt))
|
||||
select case (tag)
|
||||
case('x', '+x')
|
||||
texture_Rotation(1_pInt:3_pInt,j,section) = (/1.0_pReal, 0.0_pReal, 0.0_pReal/) ! original axis is now +x-axis
|
||||
case('-x')
|
||||
texture_Rotation(1_pInt:3_pInt,j,section) = (/-1.0_pReal, 0.0_pReal, 0.0_pReal/) ! original axis is now -x-axis
|
||||
case('y', '+y')
|
||||
texture_Rotation(1_pInt:3_pInt,j,section) = (/0.0_pReal, 1.0_pReal, 0.0_pReal/) ! original axis is now +y-axis
|
||||
case('-y')
|
||||
texture_Rotation(1_pInt:3_pInt,j,section) = (/0.0_pReal, -1.0_pReal, 0.0_pReal/) ! original axis is now -y-axis
|
||||
case('z', '+z')
|
||||
texture_Rotation(1_pInt:3_pInt,j,section) = (/0.0_pReal, 0.0_pReal, 1.0_pReal/) ! original axis is now +z-axis
|
||||
case('-z')
|
||||
texture_Rotation(1_pInt:3_pInt,j,section) = (/0.0_pReal, 0.0_pReal, -1.0_pReal/) ! original axis is now -z-axis
|
||||
case default
|
||||
call IO_error(156_pInt)
|
||||
end select
|
||||
enddo
|
||||
|
||||
case ('hybridia') textureType
|
||||
texture_ODFfile(section) = IO_stringValue(line,positions,2_pInt)
|
||||
|
||||
|
|
Loading…
Reference in New Issue