Exemplo n.º 1
0
NAMES = ['ENTROPY', 'SLOW', 'ALFVEN', 'FAST']
NVAR = 8
VARS = ['rho', 'u', 'u1', 'u2', 'u3', 'B1', 'B2', 'B3']

amp = 1.e-4
k1 = 2.*np.pi
k2 = 2.*np.pi
var0 = np.zeros(NVAR)
var0[0] = 1.
var0[1] = 1.
var0[5] = 1.
L1 = np.zeros([len(MODES), len(RES), NVAR])
powerfits = np.zeros([len(MODES), NVAR])

for n in xrange(len(MODES)):
  util.change_rparm('nmode', MODES[n], TMP_DIR + '/param_template.dat')
  os.chdir(TMP_DIR)
  print os.getcwd()

  # EIGENMODES
  dvar = np.zeros(NVAR)
  if MODES[n] == 0: # ENTROPY
    dvar[0] = 1.
  if MODES[n] == 1: # SLOW/SOUND
    dvar[0] = 0.558104461559
    dvar[1] = 0.744139282078
    dvar[2] = -0.277124827421
    dvar[3] = 0.0630348927707
    dvar[5] = -0.164323721928
    dvar[6] = 0.164323721928
  if MODES[n] == 2: # ALFVEN
Exemplo n.º 2
0
    import matplotlib
    matplotlib.use('Agg')
    import matplotlib.pyplot as plt
    import pylab as pl

os.chdir('../prob/' + PROBLEM)

# COMPILE CODE
call(['python', 'build.py', '-dir', TMP_DIR])
os.chdir('../../test')
call(['mv', '../prob/' + PROBLEM + '/' + TMP_DIR, './'])

# RUN EXECUTABLE
os.chdir(TMP_DIR)
if FAST:
    util.change_rparm('tf', str(TF), 'param_template.dat')
call_string = ['./bhlight', '-p', 'param_template.dat']
bcall(call_string)
os.chdir('../')

# READ SIMULATION OUTPUT
dfiles = np.sort(glob.glob(os.path.join(TMP_DIR, '') + '/dumps/dump*.h5'))
Nd = len(dfiles)
hdr = io.load_hdr(dfiles[0])
geom = io.load_geom(hdr)
t_code = np.zeros(Nd)
Te_code = np.zeros(Nd)
Tr_code = np.zeros(Nd)
#Tr2_code = np.zeros(Nd)
Etot = np.zeros(Nd)
#ng = 2.38e18
Exemplo n.º 3
0
    for d in [1, 2, 3]:
        util.change_cparm('N{}TOT'.format(d), res, TMP_BUILD)
    if MPI:
        for d in [1, 2, 3]:
            util.change_cparm('N{}CPU'.format(d), 2, TMP_BUILD)
    call([sys.executable, TMP_BUILD, '-dir', TMP_DIR])
    parm_src = os.path.join(os.getcwd(), TMP_DIR, 'param_template.dat')
    parm_dest = '../../test/' + TMP_DIR + '/param.dat'
    call([
        'cp',
        os.path.join(os.getcwd(), TMP_DIR, 'bhlight'),
        '../../test/' + TMP_DIR + '/bhlight_' + str(res)
    ])
    copyfile(parm_src, parm_dest)
    if BIGRUN:
        util.change_rparm('tf', 0.1, parm_dest)
        util.change_rparm('DTd', 0.05, parm_dest)
        util.change_rparm('DTl', 0.05, parm_dest)
util.safe_remove(TMP_BUILD)
util.safe_remove(TMP_DIR)
os.chdir('../../test/')
os.chdir(TMP_DIR)

# and convergence plot
print("Convergence test...")
errs = [None for res in RES]
for n, res in enumerate(RES):
    print("Res = {}".format(res))
    call_string = ['./bhlight_' + str(res), '-p', 'param.dat']
    if MPI:
        bcall(call_string, int(num_mpi))
Exemplo n.º 4
0
copyfile(os.path.join(os.getcwd(), TMP_DIR, 'param_template.dat'),
         '../../test/' + TMP_DIR + '/param.dat')
util.safe_remove(TMP_BUILD)
util.safe_remove(TMP_DIR)
os.chdir('../../test/')

NVAR = 8

L1 = np.zeros(len(RES))

os.chdir(TMP_DIR)

# RUN PROBLEM FOR EACH RESOLUTION AND ANALYZE RESULT
for m in range(len(RES)):
    print(['./bhlight_' + str(RES[m]), '-p', 'param.dat'])
    util.change_rparm('tf', 50, 'param.dat')
    call(['./bhlight_' + str(RES[m]), '-p', 'param.dat'])

    dfiles = np.sort(glob.glob('dumps/dump*.h5'))
    hdr = io.load_hdr(dfiles[0])
    geom = io.load_geom(hdr)
    dump0 = io.load_dump(dfiles[0], geom)
    dump1 = io.load_dump(dfiles[-1], geom)
    r = geom['r'][:, 0, 0]

    imin = 0
    while r[imin] < hdr['Reh']:
        imin += 1
    rho0 = np.mean(dump0['RHO'][imin:, :, 0], axis=1)
    rho1 = np.mean(dump1['RHO'][imin:, :, 0], axis=1)
Exemplo n.º 5
0
for arg in sys.argv:
    if arg == '-auto':
        AUTO = True

os.chdir('../prob/' + PROBLEM)

# COMPILE CODE
util.change_cparm('N1TOT', 512, 'build.py')
call(['python', 'build.py', '-dir', TMP_DIR])
os.chdir('../../test/')
call(['mv', '../prob/' + PROBLEM + '/' + TMP_DIR, './'])

# RUN EXECUTABLE
os.chdir(TMP_DIR)
for shock in shocks:
    util.change_rparm('shock', str(shock), 'param_template.dat')
    call(['./bhlight', '-p', 'param_template.dat'])
    shutil.move('dumps', 'dumps_%d' % shock)
os.chdir('../')

# HIGH RESOLUTION VETTED SOLUTION
soln = np.loadtxt('data/kshocks.txt')

if AUTO:
    data = {}
    data['SOLX'] = []
    data['SOLY'] = []
    data['CODEX'] = []
    data['CODEY'] = []
    for shock in shocks:
        dfiles = np.sort(
Exemplo n.º 6
0
util.change_cparm('N2TOT', 1, TMP_BUILD)
util.change_cparm('N3TOT', 1, TMP_BUILD)
util.change_cparm('N1CPU', 1, TMP_BUILD)
util.change_cparm('N2CPU', 1, TMP_BUILD)
util.change_cparm('N3CPU', 1, TMP_BUILD)

# COMPILE CODE
call(['python', TMP_BUILD, '-dir', TMP_DIR])
os.remove(TMP_BUILD)
call(['cp', 'init.txt', TMP_DIR])
os.chdir('../../test/')
call(['mv', '../prob/' + PROBLEM + '/' + TMP_DIR, './'])

# RUN EXECUTABLE
os.chdir(TMP_DIR)
util.change_rparm('nph_per_proc', 1.e5, 'param_template.dat')
util.change_rparm('tf', 50, 'param_template.dat')
call(['./bhlight', '-p', 'param_template.dat'])
os.chdir('../')

# READ SIMULATION OUTPUT
dfiles = np.sort(glob.glob(os.path.join(TMP_DIR, '') + '/dumps/dump*.h5'))
hdr = io.load_hdr(dfiles[0])
geom = io.load_geom(hdr)
dump = io.load_dump(dfiles[-1], geom)

Er = np.zeros([hdr['N1'], hdr['N2'], hdr['N3']])
Rmunu = dump['Rmunu'][:, :, :, :, :]
ucov = dump['ucov'][:, :, :, :]
ucon = dump['ucon'][:, :, :, :]
for i in range(hdr['N1']):