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)
msg = 'reading from ODF file'
case (157_pInt)
msg = 'illegal texture rotation specified'
msg = 'illegal texture transformation specified'
case (160_pInt)
msg = 'no entries in config part'
case (170_pInt)

View File

@ -442,7 +442,7 @@ interactionSlipSlip 0.122 0.122 0.625 0.07 0.137 0.122 # Interaction coefficient
### Shearband parameters ###
shearbandresistance 180e6
shearbandvelocity 1e-4
QedgePerSbSystem 3.7e-19 # Activation energy for shear banding [J]
QedgePerSbSystem 3.7e-19 # Activation energy for shear banding [J]
### Twinning parameters ###
Ntwin 12
@ -470,7 +470,7 @@ dSFE_dT 0.0002 # temperature dependance of stacking fault e
[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?
axes x +z -y # model coordinate x-, y-, z-axes correspond to which axes during texture measurement?
[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
[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) 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
texture_Gauss, & !< data of each Gauss component
texture_Fiber, & !< data of each Fiber component
texture_rotation !< rotation of each texture
texture_transformation !< transformation for each texture
logical, dimension(:), allocatable, private :: &
homogenization_active
@ -607,9 +607,9 @@ 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));
allocate(texture_transformation(3,3,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
rewind(myFile)
@ -639,22 +639,22 @@ subroutine material_parseTexture(myFile,myPart)
tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key
textureType: select case(tag)
case ('rotation') textureType
case ('axes', 'rotation') textureType
do j = 1_pInt, 3_pInt ! look for "x", "y", and "z" entries
tag = IO_lc(IO_stringValue(line,positions,j+1_pInt))
select case (tag)
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')
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')
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')
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')
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')
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
call IO_error(157_pInt,section)
end select
@ -964,13 +964,13 @@ subroutine material_populateGrains
endif
!--------------------------------------------------------------------------------------------------
! ...texture rotation
! ...texture transformation
do j = 1_pInt,myNorientations ! loop over each "real" orientation
orientationOfGrain(1:3,grain+j) = math_RtoEuler( & ! translate back to Euler angles
math_mul33x33( & ! pre-multiply
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

View File

@ -48,8 +48,8 @@ parser.add_option('--crystallite', dest='crystallite', type='int', \
help='crystallite index to be used [%default]')
parser.add_option('-c', '--configuration', dest='config', action='store_true', \
help='output material configuration [%default]')
parser.add_option('-a', '--axis', dest='axis', type='string', nargs = 3, \
help='axis assignement of eulerangles x,y,z = %default')
parser.add_option('-a', '--axes', dest='axes', type='string', nargs = 3, \
help='axes assignement of eulerangles x,y,z = %default')
parser.set_defaults(column = 11)
@ -58,12 +58,12 @@ parser.set_defaults(homogenization = 1)
parser.set_defaults(phase = [1,2])
parser.set_defaults(crystallite = 1)
parser.set_defaults(config = False)
parser.set_defaults(axis = ['y','x','-z'])
parser.set_defaults(axes = ['y','x','-z'])
(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']:
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()
#--- 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)
]
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]))
]
else: # only info from header needed