@@ -33,18 +33,30 @@ def __init__(self,pysim):
33
33
self .ny = pysim .PyMPI .ay
34
34
self .nz = pysim .PyMPI .az
35
35
self .shape = (self .nx , self .ny , self .nz )
36
+ self .input_maps = {}
37
+ self .turbvar_maps = {}
38
+ self .output_maps = {}
36
39
37
40
# Inputs - auto from ransbox api
38
41
inputs = ransbox .RANSBoxInputs ()
39
42
self .inputList = [i for i in dir (inputs ) if "__" not in i ]
40
43
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
42
53
43
54
# Outputs - auto from ransbox api
44
55
outputs = ransbox .RANSBoxOutputs ()
45
56
self .outputList = [i for i in dir (outputs ) if "__" not in i ]
46
57
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
48
60
49
61
# Available Models
50
62
self .modPrefix = "RANSBox_ModelType_"
@@ -56,6 +68,7 @@ def __init__(self,pysim):
56
68
57
69
58
70
self .inputs = inputs
71
+ self .turbvars = turbvars
59
72
self .outputs = outputs
60
73
self .allocated = False
61
74
@@ -154,7 +167,7 @@ def allocate(self):
154
167
# Allocate some space for RANSBox outputs
155
168
npts = self .nx * self .ny * self .nz
156
169
for ii in self .outputList :
157
- #exec("val = self.%s" % ii )
170
+ # exec("val = self.%s" % ii )
158
171
#if val:
159
172
exec ("self.outputs.%s = numpy.zeros(npts)" % ii )
160
173
@@ -183,36 +196,42 @@ def toF(self, val ):
183
196
184
197
def evaluate (self ):
185
198
186
- if not self .allocated :
187
- self .allocate ()
188
199
189
200
# Setup inputs (if direct pointer, only do once?)
190
201
#inputs = self.inputs
191
202
192
203
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 ]
194
207
if val :
195
208
#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
+
198
221
# Evaluate model
199
222
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
+
201
225
202
226
#import pdb
203
227
#pdb.set_trace()
204
228
205
229
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
218
231
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