Beispiel #1
0
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
Beispiel #2
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