# Diff of /temp/escript/src/AbstractTransportProblem.h

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 474 by jgs, Mon Jan 30 04:23:44 2006 UTC
# Line 16  Line 16
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"  #include "Data.h"
22
23  #include <boost/python/dict.hpp>  #include <boost/python/dict.hpp>
24
25  namespace escript {  namespace escript {
# Line 67  class AbstractSystemMatrix { Line 68  class AbstractSystemMatrix {
68      \brief      \brief
69      matrix*vector multiplication      matrix*vector multiplication
70    */    */
71    Data vectorMultiply(const Data& right) const;    Data vectorMultiply(Data& right) const;
72
73    /**    /**
74      \brief      \brief
# Line 123  class AbstractSystemMatrix { Line 124  class AbstractSystemMatrix {
124       \brief       \brief
125       returns the solution u of the linear system this*u=in       returns the solution u of the linear system this*u=in
126    */    */
127    Data solve(const Data& in,const boost::python::dict& options) const;    Data solve(Data& in,const boost::python::dict& options) const;
128
129    /**    /**
130       \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 137  class AbstractSystemMatrix {
137    virtual void saveHB(const std::string& fileName) const;    virtual void saveHB(const std::string& fileName) const;
138
139    /**    /**
140       \brief sets the matrix entries to value       \brief resets the matrix entries
141    */    */
142    virtual void setValue(const double value) const;    virtual void resetValues() const;

/**
\brief cleans any setting, allocations by the solver.
*/
virtual void resetSolver() const;

143
144   protected:   protected:
145
# Line 154  class AbstractSystemMatrix { Line 149  class AbstractSystemMatrix {
149       \brief       \brief
150       solves the linear system this*out=in       solves the linear system this*out=in
151    */    */
152    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;
153
154    /**    /**
155       \brief       \brief
156       performs y+=this*x       performs y+=this*x
157    */    */
158    virtual void ypAx(Data& y,const Data& x) const;    virtual void ypAx(Data& y,Data& x) const;
159
160    int m_empty;    int m_empty;
161    int m_column_blocksize;    int m_column_blocksize;
# Line 170  class AbstractSystemMatrix { Line 165  class AbstractSystemMatrix {
165
166  };  };
167
168  Data operator*(const AbstractSystemMatrix& left, const Data& right) ;  Data operator*(const AbstractSystemMatrix& left,const Data& right) ;
169
170
171

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