renamed texture_rotation into texture_transformation

changed keyword for material.config to axes in line with geom_fromAng.py
former keyword rotation is still recognized for compatibility
This commit is contained in:
Franz Roters 2013-07-24 11:09:39 +00:00
parent f896b4a01e
commit 4f7cd76b29
4 changed files with 22 additions and 22 deletions

View File

@ -1510,7 +1510,7 @@ subroutine IO_error(error_ID,e,i,g,ext_msg)
case (156_pInt) case (156_pInt)
msg = 'reading from ODF file' msg = 'reading from ODF file'
case (157_pInt) case (157_pInt)
msg = 'illegal texture rotation specified' msg = 'illegal texture transformation specified'
case (160_pInt) case (160_pInt)
msg = 'no entries in config part' msg = 'no entries in config part'
case (170_pInt) case (170_pInt)

View File

@ -470,7 +470,7 @@ dSFE_dT 0.0002 # temperature dependance of stacking fault e
[Rolling] [Rolling]
hybridIA DP_EBSD.linearODF hybridIA DP_EBSD.linearODF
symmetry orthotropic # or monoclinic symmetry orthotropic # or monoclinic
rotation x +z -y # model coordinate x-, y-, z-axis correspond to which axis during texture measurement? axes x +z -y # model coordinate x-, y-, z-axes correspond to which axes during texture measurement?
[random] [random]
@ -487,7 +487,7 @@ rotation x +z -y # model coordinate x-, y-, z-axis correspond
(gauss) phi1 209.805 Phi 29.206 phi2 63.435 scatter 0.000 fraction 1.000 (gauss) phi1 209.805 Phi 29.206 phi2 63.435 scatter 0.000 fraction 1.000
[fiber example] [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! axes x y -z # model coordinate x-, y-, z-axes correspond to which axes during texture measurement? this was a left handed coordinate system!
# fiber axis in spherical coordinates: alpha crystal system, beta sample 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 (fiber) alpha1 123 alpha2 123 beta1 12 beta2 45 scatter 15 fraction 0.333

View File

@ -116,7 +116,7 @@ module material
material_volume, & !< volume of each grain,IP,element material_volume, & !< volume of each grain,IP,element
texture_Gauss, & !< data of each Gauss component 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 texture_transformation !< transformation for each texture
logical, dimension(:), allocatable, private :: & logical, dimension(:), allocatable, private :: &
homogenization_active homogenization_active
@ -607,9 +607,9 @@ subroutine material_parseTexture(myFile,myPart)
texture_maxNfiber = maxval(texture_Nfiber) texture_maxNfiber = maxval(texture_Nfiber)
allocate(texture_Gauss (5,texture_maxNgauss,Nsections)); texture_Gauss = 0.0_pReal 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_Fiber (6,texture_maxNfiber,Nsections)); texture_Fiber = 0.0_pReal
allocate(texture_rotation(3,3,Nsections)); allocate(texture_transformation(3,3,Nsections));
do j = 1_pInt, Nsections do j = 1_pInt, Nsections
texture_rotation(1:3,1:3,j) = math_I3 texture_transformation(1:3,1:3,j) = math_I3
enddo enddo
rewind(myFile) rewind(myFile)
@ -639,22 +639,22 @@ subroutine material_parseTexture(myFile,myPart)
tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key
textureType: select case(tag) textureType: select case(tag)
case ('rotation') textureType case ('axes', 'rotation') textureType
do j = 1_pInt, 3_pInt ! look for "x", "y", and "z" entries do j = 1_pInt, 3_pInt ! look for "x", "y", and "z" entries
tag = IO_lc(IO_stringValue(line,positions,j+1_pInt)) tag = IO_lc(IO_stringValue(line,positions,j+1_pInt))
select case (tag) select case (tag)
case('x', '+x') case('x', '+x')
texture_rotation(j,1:3,section) = (/ 1.0_pReal, 0.0_pReal, 0.0_pReal/) ! original axis is now +x-axis texture_transformation(j,1:3,section) = (/ 1.0_pReal, 0.0_pReal, 0.0_pReal/) ! original axis is now +x-axis
case('-x') case('-x')
texture_rotation(j,1:3,section) = (/-1.0_pReal, 0.0_pReal, 0.0_pReal/) ! original axis is now -x-axis texture_transformation(j,1:3,section) = (/-1.0_pReal, 0.0_pReal, 0.0_pReal/) ! original axis is now -x-axis
case('y', '+y') case('y', '+y')
texture_rotation(j,1:3,section) = (/ 0.0_pReal, 1.0_pReal, 0.0_pReal/) ! original axis is now +y-axis texture_transformation(j,1:3,section) = (/ 0.0_pReal, 1.0_pReal, 0.0_pReal/) ! original axis is now +y-axis
case('-y') case('-y')
texture_rotation(j,1:3,section) = (/ 0.0_pReal,-1.0_pReal, 0.0_pReal/) ! original axis is now -y-axis texture_transformation(j,1:3,section) = (/ 0.0_pReal,-1.0_pReal, 0.0_pReal/) ! original axis is now -y-axis
case('z', '+z') case('z', '+z')
texture_rotation(j,1:3,section) = (/ 0.0_pReal, 0.0_pReal, 1.0_pReal/) ! original axis is now +z-axis texture_transformation(j,1:3,section) = (/ 0.0_pReal, 0.0_pReal, 1.0_pReal/) ! original axis is now +z-axis
case('-z') case('-z')
texture_rotation(j,1:3,section) = (/ 0.0_pReal, 0.0_pReal,-1.0_pReal/) ! original axis is now -z-axis texture_transformation(j,1:3,section) = (/ 0.0_pReal, 0.0_pReal,-1.0_pReal/) ! original axis is now -z-axis
case default case default
call IO_error(157_pInt,section) call IO_error(157_pInt,section)
end select end select
@ -964,13 +964,13 @@ subroutine material_populateGrains
endif endif
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! ...texture rotation ! ...texture transformation
do j = 1_pInt,myNorientations ! loop over each "real" orientation do j = 1_pInt,myNorientations ! loop over each "real" orientation
orientationOfGrain(1:3,grain+j) = math_RtoEuler( & ! translate back to Euler angles orientationOfGrain(1:3,grain+j) = math_RtoEuler( & ! translate back to Euler angles
math_mul33x33( & ! pre-multiply math_mul33x33( & ! pre-multiply
math_EulertoR(orientationOfGrain(1:3,grain+j)), & ! face-value orientation math_EulertoR(orientationOfGrain(1:3,grain+j)), & ! face-value orientation
texture_rotation(1:3,1:3,textureID) & ! rotation matrix and texture_transformation(1:3,1:3,textureID) & ! and transformation matrix
) & ) &
) )
enddo enddo

View File

@ -48,8 +48,8 @@ parser.add_option('--crystallite', dest='crystallite', type='int', \
help='crystallite index to be used [%default]') help='crystallite index to be used [%default]')
parser.add_option('-c', '--configuration', dest='config', action='store_true', \ parser.add_option('-c', '--configuration', dest='config', action='store_true', \
help='output material configuration [%default]') help='output material configuration [%default]')
parser.add_option('-a', '--axis', dest='axis', type='string', nargs = 3, \ parser.add_option('-a', '--axes', dest='axes', type='string', nargs = 3, \
help='axis assignement of eulerangles x,y,z = %default') help='axes assignement of eulerangles x,y,z = %default')
parser.set_defaults(column = 11) parser.set_defaults(column = 11)
@ -58,12 +58,12 @@ parser.set_defaults(homogenization = 1)
parser.set_defaults(phase = [1,2]) parser.set_defaults(phase = [1,2])
parser.set_defaults(crystallite = 1) parser.set_defaults(crystallite = 1)
parser.set_defaults(config = False) parser.set_defaults(config = False)
parser.set_defaults(axis = ['y','x','-z']) parser.set_defaults(axes = ['y','x','-z'])
(options,filenames) = parser.parse_args() (options,filenames) = parser.parse_args()
for i in options.axis: for i in options.axes:
if i.lower() not in ['x','+x','-x','y','+y','-y','z','+z','-z']: if i.lower() not in ['x','+x','-x','y','+y','-y','z','+z','-z']:
file['croak'].write('invalid axis %s %s %s' %(options.axis[0],options.axis[1],options.axis[2])) file['croak'].write('invalid axes %s %s %s' %(options.axes[0],options.axes[1],options.axes[2]))
sys.exit() sys.exit()
#--- setup file handles --------------------------------------------------------------------------- #--- setup file handles ---------------------------------------------------------------------------
@ -123,7 +123,7 @@ for file in files:
'(constituent)\tphase %i\ttexture %s\tfraction 1.0\n'%(options.phase[{True:0,False:1}[float(words[options.column-1])<options.threshold]],me) '(constituent)\tphase %i\ttexture %s\tfraction 1.0\n'%(options.phase[{True:0,False:1}[float(words[options.column-1])<options.threshold]],me)
] ]
texture += ['[Grain%s]\n'%me + \ texture += ['[Grain%s]\n'%me + \
'rotation %s %s %s\n'%(options.axis[0],options.axis[1],options.axis[2]) +\ 'axes %s %s %s\n'%(options.axes[0],options.axes[1],options.axes[2]) +\
'(gauss)\tphi1 %4.2f\tPhi %4.2f\tphi2 %4.2f\tscatter 0.0\tfraction 1.0\n'%tuple(map(lambda x: float(x)*180.0/math.pi, words[:3])) '(gauss)\tphi1 %4.2f\tPhi %4.2f\tphi2 %4.2f\tscatter 0.0\tfraction 1.0\n'%tuple(map(lambda x: float(x)*180.0/math.pi, words[:3]))
] ]
else: # only info from header needed else: # only info from header needed