Skip to content

Commit b0dc9c3

Browse files
authored
restore derived variables when we read a .h5 file (#294)
also add vorticity to compressible derives
1 parent 3cda63b commit b0dc9c3

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

pyro/compressible/derives.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ def derive_primitives(myd, varnames):
2424
gamma = myd.get_aux("gamma")
2525
p = eos.pres(gamma, dens, e)
2626

27+
myg = myd.grid
28+
vort = myg.scratch_array()
29+
30+
vort.v()[:, :] = \
31+
0.5*(v.ip(1) - v.ip(-1))/myg.dx - \
32+
0.5*(u.jp(1) - u.jp(-1))/myg.dy
33+
2734
if isinstance(varnames, str):
2835
wanted = [varnames]
2936
else:
@@ -50,6 +57,9 @@ def derive_primitives(myd, varnames):
5057
elif var == "soundspeed":
5158
derived_vars.append(np.sqrt(gamma*p/dens))
5259

60+
elif var == "vorticity":
61+
derived_vars.append(vort)
62+
5363
if len(derived_vars) > 1:
5464
return derived_vars
5565

pyro/util/io_pyro.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,14 @@ def read(filename):
127127

128128
sim.read_extras(f)
129129

130+
# check if there are derived variables
131+
try:
132+
derives = importlib.import_module(f"pyro.{solver_name}.derives")
133+
sim.cc_data.add_derived(derives.derive_primitives)
134+
135+
except ModuleNotFoundError:
136+
pass
137+
130138
if solver_name is not None:
131139
return sim
132140

0 commit comments

Comments
 (0)