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:
parent
f896b4a01e
commit
4f7cd76b29
|
@ -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)
|
||||||
|
|
|
@ -442,7 +442,7 @@ interactionSlipSlip 0.122 0.122 0.625 0.07 0.137 0.122 # Interaction coefficient
|
||||||
### Shearband parameters ###
|
### Shearband parameters ###
|
||||||
shearbandresistance 180e6
|
shearbandresistance 180e6
|
||||||
shearbandvelocity 1e-4
|
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 ###
|
### Twinning parameters ###
|
||||||
Ntwin 12
|
Ntwin 12
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue