def PSolve(tn, c, fc, r, z, gamma, delta, lr, P_data, vtemp): wdata = ctypes.cast(P_data, PWebData).contents z[:] = r GSIter(gamma, z, vtemp, wdata) P = wdata.P pivot = wdata.pivot mx = wdata.mx my = wdata.my ngx = wdata.ngx mp = wdata.mp jigx = wdata.jigx jigy = wdata.jigy iv = 0 for jy in range(my): igy = jigy[jy] for jx in range(mx): igx = jigx[jx] ig = igx + igy*ngx cvode.denGETRS(P[ig], mp, pivot[ig], z.ptrto(iv)) iv += mp return 0
def PSolve(tn, u, fu, r, z, gamma, delta, lr, P_data, vtemp): data = ctypes.cast(P_data, PUserData).contents z[:] = r for jx in range(MX): for jy in range(MY): cvode.denGETRS(data.P[jx][jy], NUM_SPECIES, data.pivot[jx][jy], z.ptrto(jx*NUM_SPECIES + jy*NSMX)) return 0