2017-12-24 16:06:05 +07:00
|
|
|
#!/usr/bin/env python3
|
2013-06-10 22:08:27 -04:00
|
|
|
|
2017-04-03 10:06:49 -05:00
|
|
|
"""Convert HDF5 particle track to VTK poly data.
|
2013-06-10 22:08:27 -04:00
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
import argparse
|
2017-04-03 10:06:49 -05:00
|
|
|
|
2022-05-17 07:33:55 -04:00
|
|
|
import openmc
|
2013-06-10 22:08:27 -04:00
|
|
|
import vtk
|
|
|
|
|
|
2013-06-11 21:20:34 -04:00
|
|
|
|
|
|
|
|
def _parse_args():
|
2013-06-10 22:08:27 -04:00
|
|
|
# Create argument parser.
|
|
|
|
|
parser = argparse.ArgumentParser(
|
2022-05-17 07:33:55 -04:00
|
|
|
description='Convert particle track file(s) to a .pvtp file.')
|
2022-08-15 13:39:47 +01:00
|
|
|
parser.add_argument('input', metavar='IN', type=str,
|
|
|
|
|
help='Input particle track data filename.')
|
2013-10-02 21:21:05 -04:00
|
|
|
parser.add_argument('-o', '--out', metavar='OUT', type=str, dest='out',
|
2013-06-10 22:08:27 -04:00
|
|
|
help='Output VTK poly data filename.')
|
|
|
|
|
|
2013-06-11 21:20:34 -04:00
|
|
|
# Parse and return commandline arguments.
|
|
|
|
|
return parser.parse_args()
|
2013-06-12 16:41:09 -04:00
|
|
|
|
2013-06-11 21:20:34 -04:00
|
|
|
|
|
|
|
|
def main():
|
2013-07-08 15:10:50 -04:00
|
|
|
# Parse commandline arguments.
|
2013-06-11 21:20:34 -04:00
|
|
|
args = _parse_args()
|
2013-07-08 15:10:50 -04:00
|
|
|
|
2013-06-10 22:08:27 -04:00
|
|
|
# Make sure that the output filename ends with '.pvtp'.
|
|
|
|
|
if not args.out:
|
2013-06-12 16:41:09 -04:00
|
|
|
args.out = 'tracks.pvtp'
|
2015-06-07 10:09:31 +07:00
|
|
|
elif not args.out.endswith('.pvtp'):
|
2015-06-06 22:50:40 +07:00
|
|
|
args.out += '.pvtp'
|
2013-06-10 22:08:27 -04:00
|
|
|
|
2022-08-15 13:39:47 +01:00
|
|
|
# Write coordinate values to points array.
|
|
|
|
|
track_file = openmc.Tracks(args.input)
|
2022-08-16 22:09:58 -05:00
|
|
|
track_file.write_to_vtk(args.out)
|
2013-06-11 21:20:34 -04:00
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
main()
|