/[escript]/branches/arrexp_2137_win_merge/escript/src/AbstractTransportProblem.h
ViewVC logotype

Diff of /branches/arrexp_2137_win_merge/escript/src/AbstractTransportProblem.h

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

trunk/esys2/escript/src/Data/AbstractSystemMatrix.h revision 123 by jgs, Fri Jul 8 04:08:13 2005 UTC trunk/escript/src/AbstractSystemMatrix.h revision 480 by jgs, Wed Feb 1 05:15:12 2006 UTC
# Line 12  Line 12 
12   *                                                                            *   *                                                                            *
13   ******************************************************************************   ******************************************************************************
14  */  */
15                                                                              
16  #if !defined  escript_AbstractSystemMatrix_20040628_H  #if !defined  escript_AbstractSystemMatrix_20040628_H
17  #define escript_AbstractSystemMatrix_20040628_H  #define escript_AbstractSystemMatrix_20040628_H
18    
19  #include "escript/Data/FunctionSpace.h"  #include "FunctionSpace.h"
20  #include "escript/Data/SystemMatrixException.h"  #include "SystemMatrixException.h"
21  #include "escript/Data/Data.h"  
22  #include <boost/python/dict.hpp>  #include <boost/python/dict.hpp>
23    
24    //
25    // Forward declaration
26    class Data;
27    
28  namespace escript {  namespace escript {
29    
30  /**  /**
# Line 67  class AbstractSystemMatrix { Line 71  class AbstractSystemMatrix {
71      \brief      \brief
72      matrix*vector multiplication      matrix*vector multiplication
73    */    */
74    Data vectorMultiply(const Data& right) const;    Data vectorMultiply(Data& right) const;
75    
76    /**    /**
77      \brief      \brief
# Line 123  class AbstractSystemMatrix { Line 127  class AbstractSystemMatrix {
127       \brief       \brief
128       returns the solution u of the linear system this*u=in       returns the solution u of the linear system this*u=in
129    */    */
130    Data solve(const Data& in,const boost::python::dict& options) const;    Data solve(Data& in,const boost::python::dict& options) const;
131    
132    /**    /**
133       \brief writes the matrix to a file using the Matrix Market file format       \brief writes the matrix to a file using the Matrix Market file format
# Line 136  class AbstractSystemMatrix { Line 140  class AbstractSystemMatrix {
140    virtual void saveHB(const std::string& fileName) const;    virtual void saveHB(const std::string& fileName) const;
141    
142    /**    /**
143       \brief sets the matrix entries to value       \brief resets the matrix entries
144    */    */
145    virtual void setValue(const double value) const;    virtual void resetValues() const;
   
   /**  
      \brief cleans any setting, allocations by the solver.  
   */  
   virtual void resetSolver() const;  
   
146    
147   protected:   protected:
148    
# Line 154  class AbstractSystemMatrix { Line 152  class AbstractSystemMatrix {
152       \brief       \brief
153       solves the linear system this*out=in       solves the linear system this*out=in
154    */    */
155    virtual void setToSolution(Data& out,const Data& in,const boost::python::dict& options) const;    virtual void setToSolution(Data& out,Data& in,const boost::python::dict& options) const;
156    
157    /**    /**
158       \brief       \brief
159       performs y+=this*x       performs y+=this*x
160    */    */
161    virtual void ypAx(Data& y,const Data& x) const;    virtual void ypAx(Data& y,Data& x) const;
162    
163    int m_empty;    int m_empty;
164    int m_column_blocksize;    int m_column_blocksize;
# Line 170  class AbstractSystemMatrix { Line 168  class AbstractSystemMatrix {
168    
169  };  };
170    
171  Data operator*(const AbstractSystemMatrix& left, const Data& right) ;  Data operator*(const AbstractSystemMatrix& left,const Data& right) ;
172    
173    
174    

Legend:
Removed from v.123  
changed lines
  Added in v.480

  ViewVC Help
Powered by ViewVC 1.1.26