/[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 480 by jgs, Wed Feb 1 05:15:12 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"
 #include "escript/Data/AbstractSystemMatrix.h"  
 #include "escript/Data/Data.h"  
 #include <boost/python/tuple.hpp>  
 #include <boost/python/object.hpp>  
20    
21  #include <string>  #include <string>
22  #include <vector>  #include <vector>
23    
24  namespace escript {  namespace escript {
25    
26  //  //
27  // Forward declaration  // Forward declaration
28  class FunctionSpace;  class Data;
29    
30  /**  /**
31     \brief     \brief
32     AbstractContinuousDomain, base class for continuous domains.     AbstractContinuousDomain, base class for continuous domains.
33    
34     Description:     Description:
35     AbstractContinuousDomain, base class for continuous domains.     AbstractContinuousDomain, base class for continuous domains.
36    
37     NOTE: Most of the virtual functions would be pure virtual except     NOTE: Most of the virtual functions would be pure virtual except
38     boost.python requires a non abstract base class.     boost.python requires a non abstract base class.
39  */  */
40  class AbstractContinuousDomain:public AbstractDomain {  class AbstractContinuousDomain : public AbstractDomain {
41    
42   public:   public:
43    
# Line 55  class AbstractContinuousDomain:public Ab Line 55  class AbstractContinuousDomain:public Ab
55       Describe any exceptions thrown       Describe any exceptions thrown
56    */    */
57    AbstractContinuousDomain();    AbstractContinuousDomain();
58   /**  
59      /**
60       \brief       \brief
61       Destructor for AbstractContinuousDomain       Destructor for AbstractContinuousDomain
62    
# Line 76  class AbstractContinuousDomain:public Ab Line 77  class AbstractContinuousDomain:public Ab
77       for this domain.       for this domain.
78    */    */
79    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
80    
81    /**    /**
82       \brief       \brief
83       Return a description for this domain       Return a description for this domain
84    */    */
85    virtual std::string getDescription() const;    virtual std::string getDescription() const;
86    
87    /**    /**
88       \brief       \brief
89       Return a continuous FunctionSpace code       Return a continuous FunctionSpace code
90    */    */
91    virtual int getContinuousFunctionCode() const;    virtual int getContinuousFunctionCode() const;
92    
93    /**    /**
94       \brief       \brief
95       Return a functon FunctionSpace code       Return a functon FunctionSpace code
96    */    */
97    virtual int getFunctionCode() const;    virtual int getFunctionCode() const;
98    
99    /**    /**
100       \brief       \brief
101       Return a function on boundary FunctionSpace code       Return a function on boundary FunctionSpace code
102    */    */
103    virtual int getFunctionOnBoundaryCode() const;    virtual int getFunctionOnBoundaryCode() const;
104    
105    /**    /**
106       \brief       \brief
107       Return a FunctionOnContactZero code       Return a FunctionOnContactZero code
108    */    */
109    virtual int getFunctionOnContactZeroCode() const;    virtual int getFunctionOnContactZeroCode() const;
110    
111    /**    /**
112       \brief       \brief
113       Return a FunctionOnContactOne code       Return a FunctionOnContactOne code
114    */    */
115    virtual int getFunctionOnContactOneCode() const;    virtual int getFunctionOnContactOneCode() const;
116    
117    /**    /**
118       \brief       \brief
119       Return a Solution code       Return a Solution code
120    */    */
121    virtual int getSolutionCode() const;    virtual int getSolutionCode() const;
122    
123    /**    /**
124       \brief       \brief
125       Return a ReducedSolution code       Return a ReducedSolution code
126    */    */
127    virtual int getReducedSolutionCode() const;    virtual int getReducedSolutionCode() const;
128    
129    /**    /**
130       \brief       \brief
131       Return a DiracDeltaFunction code       Return a DiracDeltaFunction code
132    */    */
133    virtual int getDiracDeltaFunctionCode() const;    virtual int getDiracDeltaFunctionCode() const;
134    
135     /**    /**
136         \brief
137         return the identifier of the matrix type to be used for the global
138         stiffness matrix when a particular solver package
139         and symmetric matrix is used.
140      */
141      virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
142    
143      /**
144       \brief       \brief
145       copies the integrals of the function defined by arg into integrals.       copies the integrals of the function defined by arg into integrals.
146       arg has to be defined on this.       arg has to be defined on this.
147       has to be implemented by the Domain Adapter.       has to be implemented by the Domain Adapter.
148    */    */
149    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
150    
151    /**    /**
152       \brief       \brief
153       Return the domain as const AbstractContinuousDomain&       Return the domain as const AbstractContinuousDomain&
# Line 138  class AbstractContinuousDomain:public Ab Line 157  class AbstractContinuousDomain:public Ab
157   protected:   protected:
158    
159   private:   private:
160    
161  };  };
162    
163  } // end of namespace  } // end of namespace
164    
165  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.26