2018-11-17 12:42:12 +05:30
|
|
|
#!/usr/bin/env python3
|
2014-08-29 00:20:48 +05:30
|
|
|
|
2019-05-25 14:15:58 +05:30
|
|
|
import os
|
|
|
|
from optparse import OptionParser
|
2014-08-29 00:20:48 +05:30
|
|
|
|
2019-05-27 00:06:41 +05:30
|
|
|
import damask
|
|
|
|
|
2019-05-31 13:57:26 +05:30
|
|
|
|
2016-01-27 22:36:00 +05:30
|
|
|
scriptName = os.path.splitext(os.path.basename(__file__))[0]
|
|
|
|
scriptID = ' '.join([scriptName,damask.version])
|
2014-08-29 00:20:48 +05:30
|
|
|
|
2019-05-27 00:06:41 +05:30
|
|
|
|
2014-08-29 00:20:48 +05:30
|
|
|
#--------------------------------------------------------------------------------------------------
|
|
|
|
# MAIN
|
|
|
|
#--------------------------------------------------------------------------------------------------
|
|
|
|
|
2019-05-27 00:06:41 +05:30
|
|
|
parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [geomfile(s)]', description = """
|
|
|
|
Inserts a primitive geometric object at a given position.
|
2019-05-29 03:15:17 +05:30
|
|
|
These objects can be boxes, cylinders, or ellipsoids.
|
2014-11-07 16:43:14 +05:30
|
|
|
|
|
|
|
""", version = scriptID)
|
2014-08-29 00:20:48 +05:30
|
|
|
|
2019-05-27 00:06:41 +05:30
|
|
|
parser.add_option('-c', '--center',
|
2019-05-30 17:37:49 +05:30
|
|
|
dest='center',
|
2019-03-10 00:48:28 +05:30
|
|
|
type='float', nargs = 3, metavar=' '.join(['float']*3),
|
2014-08-29 00:20:48 +05:30
|
|
|
help='a,b,c origin of primitive %default')
|
2019-05-27 00:06:41 +05:30
|
|
|
parser.add_option('-d', '--dimension',
|
|
|
|
dest='dimension',
|
2019-03-10 00:48:28 +05:30
|
|
|
type='float', nargs = 3, metavar=' '.join(['float']*3),
|
2019-05-27 00:06:41 +05:30
|
|
|
help='a,b,c extension of hexahedral box')
|
|
|
|
parser.add_option('-e', '--exponent',
|
|
|
|
dest='exponent',
|
2019-03-10 00:48:28 +05:30
|
|
|
type='float', nargs = 3, metavar=' '.join(['float']*3),
|
2019-05-29 11:08:11 +05:30
|
|
|
help='i,j,k exponents for axes: '+
|
|
|
|
'0 gives octahedron (|x|^(2^0) + |y|^(2^0) + |z|^(2^0) < 1), '+
|
|
|
|
'1 gives a sphere (|x|^(2^1) + |y|^(2^1) + |z|^(2^1) < 1), '+
|
|
|
|
'large values produce boxes, negative turn concave.')
|
2019-05-27 00:06:41 +05:30
|
|
|
parser.add_option('-f', '--fill',
|
|
|
|
dest='fill',
|
|
|
|
type='float', metavar = 'int',
|
|
|
|
help='microstructure index to fill primitive, defaults to max microstructure index + 1')
|
|
|
|
parser.add_option('-q', '--quaternion',
|
|
|
|
dest='quaternion',
|
2019-03-10 00:48:28 +05:30
|
|
|
type='float', nargs = 4, metavar=' '.join(['float']*4),
|
2014-08-29 00:20:48 +05:30
|
|
|
help = 'rotation of primitive as quaternion')
|
2019-05-27 00:06:41 +05:30
|
|
|
parser.add_option('-a', '--angleaxis',
|
|
|
|
dest='angleaxis',
|
|
|
|
type=float, nargs = 4, metavar=' '.join(['float']*4),
|
2019-03-10 00:48:28 +05:30
|
|
|
help = 'axis and angle to rotate primitive')
|
2019-05-27 00:06:41 +05:30
|
|
|
parser.add_option( '--degrees',
|
|
|
|
dest='degrees',
|
2019-03-10 00:48:28 +05:30
|
|
|
action='store_true',
|
2019-05-27 00:06:41 +05:30
|
|
|
help = 'angle is given in degrees')
|
|
|
|
parser.add_option( '--nonperiodic',
|
|
|
|
dest='periodic',
|
2019-03-10 00:48:28 +05:30
|
|
|
action='store_false',
|
2019-05-27 00:06:41 +05:30
|
|
|
help = 'wrap around edges')
|
|
|
|
parser.add_option( '--realspace',
|
|
|
|
dest='realspace',
|
2019-03-10 00:48:28 +05:30
|
|
|
action='store_true',
|
2017-08-03 21:38:51 +05:30
|
|
|
help = '-c and -d span [origin,origin+size] instead of [0,grid] coordinates')
|
2019-05-27 00:06:41 +05:30
|
|
|
parser.add_option( '--invert',
|
|
|
|
dest='inside',
|
2019-05-23 21:33:54 +05:30
|
|
|
action='store_false',
|
|
|
|
help = 'invert the volume filled by the primitive (inside/outside)')
|
2019-05-27 00:06:41 +05:30
|
|
|
|
2017-03-08 23:16:53 +05:30
|
|
|
parser.set_defaults(center = (.0,.0,.0),
|
2014-08-29 00:20:48 +05:30
|
|
|
degrees = False,
|
2017-08-03 21:42:47 +05:30
|
|
|
exponent = (20,20,20), # box shape by default
|
2017-03-08 07:07:30 +05:30
|
|
|
periodic = True,
|
2017-08-03 21:38:51 +05:30
|
|
|
realspace = False,
|
2019-05-23 21:33:54 +05:30
|
|
|
inside = True,
|
2014-08-29 00:20:48 +05:30
|
|
|
)
|
|
|
|
|
2020-08-08 21:49:48 +05:30
|
|
|
print('This script is broken and does nothing')
|