Example #1
0
 def __init__(self, N, BC, quad="GL", dim = "1"):
     self.quad = quad
     self.BC = BC
     self.k = self.wavenumbers(N)
     self.ak, self.bk = self.shenCoefficients(self.k, self.BC)          
     self.a0 = zeros(N[0]-2)
     self.b0 = zeros(N[0]-2)
     self.kk= zeros(N[0])
     self.Bm = B_matrix(self.kk, self.quad, self.ak, self.bk, self.ak, self.bk)
     self.a0[2:], self.b0[1:], self.c0, self.d0, self.e0 = self.Bm.diags()
Example #2
0
class PDMA(Shen):        
    
    def __init__(self, N, BC, quad="GL", dim = "1"):
        self.quad = quad
        self.BC = BC
        self.k = self.wavenumbers(N)
        self.ak, self.bk = self.shenCoefficients(self.k, self.BC)          
        self.a0 = zeros(N[0]-2)
        self.b0 = zeros(N[0]-2)
        self.kk= zeros(N[0])
        self.Bm = B_matrix(self.kk, self.quad, self.ak, self.bk, self.ak, self.bk)
        self.a0[2:], self.b0[1:], self.c0, self.d0, self.e0 = self.Bm.diags()

    def __call__(self, u, b):
	if self.dim=="1":
	    SFTc.PDMA_1D(self.a0, self.b0, self.c0, self.d0, self.e0, u, b)
        elif self.dim=="3":
	    SFTc.PDMA(self.a0, self.b0, self.c0, self.d0, self.e0, u, b)
        return b