/[escript]/trunk-mpi-branch/escript/py_src/linearPDEs.py
ViewVC logotype

Diff of /trunk-mpi-branch/escript/py_src/linearPDEs.py

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

revision 1222 by ksteube, Tue May 15 03:23:17 2007 UTC revision 1223 by gross, Fri Aug 3 02:40:39 2007 UTC
# Line 1684  class LinearPDE(object): Line 1684  class LinearPDE(object):
1684                        raise ValueError,"coefficient B in lumped matrix may not be present."                        raise ValueError,"coefficient B in lumped matrix may not be present."
1685                   if not self.getCoefficientOfGeneralPDE("C").isEmpty():                   if not self.getCoefficientOfGeneralPDE("C").isEmpty():
1686                        raise ValueError,"coefficient C in lumped matrix may not be present."                        raise ValueError,"coefficient C in lumped matrix may not be present."
1687                     if not self.getCoefficientOfGeneralPDE("d_contact").isEmpty():
1688                          raise ValueError,"coefficient d_contact in lumped matrix may not be present."
1689                   if not self.getCoefficientOfGeneralPDE("A_reduced").isEmpty():                   if not self.getCoefficientOfGeneralPDE("A_reduced").isEmpty():
1690                        raise ValueError,"coefficient A_reduced in lumped matrix may not be present."                        raise ValueError,"coefficient A_reduced in lumped matrix may not be present."
1691                   if not self.getCoefficientOfGeneralPDE("B_reduced").isEmpty():                   if not self.getCoefficientOfGeneralPDE("B_reduced").isEmpty():
1692                        raise ValueError,"coefficient B_reduced in lumped matrix may not be present."                        raise ValueError,"coefficient B_reduced in lumped matrix may not be present."
1693                   if not self.getCoefficientOfGeneralPDE("C_reduced").isEmpty():                   if not self.getCoefficientOfGeneralPDE("C_reduced").isEmpty():
1694                        raise ValueError,"coefficient C_reduced in lumped matrix may not be present."                        raise ValueError,"coefficient C_reduced in lumped matrix may not be present."
1695                     if not self.getCoefficientOfGeneralPDE("d_contact_reduced").isEmpty():
1696                          raise ValueError,"coefficient d_contact_reduced in lumped matrix may not be present."
1697                   D=self.getCoefficientOfGeneralPDE("D")                   D=self.getCoefficientOfGeneralPDE("D")
1698                     d=self.getCoefficientOfGeneralPDE("d")
1699                     D_reduced=self.getCoefficientOfGeneralPDE("D_reduced")
1700                     d_reduced=self.getCoefficientOfGeneralPDE("d_reduced")
1701                   if not D.isEmpty():                   if not D.isEmpty():
1702                       if self.getNumSolutions()>1:                       if self.getNumSolutions()>1:
1703                          D_times_e=util.matrix_mult(D,numarray.ones((self.getNumSolutions(),)))                          D_times_e=util.matrix_mult(D,numarray.ones((self.getNumSolutions(),)))
# Line 1698  class LinearPDE(object): Line 1705  class LinearPDE(object):
1705                          D_times_e=D                          D_times_e=D
1706                   else:                   else:
1707                      D_times_e=escript.Data()                      D_times_e=escript.Data()
                  d=self.getCoefficientOfGeneralPDE("d")  
1708                   if not d.isEmpty():                   if not d.isEmpty():
1709                       if self.getNumSolutions()>1:                       if self.getNumSolutions()>1:
1710                          d_times_e=util.matrix_mult(d,numarray.ones((self.getNumSolutions(),)))                          d_times_e=util.matrix_mult(d,numarray.ones((self.getNumSolutions(),)))
# Line 1706  class LinearPDE(object): Line 1712  class LinearPDE(object):
1712                          d_times_e=d                          d_times_e=d
1713                   else:                   else:
1714                      d_times_e=escript.Data()                      d_times_e=escript.Data()
1715                   d_contact=self.getCoefficientOfGeneralPDE("d_contact")        
                  if not d_contact.isEmpty():  
                      if self.getNumSolutions()>1:  
                         d_contact_times_e=util.matrixmult(d_contact,numarray.ones((self.getNumSolutions(),)))  
                      else:  
                         d_contact_times_e=d_contact  
                  else:  
                     d_contact_times_e=escript.Data()  
       
                  self.__operator=self.__getNewRightHandSide()  
                  self.getDomain().addPDEToRHS(self.__operator, \  
                                               escript.Data(), \  
                                               D_times_e, \  
                                               d_times_e,\  
                                               d_contact_times_e)  
                  D_reduced=self.getCoefficientOfGeneralPDE("D_reduced")  
1716                   if not D_reduced.isEmpty():                   if not D_reduced.isEmpty():
1717                       if self.getNumSolutions()>1:                       if self.getNumSolutions()>1:
1718                          D_reduced_times_e=util.matrix_mult(D_reduced,numarray.ones((self.getNumSolutions(),)))                          D_reduced_times_e=util.matrix_mult(D_reduced,numarray.ones((self.getNumSolutions(),)))
# Line 1729  class LinearPDE(object): Line 1720  class LinearPDE(object):
1720                          D_reduced_times_e=D_reduced                          D_reduced_times_e=D_reduced
1721                   else:                   else:
1722                      D_reduced_times_e=escript.Data()                      D_reduced_times_e=escript.Data()
                  d_reduced=self.getCoefficientOfGeneralPDE("d_reduced")  
1723                   if not d_reduced.isEmpty():                   if not d_reduced.isEmpty():
1724                       if self.getNumSolutions()>1:                       if self.getNumSolutions()>1:
1725                          d_reduced_times_e=util.matrix_mult(d_reduced,numarray.ones((self.getNumSolutions(),)))                          d_reduced_times_e=util.matrix_mult(d_reduced,numarray.ones((self.getNumSolutions(),)))
# Line 1737  class LinearPDE(object): Line 1727  class LinearPDE(object):
1727                          d_reduced_times_e=d_reduced                          d_reduced_times_e=d_reduced
1728                   else:                   else:
1729                      d_reduced_times_e=escript.Data()                      d_reduced_times_e=escript.Data()
1730                   d_contact_reduced=self.getCoefficientOfGeneralPDE("d_contact_reduced")  
                  if not d_contact_reduced.isEmpty():  
                      if self.getNumSolutions()>1:  
                         d_contact_reduced_times_e=util.matrixmult(d_contact_reduced,numarray.ones((self.getNumSolutions(),)))  
                      else:  
                         d_contact_reduced_times_e=d_contact_reduced  
                  else:  
                     d_contact_reduced_times_e=escript.Data()  
       
1731                   self.__operator=self.__getNewRightHandSide()                   self.__operator=self.__getNewRightHandSide()
1732                   self.getDomain().addPDEToRHS(self.__operator, \                   if hasattr(self.getDomain(), "addPDEToLumpedSystem") :
1733                                                escript.Data(), \                      self.getDomain().addPDEToLumpedSystem(self.__operator, D_times_e, d_times_e)
1734                                                D_times_e, \                      self.getDomain().addPDEToLumpedSystem(self.__operator, D_reduced_times_e, d_reduced_times_e)
1735                                                d_times_e,\                   else:
1736                                                d_contact_times_e)                      self.getDomain().addPDEToRHS(self.__operator, \
1737                   self.getDomain().addPDEToRHS(self.__operator, \                                                   escript.Data(), \
1738                                                escript.Data(), \                                                   D_times_e, \
1739                                                D_reduced_times_e, \                                                   d_times_e,\
1740                                                d_reduced_times_e,\                                                   escript.Data())
1741                                                d_contact_reduced_times_e)                      self.getDomain().addPDEToRHS(self.__operator, \
1742                                                     escript.Data(), \
1743                                                     D_reduced_times_e, \
1744                                                     d_reduced_times_e,\
1745                                                     escript.Data())
1746                   self.__operator=1./self.__operator                   self.__operator=1./self.__operator
1747                   self.trace("New lumped operator has been built.")                   self.trace("New lumped operator has been built.")
1748                   self.__operator_is_Valid=True                   self.__operator_is_Valid=True

Legend:
Removed from v.1222  
changed lines
  Added in v.1223

  ViewVC Help
Powered by ViewVC 1.1.26