/[escript]/trunk/escript/src/AbstractContinuousDomain.h
ViewVC logotype

Diff of /trunk/escript/src/AbstractContinuousDomain.h

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

trunk/esys2/escript/src/Data/AbstractContinuousDomain.h revision 82 by jgs, Tue Oct 26 06:53:54 2004 UTC trunk/escript/src/AbstractContinuousDomain.h revision 474 by jgs, Mon Jan 30 04:23:44 2006 UTC
# Line 1  Line 1 
1    //$Id$
2  /*  /*
3   ******************************************************************************   ******************************************************************************
4   *                                                                            *   *                                                                            *
# Line 11  Line 12 
12   *                                                                            *   *                                                                            *
13   ******************************************************************************   ******************************************************************************
14  */  */
15                                                                              
16  #if !defined  escript_AbstractContinuousDomain_20040528_H  #if !defined escript_AbstractContinuousDomain_20040528_H
17  #define escript_AbstractContinuousDomain_20040528_H  #define escript_AbstractContinuousDomain_20040528_H
18    
19  #include "escript/Data/AbstractDomain.h"  #include "AbstractDomain.h"
20  #include "escript/Data/AbstractSystemMatrix.h"  #include "AbstractSystemMatrix.h"
21  #include "escript/Data/Data.h"  #include "Data.h"
22    
23  #include <boost/python/tuple.hpp>  #include <boost/python/tuple.hpp>
24  #include <boost/python/object.hpp>  #include <boost/python/object.hpp>
25    
# Line 25  Line 27 
27  #include <vector>  #include <vector>
28    
29  namespace escript {  namespace escript {
30    
31  //  //
32  // Forward declaration  // Forward declaration
33  class FunctionSpace;  class FunctionSpace;
34    
35  /**  /**
36     \brief     \brief
37     AbstractContinuousDomain, base class for continuous domains.     AbstractContinuousDomain, base class for continuous domains.
38    
39     Description:     Description:
40     AbstractContinuousDomain, base class for continuous domains.     AbstractContinuousDomain, base class for continuous domains.
41    
42     NOTE: Most of the virtual functions would be pure virtual except     NOTE: Most of the virtual functions would be pure virtual except
43     boost.python requires a non abstract base class.     boost.python requires a non abstract base class.
44  */  */
45  class AbstractContinuousDomain:public AbstractDomain {  class AbstractContinuousDomain : public AbstractDomain {
46    
47   public:   public:
48    
# Line 55  class AbstractContinuousDomain:public Ab Line 60  class AbstractContinuousDomain:public Ab
60       Describe any exceptions thrown       Describe any exceptions thrown
61    */    */
62    AbstractContinuousDomain();    AbstractContinuousDomain();
63   /**  
64      /**
65       \brief       \brief
66       Destructor for AbstractContinuousDomain       Destructor for AbstractContinuousDomain
67    
# Line 76  class AbstractContinuousDomain:public Ab Line 82  class AbstractContinuousDomain:public Ab
82       for this domain.       for this domain.
83    */    */
84    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
85    
86    /**    /**
87       \brief       \brief
88       Return a description for this domain       Return a description for this domain
89    */    */
90    virtual std::string getDescription() const;    virtual std::string getDescription() const;
91    
92    /**    /**
93       \brief       \brief
94       Return a continuous FunctionSpace code       Return a continuous FunctionSpace code
95    */    */
96    virtual int getContinuousFunctionCode() const;    virtual int getContinuousFunctionCode() const;
97    
98    /**    /**
99       \brief       \brief
100       Return a functon FunctionSpace code       Return a functon FunctionSpace code
101    */    */
102    virtual int getFunctionCode() const;    virtual int getFunctionCode() const;
103    
104    /**    /**
105       \brief       \brief
106       Return a function on boundary FunctionSpace code       Return a function on boundary FunctionSpace code
107    */    */
108    virtual int getFunctionOnBoundaryCode() const;    virtual int getFunctionOnBoundaryCode() const;
109    
110    /**    /**
111       \brief       \brief
112       Return a FunctionOnContactZero code       Return a FunctionOnContactZero code
113    */    */
114    virtual int getFunctionOnContactZeroCode() const;    virtual int getFunctionOnContactZeroCode() const;
115    
116    /**    /**
117       \brief       \brief
118       Return a FunctionOnContactOne code       Return a FunctionOnContactOne code
119    */    */
120    virtual int getFunctionOnContactOneCode() const;    virtual int getFunctionOnContactOneCode() const;
121    
122    /**    /**
123       \brief       \brief
124       Return a Solution code       Return a Solution code
125    */    */
126    virtual int getSolutionCode() const;    virtual int getSolutionCode() const;
127    
128    /**    /**
129       \brief       \brief
130       Return a ReducedSolution code       Return a ReducedSolution code
131    */    */
132    virtual int getReducedSolutionCode() const;    virtual int getReducedSolutionCode() const;
133    
134    /**    /**
135       \brief       \brief
136       Return a DiracDeltaFunction code       Return a DiracDeltaFunction code
137    */    */
138    virtual int getDiracDeltaFunctionCode() const;    virtual int getDiracDeltaFunctionCode() const;
139    
140     /**    /**
141         \brief
142         return the identifier of the matrix type to be used for the global
143         stiffness matrix when a particular solver package
144         and symmetric matrix is used.
145      */
146      virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
147    
148      /**
149       \brief       \brief
150       copies the integrals of the function defined by arg into integrals.       copies the integrals of the function defined by arg into integrals.
151       arg has to be defined on this.       arg has to be defined on this.
152       has to be implemented by the Domain Adapter.       has to be implemented by the Domain Adapter.
153    */    */
154    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
155    
156    /**    /**
157       \brief       \brief
158       Return the domain as const AbstractContinuousDomain&       Return the domain as const AbstractContinuousDomain&
# Line 138  class AbstractContinuousDomain:public Ab Line 162  class AbstractContinuousDomain:public Ab
162   protected:   protected:
163    
164   private:   private:
165    
166  };  };
167    
168  } // end of namespace  } // end of namespace
169    
170  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.26