import numpy as np class MatchingInterpolator: def __init__(self, cfg): self.cfg = cfg def inviscidToViscous(self, iDict, vDict, couplIter): ## Airfoil # Find stagnation point if self.cfg['nDim'] == 2: for iReg in range(len(iDict)): vDict[0][iReg].updateVars(iDict[iReg].nodesCoord, iDict[iReg].V, iDict[iReg].M, iDict[iReg].Rho) elif self.cfg['nDim'] == 3: for iSec, ysec in enumerate(self.cfg['sections']): for iReg in range(2): print(iDict[iReg].nodesCoord[iDict[iReg].nodesCoord[:,1] == ysec]) print(iDict[iReg].V[iDict[iReg].nodesCoord[:,1] == ysec]) vDict[iSec][iReg].updateVars(iDict[iReg].nodesCoord[iDict[iReg].nodesCoord[:,1] == ysec], iDict[iReg].V[iDict[iReg].nodesCoord[:,1] == ysec], iDict[iReg].Rho[iDict[iReg].nodesCoord[:,1] == ysec]) def viscousToInviscid(self, iDict, vDict): if self.cfg['nDim'] == 2: for iReg in range(2): iDict[iReg].blowingVel = vDict[0][iReg].blowingVel else: raise RuntimeError('Incorrect number of dimensions', self.nDim)