#!/usr/bin/env python # -*- coding: utf-8 -*- import argparse import os from sys import stdout from subprocess import call def meshFile(param): base, ext = os.path.splitext(param) if ext.lower() != '.pyfrm': raise argparse.ArgumentTypeError('Mesh file must have a .pyfrm extension') return param parser = argparse.ArgumentParser(description="convert pyfrs files to vtu format") parser.add_argument("-d", help="level of sub-division", type=int) parser.add_argument("mesh", help="mesh file (.pyfrm)", type=meshFile) parser.add_argument("solution", help="solution file(s) (.pyfrs)", nargs="+") args = parser.parse_args() if args.d: for fn in args.solution: call(["pyfr", "export", args.mesh, fn, os.path.splitext(fn)[0] + ".vtu", "-d", str(args.d)]) stdout.write(".") stdout.flush() else: for fn in args.solution: call(["pyfr", "export", args.mesh, fn, os.path.splitext(fn)[0] + ".vtu"]) stdout.write(".") stdout.flush() stdout.write("\n")