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

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

  ViewVC Help
Powered by ViewVC 1.1.26