transition to new orientation class/DREAM.3D
This commit is contained in:
parent
7903e2b65f
commit
e4bb61c9d9
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
|||
Subproject commit dc9722c3c9787bbb0f63308a7015b6709e6d4f94
|
||||
Subproject commit 35bed9722ddecc342719bafac32590e9ab94d053
|
|
@ -1,48 +0,0 @@
|
|||
#!/usr/bin/env python2.7
|
||||
# -*- coding: UTF-8 no BOM -*-
|
||||
|
||||
import os,sys
|
||||
from optparse import OptionParser
|
||||
import damask
|
||||
|
||||
scriptName = os.path.splitext(os.path.basename(__file__))[0]
|
||||
scriptID = ' '.join([scriptName,damask.version])
|
||||
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
# MAIN
|
||||
#--------------------------------------------------------------------------------------------------
|
||||
|
||||
parser = OptionParser(option_class=damask.extendableOption, usage='%prog [file[s]]', description = """
|
||||
Adds header to OIM grain file type 1 to make it accesible as ASCII table
|
||||
|
||||
""", version = scriptID)
|
||||
|
||||
|
||||
(options, filenames) = parser.parse_args()
|
||||
|
||||
# --- loop over input files -------------------------------------------------------------------------
|
||||
|
||||
if filenames == []: filenames = [None]
|
||||
|
||||
for name in filenames:
|
||||
try:
|
||||
table = damask.ASCIItable(name = name,
|
||||
buffered = False,
|
||||
labeled = False)
|
||||
except: continue
|
||||
damask.util.report(scriptName,name)
|
||||
table.head_read()
|
||||
data = []
|
||||
while table.data_read():
|
||||
data.append(table.data[0:9])
|
||||
|
||||
table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:]))
|
||||
table.labels_append(['1_euler','2_euler','3_euler','1_pos','2_pos','IQ','CI','Fit','GrainID'])
|
||||
table.head_write()
|
||||
for i in data:
|
||||
table.data = i
|
||||
table.data_write()
|
||||
|
||||
# --- output finalization --------------------------------------------------------------------------
|
||||
|
||||
table.close() # close ASCII table
|
|
@ -1,119 +0,0 @@
|
|||
#!/usr/bin/env python2.7
|
||||
# -*- coding: UTF-8 no BOM -*-
|
||||
|
||||
import os,sys,math
|
||||
from optparse import OptionParser
|
||||
import damask
|
||||
import pipes
|
||||
|
||||
scriptName = os.path.splitext(os.path.basename(__file__))[0]
|
||||
scriptID = ' '.join([scriptName,damask.version])
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# MAIN
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]',
|
||||
description ='generate 3D RVE from .ang files of EBSD slices .',
|
||||
version = scriptID)
|
||||
|
||||
parser.add_option('--offset',
|
||||
dest='offset',
|
||||
type='float',
|
||||
help='offset of EBSD slices [%default]',
|
||||
metavar='float')
|
||||
parser.add_option('--outname',
|
||||
dest='outName',
|
||||
type='string',
|
||||
help='output file name [%default]', metavar='string')
|
||||
parser.add_option('--vtr',
|
||||
action="store_true",
|
||||
dest='vtr')
|
||||
parser.add_option('--geom',
|
||||
action="store_true",
|
||||
dest='geom')
|
||||
parser.set_defaults(offset = 1.0,
|
||||
outName = 'RVE3D')
|
||||
|
||||
(options,filenames) = parser.parse_args()
|
||||
|
||||
numFiles = len(filenames)
|
||||
formatwidth = 1+int(math.log10(numFiles))
|
||||
|
||||
# copy original files to tmp files to not alter originals
|
||||
for i in range(numFiles):
|
||||
sliceID = 'slice' + str(i).zfill(formatwidth) + '.tmp'
|
||||
strCommand = 'cp ' + pipes.quote(filenames[i]) + ' ' + sliceID
|
||||
os.system(strCommand)
|
||||
|
||||
# modify tmp files
|
||||
print('Add z-coordinates')
|
||||
for i in range(numFiles):
|
||||
sliceID = 'slice' + str(i).zfill(formatwidth) + '.tmp'
|
||||
strCommand = 'OIMgrainFile_toTable ' + sliceID
|
||||
os.system(strCommand)
|
||||
strCommand = 'addCalculation --label 3Dpos --formula "np.array(#pos#.tolist()+[' + str(i*options.offset) + '])" ' + sliceID
|
||||
os.system(strCommand)
|
||||
|
||||
# join temp files into one
|
||||
|
||||
print('\n Colocate files')
|
||||
fileOut = open(options.outName + '.ang','w')
|
||||
|
||||
# take header information from 1st file
|
||||
sliceID = 'slice' + str(0).zfill(formatwidth) + '.tmp'
|
||||
fileRead = open(sliceID)
|
||||
data = fileRead.readlines()
|
||||
fileRead.close()
|
||||
headerLines = int(data[0].split()[0])
|
||||
fileOut.write(str(headerLines+1) + '\t header\n')
|
||||
for line in data[1:headerLines]:
|
||||
fileOut.write(line)
|
||||
fileOut.write(scriptID + '\t' + ' '.join(sys.argv[1:]) + '\n')
|
||||
for line in data[headerLines:]:
|
||||
fileOut.write(line)
|
||||
|
||||
# append other files content without header
|
||||
for i in range(numFiles-1):
|
||||
sliceID = 'slice' + str(i+1).zfill(formatwidth) + '.tmp'
|
||||
fileRead = open(sliceID)
|
||||
data = fileRead.readlines()
|
||||
fileRead.close()
|
||||
headerLines = int(data[0].split()[0])
|
||||
for line in data[headerLines+1:]:
|
||||
fileOut.write(line)
|
||||
fileOut.close()
|
||||
|
||||
# tidy up and add phase column
|
||||
print('\n Remove temp data and add phase info')
|
||||
strCommand = 'filterTable --black pos ' + options.outName + '.ang'
|
||||
os.system(strCommand)
|
||||
strCommand = 'reLabel --label 3Dpos --substitute pos ' + options.outName + '.ang'
|
||||
os.system(strCommand)
|
||||
strCommand = 'addCalculation -l phase -f 1 ' + options.outName + '.ang'
|
||||
os.system(strCommand)
|
||||
|
||||
|
||||
# create geom file when asked for
|
||||
if options.geom:
|
||||
print('\n Build geometry file')
|
||||
strCommand = 'geom_fromTable --phase phase --eulers euler --coordinates pos ' + pipes.quote(options.outName) + '.ang'
|
||||
os.system(strCommand)
|
||||
|
||||
# create paraview file when asked for
|
||||
|
||||
if options.vtr:
|
||||
print('\n Build Paraview file')
|
||||
strCommand = 'addIPFcolor --eulers euler --pole 0.0 0.0 1.0 ' + options.outName + '.ang'
|
||||
os.system(strCommand)
|
||||
strCommand = 'vtk_rectilinearGrid ' + pipes.quote(options.outName) + '.ang'
|
||||
os.system(strCommand)
|
||||
os.rename(pipes.quote(options.outName) + '_pos(cell)'+'.vtr', pipes.quote(options.outName) + '.vtr')
|
||||
strCommand = 'vtk_addRectilinearGridData --vtk '+ pipes.quote(options.outName) + '.vtr --color IPF_001_cubic '\
|
||||
+ pipes.quote(options.outName) + '.ang'
|
||||
os.system(strCommand)
|
||||
|
||||
# delete tmp files
|
||||
for i in range(numFiles):
|
||||
sliceID = 'slice' + str(i).zfill(formatwidth) + '.tmp'
|
||||
os.remove(sliceID)
|
Loading…
Reference in New Issue