def finalize(self,mskp_model):
print('found %i islands'%self.nbisland)
mskp = zeros((self.nyl,self.nxl),dtype=int8)
work = zeros((self.nyl,self.nxl))
mskr = zeros((self.nyl,self.nxl))
for k in range(self.nbisland):
idx = self.data[k]['idx']
psi0 = self.data[k]['psi0']
mskr[:,:]=1.
mskp[:,:]=0
mskr[idx]=0.
celltocorner(mskr,work)
mskp[work==1]=1
mskp=1-mskp
vort = (roll(mskp,-1,axis=1)+roll(mskp,-1,axis=0)
+roll(mskp,+1,axis=1)+roll(mskp,+1,axis=0) )
z=(vort)*psi0/self.dx**2#*(1-mskp)
self.rhsp[vort>0] = z[vort>0]
self.psi[mskp==1]=psi0
# print(self.psi[:,10])
print('island are ok')
评论列表
文章目录