incomp-flame-1d/code/sample/itape.py

89 lines
1.7 KiB
Python
Executable file

#!/bin/python
import os, sys
import argparse
from pprint import pprint
parser = argparse.ArgumentParser()
file_parser = argparse.ArgumentParser()
# Default values for all parameters
raw_defaults = (
'''\
nx 512
l_0 4.
int_pr 400
tar_lo 0.60
dt 0.0005
sc 0.75
vis 0.020
pre 2.10E+4
ac 26.7
bc 3.
u0 0.21
tf 100.
dt_uf 0.4
ctmp 0.
c_cut 0.001
c_ref 0.01
min_wr 0.
prof_wr 1.0
lewis 1.0
lambda1 6.25E+4
lambda2 318E+4
beta1 5
hrp 0.75
le_a 1.
le_x 0.20
nsp 2
nrxn 1
d_turb 0
d_mode 0
'''
).split()
ordered_args = raw_defaults[::2]
ordered_values = []
for v in raw_defaults[1::2]:
try:
ordered_values.append(int(v))
except ValueError:
ordered_values.append(float(v))
param_dict = dict(zip(ordered_args, ordered_values))
file_parser.add_argument("--default", help="file containing override default values")
file_args, others = file_parser.parse_known_args()
if file_args.default is not None:
with open(file_args.default) as df:
try:
for line in df:
k, v = line.split()[:2]
if k in param_dict:
param_dict[k] = v
except ValueError:
pass
for k, v in param_dict.iteritems():
parser.add_argument("--"+k, default=v)
args = parser.parse_args(others)
params = vars(args)
line_new = '{:>12} {}'
for a in ordered_args:
print line_new.format(a, params[a])
# for i in range(15,60,5):
# with open("itape", 'w') as itape:
# itape.write(format.format(float(i)/10.0))
# os.system("../../ex &>"+str(i)+".txt")