/[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 1062 by gross, Mon Mar 26 06:17:53 2007 UTC
# Line 1  Line 1 
1    //$Id$
2  /*  /*
3   ******************************************************************************   ************************************************************
4   *                                                                            *   *          Copyright 2006 by ACcESS MNRF                   *
5   *       COPYRIGHT  ACcESS 2004 -  All Rights Reserved                        *   *                                                          *
6   *                                                                            *   *              http://www.access.edu.au                    *
7   * This software is the property of ACcESS. No part of this code              *   *       Primary Business: Queensland, Australia            *
8   * may be copied in any form or by any means without the expressed written    *   *  Licensed under the Open Software License version 3.0    *
9   * consent of ACcESS.  Copying, use or modification of this software          *   *     http://www.opensource.org/licenses/osl-3.0.php       *
10   * by any unauthorised person is illegal unless that person has a software    *   *                                                          *
11   * license agreement with ACcESS.                                             *   ************************************************************
12   *                                                                            *  
  ******************************************************************************  
13  */  */
14                                                                              
15  #if !defined  escript_AbstractContinuousDomain_20040528_H  #if !defined escript_AbstractContinuousDomain_20040528_H
16  #define escript_AbstractContinuousDomain_20040528_H  #define escript_AbstractContinuousDomain_20040528_H
17    
18  #include "escript/Data/AbstractDomain.h"  #include "system_dep.h"
19  #include "escript/Data/AbstractSystemMatrix.h"  #include "AbstractDomain.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 54  class AbstractContinuousDomain:public Ab Line 54  class AbstractContinuousDomain:public Ab
54       Throws:       Throws:
55       Describe any exceptions thrown       Describe any exceptions thrown
56    */    */
57      ESCRIPT_DLL_API
58    AbstractContinuousDomain();    AbstractContinuousDomain();
59   /**  
60      /**
61       \brief       \brief
62       Destructor for AbstractContinuousDomain       Destructor for AbstractContinuousDomain
63    
# Line 68  class AbstractContinuousDomain:public Ab Line 70  class AbstractContinuousDomain:public Ab
70       Throws:       Throws:
71       Describe any exceptions thrown       Describe any exceptions thrown
72    */    */
73      ESCRIPT_DLL_API
74    virtual ~AbstractContinuousDomain();    virtual ~AbstractContinuousDomain();
75    
76    /**    /**
# Line 75  class AbstractContinuousDomain:public Ab Line 78  class AbstractContinuousDomain:public Ab
78       Returns true if the given integer is a valid function space type       Returns true if the given integer is a valid function space type
79       for this domain.       for this domain.
80    */    */
81      ESCRIPT_DLL_API
82    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
83    
84    /**    /**
85       \brief       \brief
86       Return a description for this domain       Return a description for this domain
87    */    */
88      ESCRIPT_DLL_API
89    virtual std::string getDescription() const;    virtual std::string getDescription() const;
90    
91    /**    /**
92       \brief       \brief
93       Return a continuous FunctionSpace code       Return a continuous FunctionSpace code
94    */    */
95      ESCRIPT_DLL_API
96    virtual int getContinuousFunctionCode() const;    virtual int getContinuousFunctionCode() const;
97    
98    /**    /**
99       \brief       \brief
100       Return a functon FunctionSpace code       Return a continuous on reduced order FunctionSpace code
101    */    */
102      ESCRIPT_DLL_API
103      virtual int getReducedContinuousFunctionCode() const;
104    
105      /**
106         \brief
107         Return a function FunctionSpace code
108      */
109      ESCRIPT_DLL_API
110    virtual int getFunctionCode() const;    virtual int getFunctionCode() const;
111    
112      /**
113         \brief
114         Return a function FunctionSpace code with reduced integration order
115      */
116      ESCRIPT_DLL_API
117      virtual int getReducedFunctionCode() const;
118    
119    /**    /**
120       \brief       \brief
121       Return a function on boundary FunctionSpace code       Return a function on boundary FunctionSpace code
122    */    */
123      ESCRIPT_DLL_API
124    virtual int getFunctionOnBoundaryCode() const;    virtual int getFunctionOnBoundaryCode() const;
125    
126      /**
127         \brief
128         Return a code for a function on boundary FunctionSpace with reduced integration order
129      */
130      ESCRIPT_DLL_API
131      virtual int getReducedFunctionOnBoundaryCode() const;
132    
133    
134    /**    /**
135       \brief       \brief
136       Return a FunctionOnContactZero code       Return a FunctionOnContactZero code
137    */    */
138      ESCRIPT_DLL_API
139    virtual int getFunctionOnContactZeroCode() const;    virtual int getFunctionOnContactZeroCode() const;
140    
141      /**
142         \brief
143         Return a FunctionOnContactZero for reduced integration order code
144      */
145      ESCRIPT_DLL_API
146      virtual int getReducedFunctionOnContactZeroCode() const;
147    
148    /**    /**
149       \brief       \brief
150       Return a FunctionOnContactOne code       Return a FunctionOnContactOne code
151    */    */
152      ESCRIPT_DLL_API
153    virtual int getFunctionOnContactOneCode() const;    virtual int getFunctionOnContactOneCode() const;
154    
155      /**
156         \brief
157         Return a FunctionOnContactOne for reduced integration order code
158      */
159      ESCRIPT_DLL_API
160      virtual int getReducedFunctionOnContactOneCode() const;
161    
162    /**    /**
163       \brief       \brief
164       Return a Solution code       Return a Solution code
165    */    */
166      ESCRIPT_DLL_API
167    virtual int getSolutionCode() const;    virtual int getSolutionCode() const;
168    
169    /**    /**
170       \brief       \brief
171       Return a ReducedSolution code       Return a ReducedSolution code
172    */    */
173      ESCRIPT_DLL_API
174    virtual int getReducedSolutionCode() const;    virtual int getReducedSolutionCode() const;
175    
176    /**    /**
177       \brief       \brief
178       Return a DiracDeltaFunction code       Return a DiracDeltaFunction code
179    */    */
180      ESCRIPT_DLL_API
181    virtual int getDiracDeltaFunctionCode() const;    virtual int getDiracDeltaFunctionCode() const;
182    
183     /**    /**
184         \brief
185         return the identifier of the matrix type to be used for the global
186         stiffness matrix when a particular solver package
187         and symmetric matrix is used.
188      */
189      ESCRIPT_DLL_API
190      virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
191    
192      /**
193       \brief       \brief
194       copies the integrals of the function defined by arg into integrals.       copies the integrals of the function defined by arg into integrals.
195       arg has to be defined on this.       arg has to be defined on this.
196       has to be implemented by the Domain Adapter.       has to be implemented by the Domain Adapter.
197    */    */
198      ESCRIPT_DLL_API
199    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
200    
201    /**    /**
202       \brief       \brief
203       Return the domain as const AbstractContinuousDomain&       Return the domain as const AbstractContinuousDomain&
204    */    */
205      ESCRIPT_DLL_API
206    static const  AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);    static const  AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
207    
208   protected:   protected:
209    
210   private:   private:
211    
212  };  };
213    
214  } // end of namespace  } // end of namespace
215    
216  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.26