changed header in seeds file from 'x,y,z' to '1..3_coords'.
scripts now use the header information and do not rely on coordinates being in the first three columns
This commit is contained in:
parent
1f809f9d73
commit
2e6bbe887e
|
@ -1,8 +1,8 @@
|
|||
4 header
|
||||
resolution a 16 b 16 c 16
|
||||
grains 20
|
||||
grid a 16 b 16 c 16
|
||||
microstructures 20
|
||||
random seed 0
|
||||
x y z phi1 Phi phi2
|
||||
1_coords 2_coords 3_coords phi1 Phi phi2
|
||||
0.375488 0.161813 0.891040 197.572861 16.816409 129.422844
|
||||
0.187988 0.849313 0.953540 257.468172 53.250534 157.331503
|
||||
0.750488 0.349313 0.953540 216.994815 94.418518 251.147231
|
||||
|
|
|
@ -105,26 +105,20 @@ for file in files:
|
|||
table = damask.ASCIItable(file['input'],file['output'],buffered = False)
|
||||
table.head_read()
|
||||
|
||||
labels = ['x','y','z']
|
||||
index = 0
|
||||
coordsCol = table.labels_index('1_coords')
|
||||
if coordsCol < 0:
|
||||
coordsCol = table.labels_index('x') # try if file is in legacy format
|
||||
if coordsCol < 0:
|
||||
file['croak'].write('column 1_coords/x not found...\n')
|
||||
continue
|
||||
|
||||
eulerCol = table.labels_index('phi1')
|
||||
hasEulers = np.all(table.labels_index(['phi1','Phi','phi2'])) != -1
|
||||
grainCol = table.labels_index('microstructure')
|
||||
hasGrains = grainCol != -1
|
||||
|
||||
if hasEulers:
|
||||
labels += ['phi1','Phi','phi2']
|
||||
index += 3
|
||||
|
||||
|
||||
if hasGrains:
|
||||
labels += ['microstructure']
|
||||
index += 1
|
||||
|
||||
|
||||
table.data_readArray(labels)
|
||||
coords = table.data[:,0:3]
|
||||
table.data_readArray()
|
||||
coords = table.data[:,coordsCol:coordsCol+3]
|
||||
eulers = table.data[:,eulerCol:eulerCol+3] if hasEulers else np.zeros(3*len(coords))
|
||||
grain = table.data[:,grainCol] if hasGrains else 1+np.arange(len(eulers))
|
||||
grainIDs = np.unique(grain).astype('i')
|
||||
|
@ -185,8 +179,8 @@ for file in files:
|
|||
continue
|
||||
|
||||
#--- prepare data ---------------------------------------------------------------------------------
|
||||
coords = (coords*info['size']).transpose()
|
||||
eulers = eulers.transpose()
|
||||
coords = (coords*info['size']).T
|
||||
eulers = eulers.T
|
||||
|
||||
#--- switch according to task ---------------------------------------------------------------------
|
||||
if options.config: # write config file
|
||||
|
|
|
@ -61,17 +61,18 @@ for file in files:
|
|||
table = damask.ASCIItable(file['input'],file['output'])
|
||||
table.head_read()
|
||||
|
||||
labels = ['x','y','z']
|
||||
coordsCol = table.labels_index('1_coords')
|
||||
if coordsCol < 0:
|
||||
coordsCol = table.labels_index('x') # try if file is in legacy format
|
||||
if coordsCol < 0:
|
||||
file['croak'].write('column 1_coords/x not found...\n')
|
||||
continue
|
||||
|
||||
grainCol = table.labels_index('microstructure')
|
||||
hasGrains = grainCol != -1
|
||||
|
||||
if hasGrains:
|
||||
labels += ['microstructure']
|
||||
|
||||
|
||||
table.data_readArray(labels)
|
||||
coords = table.data[:,0:3]
|
||||
|
||||
table.data_readArray()
|
||||
coords = table.data[:,coordsCol:coordsCol+3]
|
||||
grain = table.data[:,grainCol] if hasGrains else 1+np.arange(len(coords))
|
||||
grainIDs = np.unique(grain).astype('i')
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ for file in files:
|
|||
"origin\tx %i\ty %i\tz %i"%(info['origin'][0],info['origin'][1],info['origin'][2],),
|
||||
]
|
||||
table.labels_clear()
|
||||
table.labels_append(['x','y','z','microstructure']) # implicitly switching label processing/writing on
|
||||
table.labels_append(['1_coords','2_coords','3_coords','microstructure']) # implicitly switching label processing/writing on
|
||||
table.head_write()
|
||||
|
||||
#--- filtering of grain voxels ------------------------------------------------------------------------------------
|
||||
|
|
|
@ -81,7 +81,7 @@ header = ["5\theader",
|
|||
"grid\ta {}\tb {}\tc {}".format(options.grid[0],options.grid[1],options.grid[2]),
|
||||
"microstructures\t{}".format(options.N),
|
||||
"randomSeed\t{}".format(options.randomSeed),
|
||||
"x\ty\tz\tphi1\tPhi\tphi2",
|
||||
"1_coords\t2_coords\t3_coords\tphi1\tPhi\tphi2",
|
||||
]
|
||||
|
||||
for line in header:
|
||||
|
|
|
@ -144,7 +144,7 @@ for file in files:
|
|||
map(str,boundingBox[1,:]-boundingBox[0,:])))))),
|
||||
]
|
||||
table.labels_clear()
|
||||
table.labels_append(['x','y','z','microstructure']) # implicitly switching label processing/writing on
|
||||
table.labels_append(['1_coords','2_coords','3_coords','microstructure']) # implicitly switching label processing/writing on
|
||||
table.head_write()
|
||||
|
||||
table.data_writeArray()
|
||||
|
|
Loading…
Reference in New Issue