63 |
self.vol=util.integrate(1.,Function(self.domain)) |
self.vol=util.integrate(1.,Function(self.domain)) |
64 |
self.__pde_u=LinearPDE(domain,numEquations=self.domain.getDim(),numSolutions=self.domain.getDim()) |
self.__pde_u=LinearPDE(domain,numEquations=self.domain.getDim(),numSolutions=self.domain.getDim()) |
65 |
self.__pde_u.setSymmetryOn() |
self.__pde_u.setSymmetryOn() |
66 |
self.__pde_u.setSolverMethod(preconditioner=LinearPDE.ILU0) |
# self.__pde_u.setSolverMethod(preconditioner=LinearPDE.ILU0) |
67 |
|
|
68 |
self.__pde_proj=LinearPDE(domain,numEquations=1,numSolutions=1) |
# self.__pde_proj=LinearPDE(domain,numEquations=1,numSolutions=1) |
69 |
self.__pde_proj.setReducedOrderOn() |
# self.__pde_proj.setReducedOrderOn() |
70 |
self.__pde_proj.setSymmetryOn() |
# self.__pde_proj.setSymmetryOn() |
71 |
# self.__pde_proj.setSolverMethod(LinearPDE.LUMPING) |
# self.__pde_proj.setSolverMethod(LinearPDE.LUMPING) |
72 |
|
|
73 |
def initialize(self,f=Data(),fixed_u_mask=Data(),eta=1,surface_stress=Data()): |
def initialize(self,f=Data(),fixed_u_mask=Data(),eta=1,surface_stress=Data()): |
81 |
# self.__inv_eta=util.interpolate(self.eta,ReducedFunction(self.domain)) |
# self.__inv_eta=util.interpolate(self.eta,ReducedFunction(self.domain)) |
82 |
self.__pde_u.setValue(A=A*self.eta,q=fixed_u_mask,Y=f,y=surface_stress) |
self.__pde_u.setValue(A=A*self.eta,q=fixed_u_mask,Y=f,y=surface_stress) |
83 |
|
|
84 |
self.__pde_proj.setValue(D=1/eta) |
# self.__pde_proj.setValue(D=1/eta) |
85 |
self.__pde_proj.setValue(Y=1.) |
# self.__pde_proj.setValue(Y=1.) |
86 |
self.__inv_eta=util.interpolate(self.__pde_proj.getSolution(),ReducedFunction(self.domain)) |
# self.__inv_eta=util.interpolate(self.__pde_proj.getSolution(),ReducedFunction(self.domain)) |
87 |
|
self.__inv_eta=util.interpolate(self.eta,ReducedFunction(self.domain)) |
88 |
|
|
89 |
def B(self,arg): |
def B(self,arg): |
90 |
a=util.div(arg, ReducedFunction(self.domain)) |
a=util.div(arg, ReducedFunction(self.domain)) |