added (?correct and working?) rotation for conversion from ANG and updated bold verbosity of all other scripts
This commit is contained in:
parent
d05f1085a8
commit
2201a73a46
|
@ -4,6 +4,9 @@
|
||||||
import string,os,sys
|
import string,os,sys
|
||||||
from optparse import OptionParser, Option
|
from optparse import OptionParser, Option
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------------------
|
||||||
class extendableOption(Option):
|
class extendableOption(Option):
|
||||||
#-------------------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------------------
|
||||||
|
@ -28,8 +31,7 @@ class extendableOption(Option):
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """
|
parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """
|
||||||
Converts ang files (EBSD Data) from hexagonal grid to a pixel grid
|
Converts ang files (EBSD Data) from hexagonal grid to a pixel grid
|
||||||
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option('-x', dest='columnX', action='store', type='int', \
|
parser.add_option('-x', dest='columnX', action='store', type='int', \
|
||||||
|
@ -46,16 +48,25 @@ addPoints = -1
|
||||||
#--- setup file handles ---------------------------------------------------------------------------
|
#--- setup file handles ---------------------------------------------------------------------------
|
||||||
files = []
|
files = []
|
||||||
if filenames == []:
|
if filenames == []:
|
||||||
files.append({'name':'STDIN', 'input':sys.stdin, 'output':sys.stdout})
|
if filenames == []:
|
||||||
|
files.append({'name':'STDIN',
|
||||||
|
'input':sys.stdin,
|
||||||
|
'output':sys.stdout,
|
||||||
|
'croak':sys.stderr,
|
||||||
|
})
|
||||||
else:
|
else:
|
||||||
for name in filenames:
|
for name in filenames:
|
||||||
if os.path.exists(name):
|
if os.path.exists(name):
|
||||||
files.append( {'name':name, 'input':open(name),'output':open(os.path.splitext(name)[0]\
|
files.append({'name':name,
|
||||||
+'_cub'+os.path.splitext(name)[1], 'w')})
|
'input':open(name),
|
||||||
|
'output':open(os.path.splitext(name)[0]+'_cub'+os.path.splitext(name)[1], 'w'),
|
||||||
|
'croak':sys.stdout,
|
||||||
|
})
|
||||||
|
|
||||||
#--- loop over input files ------------------------------------------------------------------------
|
#--- loop over input files ------------------------------------------------------------------------
|
||||||
for file in files:
|
for file in files:
|
||||||
print file['name']
|
if file['name'] != 'STDIN': file['croak'].write('\033[1m'+scriptName+'\033[0m: '+file['name']+'\n')
|
||||||
|
else: file['croak'].write('\033[1m'+scriptName+'\033[0m\n')
|
||||||
x = 0
|
x = 0
|
||||||
for line in file['input']:
|
for line in file['input']:
|
||||||
lineSplit=line.split()
|
lineSplit=line.split()
|
||||||
|
@ -63,7 +74,7 @@ for file in files:
|
||||||
if lineSplit[0]=='#':
|
if lineSplit[0]=='#':
|
||||||
if len(lineSplit)>2: # possibly interesting information
|
if len(lineSplit)>2: # possibly interesting information
|
||||||
if line.split()[2]=='SqrGrid':
|
if line.split()[2]=='SqrGrid':
|
||||||
print 'The file is already a square grid file.'
|
file['croak'].write('The file is already a square grid file.')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
if lineSplit[1]=='XSTEP:': stepSizeX = float(lineSplit[2])
|
if lineSplit[1]=='XSTEP:': stepSizeX = float(lineSplit[2])
|
||||||
if lineSplit[1]=='YSTEP:': stepSizeY = float(lineSplit[2])
|
if lineSplit[1]=='YSTEP:': stepSizeY = float(lineSplit[2])
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math,string,numpy
|
import os,sys,math,string,numpy
|
||||||
from optparse import OptionParser, Option
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
class extendableOption(Option):
|
class extendableOption(Option):
|
||||||
|
@ -29,7 +32,7 @@ class extendableOption(Option):
|
||||||
parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """
|
parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """
|
||||||
Generate geometry description and material configuration from EBSD data in given square-gridded 'ang' file.
|
Generate geometry description and material configuration from EBSD data in given square-gridded 'ang' file.
|
||||||
Two phases can be discriminated based on threshold value in a given data column.
|
Two phases can be discriminated based on threshold value in a given data column.
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,6 +48,9 @@ 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, \
|
||||||
|
help='axis assignement of eulerangles x,y,z = %default')
|
||||||
|
|
||||||
|
|
||||||
parser.set_defaults(column = 11)
|
parser.set_defaults(column = 11)
|
||||||
parser.set_defaults(threshold = 0.5)
|
parser.set_defaults(threshold = 0.5)
|
||||||
|
@ -52,9 +58,14 @@ 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'])
|
||||||
(options,filenames) = parser.parse_args()
|
(options,filenames) = parser.parse_args()
|
||||||
|
|
||||||
|
for i in options.axis:
|
||||||
|
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]))
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
#--- setup file handles ---------------------------------------------------------------------------
|
#--- setup file handles ---------------------------------------------------------------------------
|
||||||
files = []
|
files = []
|
||||||
if filenames == []:
|
if filenames == []:
|
||||||
|
@ -75,7 +86,8 @@ else:
|
||||||
|
|
||||||
#--- loop over input files ------------------------------------------------------------------------
|
#--- loop over input files ------------------------------------------------------------------------
|
||||||
for file in files:
|
for file in files:
|
||||||
if file['name'] != 'STDIN': file['croak'].write(file['name']+'\n')
|
if file['name'] != 'STDIN': file['croak'].write('\033[1m'+scriptName+'\033[0m: '+file['name']+'\n')
|
||||||
|
else: file['croak'].write('\033[1m'+scriptName+'\033[0m\n')
|
||||||
|
|
||||||
info = {
|
info = {
|
||||||
'grid': numpy.ones (3,'i'),
|
'grid': numpy.ones (3,'i'),
|
||||||
|
@ -111,6 +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'%(options.axis[0],options.axis[1],options.axis[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
|
||||||
|
@ -138,7 +151,7 @@ for file in files:
|
||||||
file['output'].write('\n'.join(microstructure) + \
|
file['output'].write('\n'.join(microstructure) + \
|
||||||
'\n'.join(texture))
|
'\n'.join(texture))
|
||||||
else:
|
else:
|
||||||
header = ['$Id$\n']
|
header = [scriptID+'\n']
|
||||||
header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
||||||
header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
||||||
header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
||||||
|
|
|
@ -3,7 +3,10 @@
|
||||||
|
|
||||||
import os,re,sys,math,numpy,string,damask
|
import os,re,sys,math,numpy,string,damask
|
||||||
from scipy import ndimage
|
from scipy import ndimage
|
||||||
from optparse import OptionParser, Option
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
class extendableOption(Option):
|
class extendableOption(Option):
|
||||||
|
@ -111,8 +114,7 @@ neighborhoods = {
|
||||||
parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """
|
parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """
|
||||||
Produce geom files containing Euclidean distance to grain structural features:
|
Produce geom files containing Euclidean distance to grain structural features:
|
||||||
boundaries, triple lines, and quadruple points.
|
boundaries, triple lines, and quadruple points.
|
||||||
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option('-t','--type', dest='type', action='extend', type='string', \
|
parser.add_option('-t','--type', dest='type', action='extend', type='string', \
|
||||||
|
@ -157,7 +159,8 @@ else:
|
||||||
|
|
||||||
#--- loop over input files ------------------------------------------------------------------------
|
#--- loop over input files ------------------------------------------------------------------------
|
||||||
for file in files:
|
for file in files:
|
||||||
if file['name'] != 'STDIN': file['croak'].write(file['name']+'\n')
|
if file['name'] != 'STDIN': file['croak'].write('\033[1m'+scriptName+'\033[0m: '+file['name']+'\n')
|
||||||
|
else: file['croak'].write('\033[1m'+scriptName+'\033[0m\n')
|
||||||
|
|
||||||
firstline = file['input'].readline()
|
firstline = file['input'].readline()
|
||||||
m = re.search('(\d+)\s*head', firstline.lower())
|
m = re.search('(\d+)\s*head', firstline.lower())
|
||||||
|
@ -211,7 +214,7 @@ for file in files:
|
||||||
file['croak'].write('invalid size x y z.\n')
|
file['croak'].write('invalid size x y z.\n')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
new_header.append('$Id$\n')
|
new_header.append(scriptID+'\n')
|
||||||
new_header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
new_header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
||||||
new_header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
new_header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
||||||
new_header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
new_header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
import os,sys,string,math,numpy,time
|
import os,sys,string,math,numpy,time
|
||||||
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
class extendedOption(Option):
|
class extendedOption(Option):
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
|
@ -30,7 +33,7 @@ parser = OptionParser(option_class=extendedOption, usage='%prog', description =
|
||||||
Generate a geometry file of an osteon enclosing the Harvesian canal and separated by interstitial tissue.
|
Generate a geometry file of an osteon enclosing the Harvesian canal and separated by interstitial tissue.
|
||||||
The osteon phase is lamellar with a twisted plywood structure.
|
The osteon phase is lamellar with a twisted plywood structure.
|
||||||
Its fiber orientation is oscillating by +/- amplitude within one period.
|
Its fiber orientation is oscillating by +/- amplitude within one period.
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option('-g', '--grid', dest='grid', type='int', nargs=2, \
|
parser.add_option('-g', '--grid', dest='grid', type='int', nargs=2, \
|
||||||
|
@ -131,7 +134,8 @@ for y in xrange(info['grid'][1]):
|
||||||
alphaOfGrain[info['microstructures']] = alpha[y,x]
|
alphaOfGrain[info['microstructures']] = alpha[y,x]
|
||||||
betaOfGrain[ info['microstructures']] = beta[y,x]
|
betaOfGrain[ info['microstructures']] = beta[y,x]
|
||||||
info['microstructures'] += 1
|
info['microstructures'] += 1
|
||||||
|
#--- report ---------------------------------------------------------------------------------------
|
||||||
|
else: file['croak'].write('\033[1m'+scriptName+'\033[0m\n')
|
||||||
file['croak'].write('grid a b c: %s\n'%(' x '.join(map(str,info['grid']))) + \
|
file['croak'].write('grid a b c: %s\n'%(' x '.join(map(str,info['grid']))) + \
|
||||||
'size x y z: %s\n'%(' x '.join(map(str,info['size']))) + \
|
'size x y z: %s\n'%(' x '.join(map(str,info['size']))) + \
|
||||||
'origin x y z: %s\n'%(' : '.join(map(str,info['origin']))) + \
|
'origin x y z: %s\n'%(' : '.join(map(str,info['origin']))) + \
|
||||||
|
@ -171,7 +175,7 @@ if options.config:
|
||||||
betaOfGrain[i]))
|
betaOfGrain[i]))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
header = ['$Id$\n']
|
header = [scriptID+'\n']
|
||||||
header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
||||||
header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
||||||
header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
||||||
|
|
|
@ -2,7 +2,11 @@
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math,string,numpy
|
import os,sys,math,string,numpy
|
||||||
from optparse import OptionParser, Option
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
class extendableOption(Option):
|
class extendableOption(Option):
|
||||||
|
@ -128,7 +132,7 @@ for file in files:
|
||||||
file['output'].write('\n'.join(microstructure) + \
|
file['output'].write('\n'.join(microstructure) + \
|
||||||
'\n'.join(texture))
|
'\n'.join(texture))
|
||||||
else:
|
else:
|
||||||
header = ['$Id$\n']
|
header = [scriptID+'\n']
|
||||||
header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
header.append("grid\ta %i\tb %i\tc %i\n"%(info['grid'][0],info['grid'][1],info['grid'][2],))
|
||||||
header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
header.append("size\tx %f\ty %f\tz %f\n"%(info['size'][0],info['size'][1],info['size'][2],))
|
||||||
header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
header.append("origin\tx %f\ty %f\tz %f\n"%(info['origin'][0],info['origin'][1],info['origin'][2],))
|
||||||
|
|
|
@ -7,6 +7,9 @@ from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
from scipy import ndimage
|
from scipy import ndimage
|
||||||
from multiprocessing import Pool
|
from multiprocessing import Pool
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
class extendedOption(Option):
|
class extendedOption(Option):
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
|
@ -129,7 +132,7 @@ Smoothens out interface roughness by simulated curvature flow.
|
||||||
This is achieved by the diffusion of each initially sharply bounded grain volume within the periodic domain
|
This is achieved by the diffusion of each initially sharply bounded grain volume within the periodic domain
|
||||||
up to a given distance 'd' voxels.
|
up to a given distance 'd' voxels.
|
||||||
The final geometry is assembled by selecting at each voxel that grain index for which the concentration remains largest.
|
The final geometry is assembled by selecting at each voxel that grain index for which the concentration remains largest.
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option('-d', '--distance', dest='d', type='int', \
|
parser.add_option('-d', '--distance', dest='d', type='int', \
|
||||||
|
@ -169,7 +172,8 @@ else:
|
||||||
|
|
||||||
#--- loop over input files ------------------------------------------------------------------------
|
#--- loop over input files ------------------------------------------------------------------------
|
||||||
for file in files:
|
for file in files:
|
||||||
if file['name'] != 'STDIN': file['croak'].write(file['name']+'\n')
|
if file['name'] != 'STDIN': file['croak'].write('\033[1m'+scriptName+'\033[0m: '+file['name']+'\n')
|
||||||
|
else: file['croak'].write('\033[1m'+scriptName+'\033[0m\n')
|
||||||
|
|
||||||
theTable = damask.ASCIItable(file['input'],file['output'],labels=False)
|
theTable = damask.ASCIItable(file['input'],file['output'],labels=False)
|
||||||
theTable.head_read()
|
theTable.head_read()
|
||||||
|
@ -271,7 +275,7 @@ for file in files:
|
||||||
theTable.labels_clear()
|
theTable.labels_clear()
|
||||||
theTable.info_clear()
|
theTable.info_clear()
|
||||||
theTable.info_append(extra_header+[
|
theTable.info_append(extra_header+[
|
||||||
"$Id$",
|
scriptID,
|
||||||
"grid\ta %i\tb %i\tc %i"%(info['grid'][0],info['grid'][1],info['grid'][2],),
|
"grid\ta %i\tb %i\tc %i"%(info['grid'][0],info['grid'][1],info['grid'][2],),
|
||||||
"size\tx %f\ty %f\tz %f"%(info['size'][0],info['size'][1],info['size'][2],),
|
"size\tx %f\ty %f\tz %f"%(info['size'][0],info['size'][1],info['size'][2],),
|
||||||
"origin\tx %f\ty %f\tz %f"%(info['origin'][0],info['origin'][1],info['origin'][2],),
|
"origin\tx %f\ty %f\tz %f"%(info['origin'][0],info['origin'][1],info['origin'][2],),
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
import os,sys,string,re,math,numpy
|
import os,sys,string,re,math,numpy
|
||||||
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
class extendedOption(Option):
|
class extendedOption(Option):
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
|
@ -42,7 +45,7 @@ mappings = {
|
||||||
parser = OptionParser(option_class=extendedOption, usage='%prog options [file[s]]', description = """
|
parser = OptionParser(option_class=extendedOption, usage='%prog options [file[s]]', description = """
|
||||||
Offset microstructure index for points which see a microstructure different from themselves within a given (cubic) vicinity,
|
Offset microstructure index for points which see a microstructure different from themselves within a given (cubic) vicinity,
|
||||||
i.e. within the region close to a grain/phase boundary.
|
i.e. within the region close to a grain/phase boundary.
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option('-v', '--vicinity', dest='vicinity', type='int', \
|
parser.add_option('-v', '--vicinity', dest='vicinity', type='int', \
|
||||||
|
@ -78,7 +81,8 @@ else:
|
||||||
|
|
||||||
#--- loop over input files ------------------------------------------------------------------------
|
#--- loop over input files ------------------------------------------------------------------------
|
||||||
for file in files:
|
for file in files:
|
||||||
if file['name'] != 'STDIN': file['croak'].write(file['name']+'\n')
|
if file['name'] != 'STDIN': file['croak'].write('\033[1m'+scriptName+'\033[0m: '+file['name']+'\n')
|
||||||
|
else: file['croak'].write('\033[1m'+scriptName+'\033[0m\n')
|
||||||
|
|
||||||
firstline = file['input'].readline()
|
firstline = file['input'].readline()
|
||||||
m = re.search('(\d+)\s*head', firstline.lower())
|
m = re.search('(\d+)\s*head', firstline.lower())
|
||||||
|
@ -105,7 +109,7 @@ for file in files:
|
||||||
}
|
}
|
||||||
|
|
||||||
new_header = []
|
new_header = []
|
||||||
new_header.append('$Id$\n')
|
new_header.append(scriptID+'\n')
|
||||||
for header in headers:
|
for header in headers:
|
||||||
headitems = map(str.lower,header.split())
|
headitems = map(str.lower,header.split())
|
||||||
if headitems[0] == 'resolution': headitems[0] = 'grid'
|
if headitems[0] == 'resolution': headitems[0] = 'grid'
|
||||||
|
|
|
@ -10,6 +10,9 @@ that are written during the first run of the model.
|
||||||
import sys,os,re
|
import sys,os,re
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
def ParseOutputFormat(filename,what,me):
|
def ParseOutputFormat(filename,what,me):
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
|
@ -98,6 +101,7 @@ me = { 'Homogenization': options.homog,
|
||||||
|
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
|
print '\033[1m'+scriptName+'\033[0m: '+file+'\n'
|
||||||
if options.useFile != '':
|
if options.useFile != '':
|
||||||
formatFile = os.path.splitext(options.useFile)[0]
|
formatFile = os.path.splitext(options.useFile)[0]
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
import sys,os,pwd,math,re,string,numpy, damask
|
import sys,os,pwd,math,re,string,numpy, damask
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
sys.path.append(damask.solver.Marc().libraryPath('../../'))
|
sys.path.append(damask.solver.Marc().libraryPath('../../'))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -155,8 +158,7 @@ def servoLink():
|
||||||
#--------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------
|
||||||
parser = OptionParser(usage='%prog [options]', description = """
|
parser = OptionParser(usage='%prog [options]', description = """
|
||||||
Set up servo linking to achieve periodic boundary conditions for a regular hexahedral mesh presently opened in MSC.Mentat
|
Set up servo linking to achieve periodic boundary conditions for a regular hexahedral mesh presently opened in MSC.Mentat
|
||||||
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option("-p", "--port", type="int",\
|
parser.add_option("-p", "--port", type="int",\
|
||||||
|
@ -171,6 +173,7 @@ parser.set_defaults(verbose = False)
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
outputLocals = {}
|
outputLocals = {}
|
||||||
|
print '\033[1m'+scriptName+'\033[0m\n'
|
||||||
print 'waiting to connect...'
|
print 'waiting to connect...'
|
||||||
py_connect('',options.port)
|
py_connect('',options.port)
|
||||||
print 'connected...'
|
print 'connected...'
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
import os, sys, math, re, threading, time, string, damask
|
import os, sys, math, re, threading, time, string, damask
|
||||||
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------------------
|
||||||
def outMentat(cmd,locals):
|
def outMentat(cmd,locals):
|
||||||
#-------------------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------------------
|
||||||
|
@ -231,8 +234,7 @@ Generate FE hexahedral mesh from spectral description file.
|
||||||
Acceptable formats are
|
Acceptable formats are
|
||||||
geom: header plus list of grain numbers or
|
geom: header plus list of grain numbers or
|
||||||
spectral: phi1,Phi,phi2,x,y,z,id,phase.
|
spectral: phi1,Phi,phi2,x,y,z,id,phase.
|
||||||
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
|
||||||
)
|
)
|
||||||
parser.add_option("-p", "--port", type="int",\
|
parser.add_option("-p", "--port", type="int",\
|
||||||
dest="port",\
|
dest="port",\
|
||||||
|
@ -243,7 +245,6 @@ parser.add_option("-g", "--geom", action="store_const", const="geom",\
|
||||||
parser.add_option("-s", "--spectral", action="store_const", const="spectral",\
|
parser.add_option("-s", "--spectral", action="store_const", const="spectral",\
|
||||||
dest="filetype",\
|
dest="filetype",\
|
||||||
help="file has 'spectral' format (VPSC Lebensohn)")
|
help="file has 'spectral' format (VPSC Lebensohn)")
|
||||||
|
|
||||||
parser.add_option("--homogenization", type="int",\
|
parser.add_option("--homogenization", type="int",\
|
||||||
dest="homogenization",\
|
dest="homogenization",\
|
||||||
help="homogenization index from material.config (only required for geom file type)")
|
help="homogenization index from material.config (only required for geom file type)")
|
||||||
|
@ -270,6 +271,7 @@ file = open(args[0])
|
||||||
content = file.readlines()
|
content = file.readlines()
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
print '\033[1m'+scriptName+'\033[0m\n'
|
||||||
if options.filetype not in ['spectral','geom']:
|
if options.filetype not in ['spectral','geom']:
|
||||||
options.filetype = os.path.splitext(args[0])[1][1:]
|
options.filetype = os.path.splitext(args[0])[1][1:]
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
import sys,os,math,re,string, damask
|
import sys,os,math,re,string, damask
|
||||||
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
|
|
||||||
try: # check for Python Image Lib
|
try: # check for Python Image Lib
|
||||||
import Image,ImageDraw
|
import Image,ImageDraw
|
||||||
|
@ -784,8 +787,7 @@ def fftbuild(rcData,height,xframe,yframe,resolution,extrusion): # bui
|
||||||
parser = OptionParser(option_class=extendedOption, usage='%prog [options] datafile[s]', description = """
|
parser = OptionParser(option_class=extendedOption, usage='%prog [options] datafile[s]', description = """
|
||||||
Produce image, spectral geometry description, and (auto) Mentat procedure from TSL/OIM
|
Produce image, spectral geometry description, and (auto) Mentat procedure from TSL/OIM
|
||||||
reconstructed boundary file
|
reconstructed boundary file
|
||||||
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option("-o", "--output", action='extend', dest='output', type='string', \
|
parser.add_option("-o", "--output", action='extend', dest='output', type='string', \
|
||||||
|
@ -855,6 +857,7 @@ parser.set_defaults(twoD = False)
|
||||||
|
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
|
print '\033[1m'+scriptName+'\033[0m\n'
|
||||||
if not len(args):
|
if not len(args):
|
||||||
parser.error('no boundary file specified')
|
parser.error('no boundary file specified')
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,9 @@
|
||||||
import os,sys,string,re,math,numpy,random
|
import os,sys,string,re,math,numpy,random
|
||||||
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
from optparse import OptionParser, OptionGroup, Option, SUPPRESS_HELP
|
||||||
|
|
||||||
|
scriptID = '$Id$'
|
||||||
|
scriptName = scriptID.split()[1]
|
||||||
|
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
class extendedOption(Option):
|
class extendedOption(Option):
|
||||||
#------------------------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------------------------
|
||||||
|
@ -37,7 +40,7 @@ mappings = {
|
||||||
parser = OptionParser(option_class=extendedOption, usage='%prog [options]', description = """
|
parser = OptionParser(option_class=extendedOption, usage='%prog [options]', description = """
|
||||||
Distribute given number of points randomly within the three-dimensional cube [0.0,0.0,0.0]--[1.0,1.0,1.0].
|
Distribute given number of points randomly within the three-dimensional cube [0.0,0.0,0.0]--[1.0,1.0,1.0].
|
||||||
Reports positions with random crystal orientations in seeds file format to STDOUT.
|
Reports positions with random crystal orientations in seeds file format to STDOUT.
|
||||||
""" + string.replace('$Id$','\n','\\n')
|
""" + string.replace(scriptID,'\n','\\n')
|
||||||
)
|
)
|
||||||
|
|
||||||
parser.add_option('-N', dest='N', type='int', \
|
parser.add_option('-N', dest='N', type='int', \
|
||||||
|
@ -78,7 +81,7 @@ seeds[2,:]=(numpy.mod(seedpoint//(options.grid[1]*options.grid[0]),options.grid[
|
||||||
+numpy.random.random())/options.grid[2]
|
+numpy.random.random())/options.grid[2]
|
||||||
|
|
||||||
print "5\theader"
|
print "5\theader"
|
||||||
print "$Id$"
|
print scriptID
|
||||||
print "grid\ta %i\tb %i\tc %i"%(options.grid[0],options.grid[1],options.grid[2],)
|
print "grid\ta %i\tb %i\tc %i"%(options.grid[0],options.grid[1],options.grid[2],)
|
||||||
print "microstructures\t%i"%options.N
|
print "microstructures\t%i"%options.N
|
||||||
print "randomSeed\t%i"%(options.randomSeed)
|
print "randomSeed\t%i"%(options.randomSeed)
|
||||||
|
|
Loading…
Reference in New Issue