/[escript]/trunk/escript/test/python/test_pdetools.py
ViewVC logotype

Diff of /trunk/escript/test/python/test_pdetools.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2444 by jfenwick, Mon Mar 30 02:13:58 2009 UTC revision 2445 by gross, Fri May 29 03:23:25 2009 UTC
# Line 936  class Test_pdetools_noLumping(unittest.T Line 936  class Test_pdetools_noLumping(unittest.T
936                 self.Sinv=array([[ 9313.705360982807179,-5755.536981691270739,  806.289245589733696],                 self.Sinv=array([[ 9313.705360982807179,-5755.536981691270739,  806.289245589733696],
937                                   [-5755.536981691271649, 4606.321002756208145,-1630.50619635660928 ],                                   [-5755.536981691271649, 4606.321002756208145,-1630.50619635660928 ],
938                                   [  806.289245589733468,-1630.506196356609053, 2145.65035816388945 ]])                                   [  806.289245589733468,-1630.506196356609053, 2145.65035816388945 ]])
939             def inner_pBv(self,p,v):             def inner_pBv(self,p,Bv):
940                return dot(p,matrixmultiply(transpose(self.Bt),v))                return dot(p,Bv)
941               def Bv(self,v):
942                  return matrixmultiply(transpose(self.Bt),v)
943             def inner_p(self,p0,p1):             def inner_p(self,p0,p1):
944                return dot(p0,p1)                return dot(p0,p1)
945             def norm_v(self,v):             def norm_v(self,v):
# Line 945  class Test_pdetools_noLumping(unittest.T Line 947  class Test_pdetools_noLumping(unittest.T
947             def getV(self,p,v):             def getV(self,p,v):
948                 out=self.b-matrixmultiply(self.Bt,p)                 out=self.b-matrixmultiply(self.Bt,p)
949                 return solve_linear_equations(self.A,out)+v*self.getSubProblemTolerance()                 return solve_linear_equations(self.A,out)+v*self.getSubProblemTolerance()
950             def norm_Bv(self,v):             def norm_Bv(self,Bv):
951                 t=matrixmultiply(transpose(self.Bt),v)                 return sqrt(dot(Bv,Bv))
                return sqrt(dot(t,t))  
952             def solve_AinvBt(self,p):             def solve_AinvBt(self,p):
953                 out=matrixmultiply(self.Bt,p)                 out=matrixmultiply(self.Bt,p)
954                 return solve_linear_equations(self.A,out)                 return solve_linear_equations(self.A,out)
955             def solve_precB(self,v):             def solve_prec(self,Bv):
956                 out=matrixmultiply(transpose(self.Bt),v)                 out=Bv*1.
957                 for i in xrange(size(out)): out[i]*=self.Sinv[i,i]                 for i in xrange(size(out)): out[i]*=self.Sinv[i,i]
958                 return out                 return out
959    
# Line 1045  class Test_pdetools_noLumping(unittest.T Line 1046  class Test_pdetools_noLumping(unittest.T
1046                 self.Sinv=array([[ 9313.705360982807179,-5755.536981691270739,  806.289245589733696],                 self.Sinv=array([[ 9313.705360982807179,-5755.536981691270739,  806.289245589733696],
1047                                   [-5755.536981691271649, 4606.321002756208145,-1630.50619635660928 ],                                   [-5755.536981691271649, 4606.321002756208145,-1630.50619635660928 ],
1048                                   [  806.289245589733468,-1630.506196356609053, 2145.65035816388945 ]])                                   [  806.289245589733468,-1630.506196356609053, 2145.65035816388945 ]])
1049             def inner_pBv(self,p,v):             def inner_pBv(self,p,Bv):
1050                return dot(p,matrixmultiply(transpose(self.Bt),v))                return dot(p,Bv)
1051               def Bv(self,v):
1052                  return matrixmultiply(transpose(self.Bt),v)
1053             def inner_p(self,p0,p1):             def inner_p(self,p0,p1):
1054                return dot(p0,p1)                return dot(p0,p1)
1055             def norm_v(self,v):             def norm_v(self,v):
# Line 1054  class Test_pdetools_noLumping(unittest.T Line 1057  class Test_pdetools_noLumping(unittest.T
1057             def getV(self,p,v):             def getV(self,p,v):
1058                 out=self.b-matrixmultiply(self.Bt,p)                 out=self.b-matrixmultiply(self.Bt,p)
1059                 return solve_linear_equations(self.A,out)+v*self.getSubProblemTolerance()                 return solve_linear_equations(self.A,out)+v*self.getSubProblemTolerance()
1060             def norm_Bv(self,v):             def norm_Bv(self,Bv):
1061                 t=matrixmultiply(transpose(self.Bt),v)                 return sqrt(dot(Bv,Bv))
                return sqrt(dot(t,t))  
1062             def solve_AinvBt(self,p):             def solve_AinvBt(self,p):
1063                 out=matrixmultiply(self.Bt,p)                 out=matrixmultiply(self.Bt,p)
1064                 return solve_linear_equations(self.A,out)                 return solve_linear_equations(self.A,out)
1065             def solve_precB(self,v):             def solve_prec(self,Bv):
1066                 out=matrixmultiply(transpose(self.Bt),v)                 out=Bv*1.
1067                 for i in xrange(size(out)): out[i]*=self.Sinv[i,i]                 for i in xrange(size(out)): out[i]*=self.Sinv[i,i]
1068                 return out                 return out
1069                                

Legend:
Removed from v.2444  
changed lines
  Added in v.2445

  ViewVC Help
Powered by ViewVC 1.1.26