File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments