Skip to content

Commit 278f7ad

Browse files
Dana Lynn Ona-Lansigan Lavacotflow-phys
Dana Lynn Ona-Lansigan Lavacot
authored andcommitted
Updated pyrandaRANSBox.py to work with current version of RANSBox. Made changes to account for addition of TurbVars data structure in RANSBox. Added TurbVars to EvaluateModel call and created dictionary for variable mappings to avoid potential overwrite of Pyranda variables by RANSBox Outputs.
1 parent e02ac5e commit 278f7ad

File tree

1 file changed

+40
-21
lines changed

1 file changed

+40
-21
lines changed

pyranda/pyrandaRANSBOX.py

+40-21
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,30 @@ def __init__(self,pysim):
3333
self.ny = pysim.PyMPI.ay
3434
self.nz = pysim.PyMPI.az
3535
self.shape = (self.nx, self.ny, self.nz)
36+
self.input_maps = {}
37+
self.turbvar_maps = {}
38+
self.output_maps = {}
3639

3740
# Inputs - auto from ransbox api
3841
inputs = ransbox.RANSBoxInputs()
3942
self.inputList = [i for i in dir(inputs) if "__" not in i]
4043
for ii in self.inputList:
41-
exec("self.%s = None" % ii)
44+
# exec(f"self.input_maps.%s = None" % ii)
45+
self.input_maps[ii] = None
46+
47+
# Turbulence variables
48+
turbvars = ransbox.RANSBoxTurbVars()
49+
self.turbvarList = [i for i in dir(turbvars) if "__" not in i]
50+
for ii in self.turbvarList:
51+
# exec(f"self.turbvar_maps.%s = None" % ii)
52+
self.turbvar_maps[ii] = None
4253

4354
# Outputs - auto from ransbox api
4455
outputs = ransbox.RANSBoxOutputs()
4556
self.outputList = [i for i in dir(outputs) if "__" not in i]
4657
for ii in self.outputList:
47-
exec("self.%s = None" % ii)
58+
# exec(f"self.output_maps.%s = None" % ii)
59+
self.output_maps[ii] = None
4860

4961
# Available Models
5062
self.modPrefix = "RANSBox_ModelType_"
@@ -56,6 +68,7 @@ def __init__(self,pysim):
5668

5769

5870
self.inputs = inputs
71+
self.turbvars = turbvars
5972
self.outputs = outputs
6073
self.allocated = False
6174

@@ -154,7 +167,7 @@ def allocate(self):
154167
# Allocate some space for RANSBox outputs
155168
npts = self.nx * self.ny * self.nz
156169
for ii in self.outputList:
157-
#exec("val = self.%s" % ii )
170+
# exec("val = self.%s" % ii )
158171
#if val:
159172
exec("self.outputs.%s = numpy.zeros(npts)" % ii )
160173

@@ -183,36 +196,42 @@ def toF(self, val ):
183196

184197
def evaluate(self):
185198

186-
if not self.allocated:
187-
self.allocate()
188199

189200
# Setup inputs (if direct pointer, only do once?)
190201
#inputs = self.inputs
191202

192203
for ii in self.inputList:
193-
exec("val = self.%s" % ii )
204+
# exec(f"val = self.%s" % ii)
205+
# val = getattr(self.input_maps,ii)
206+
val = self.input_maps[ii]
194207
if val:
195208
#exec("self.inputs.%s = self.toC( self.pysim.variables[ self.%s ].data )" % (ii,ii) )
196-
exec("self.inputs.%s = self.pysim.variables[ self.%s ].data " % (ii,ii) )
197-
209+
exec("self.inputs.%s = self.pysim.variables[ val ].data " % ii )
210+
211+
for ii in self.turbvarList:
212+
# exec(f"val = self.%s" % ii)
213+
# val = getattr(self.turbvar_maps,ii)
214+
val = self.turbvar_maps[ii]
215+
if val:
216+
exec("self.turbvars.%s = self.pysim.variables[ val ].data " % ii )
217+
218+
if not self.allocated:
219+
self.allocate()
220+
198221
# Evaluate model
199222
npts = self.nx * self.ny * self.nz
200-
RANSBox_EvaluateModel(self.model, self.inputs, self.outputs, npts, "cpu")
223+
RANSBox_EvaluateModel(self.model, self.inputs, self.turbvars, self.outputs, npts, "cpu")
224+
201225

202226
#import pdb
203227
#pdb.set_trace()
204228

205229

206-
for ii in self.outputList:
207-
exec("val = self.%s" % ii )
208-
if val:
209-
#exec("self.pysim.variables[ self.%s ].data = self.toF( self.outputs.%s )" % (ii,ii) )
210-
exec("self.pysim.variables[ self.%s ].data = self.outputs.%s.reshape(self.shape)" % (ii,ii) )
211-
212-
213-
214-
215-
216-
217-
230+
# Update outputs
218231

232+
for ii in self.outputList:
233+
# exec(f"val = self.%s" % ii )
234+
# val = getattr(self.output_maps,ii)
235+
val = self.output_maps[ii]
236+
if val:
237+
exec("self.pysim.variables[ val ].data = self.outputs.%s.reshape(self.shape)" % ii )

0 commit comments

Comments
 (0)