/[escript]/branches/refine/buckley/src/RDomain.h
ViewVC logotype

Diff of /branches/refine/buckley/src/RDomain.h

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

branches/refine/refine/src/RDomain.h revision 3658 by jfenwick, Fri Nov 11 06:55:48 2011 UTC branches/refine/buckley/src/RDomain.h revision 3668 by jfenwick, Wed Nov 16 01:49:46 2011 UTC
# Line 22  Line 22 
22  #include "system_dep.h"  #include "system_dep.h"
23  #include "RDomainException.h"  #include "RDomainException.h"
24    
25  namespace refine {  namespace buckley {
26    
27        
28  typedef int ASM_ptr;  typedef int ASM_ptr;
# Line 34  class RDomain : public escript::Abstract Line 34  class RDomain : public escript::Abstract
34    
35   public:   public:
36    
37    REFINE_DLL_API    BUCKLEY_DLL_API
38    RDomain(double xside=1, double yside=1, double zside=1);    RDomain(double xside=1, double yside=1, double zside=1);
39    
40    REFINE_DLL_API    BUCKLEY_DLL_API
41    virtual ~RDomain();    virtual ~RDomain();
42    
43    /**    /**
# Line 45  class RDomain : public escript::Abstract Line 45  class RDomain : public escript::Abstract
45       Returns true if the given integer is a valid function space type       Returns true if the given integer is a valid function space type
46       for this domain.       for this domain.
47    */    */
48    REFINE_DLL_API    BUCKLEY_DLL_API
49    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
50    
51    /**    /**
52       \brief       \brief
53       Return a description for this domain       Return a description for this domain
54    */    */
55    REFINE_DLL_API    BUCKLEY_DLL_API
56    virtual std::string getDescription() const;    virtual std::string getDescription() const;
57    
58    /**    /**
59       \brief       \brief
60       Return a continuous FunctionSpace code       Return a continuous FunctionSpace code
61    */    */
62    REFINE_DLL_API    BUCKLEY_DLL_API
63    virtual int getContinuousFunctionCode() const;    virtual int getContinuousFunctionCode() const;
64    
65    /**    /**
66       \brief       \brief
67       Return a continuous on reduced order FunctionSpace code       Return a continuous on reduced order FunctionSpace code
68    */    */
69    REFINE_DLL_API    BUCKLEY_DLL_API
70    virtual int getReducedContinuousFunctionCode() const;    virtual int getReducedContinuousFunctionCode() const;
71    
72    /**    /**
73       \brief       \brief
74       Return a function FunctionSpace code       Return a function FunctionSpace code
75    */    */
76    REFINE_DLL_API    BUCKLEY_DLL_API
77    virtual int getFunctionCode() const;    virtual int getFunctionCode() const;
78    
79    /**    /**
80       \brief       \brief
81       Return a function FunctionSpace code with reduced integration order       Return a function FunctionSpace code with reduced integration order
82    */    */
83    REFINE_DLL_API    BUCKLEY_DLL_API
84    virtual int getReducedFunctionCode() const;    virtual int getReducedFunctionCode() const;
85    
86    /**    /**
87       \brief       \brief
88       Return a function on boundary FunctionSpace code       Return a function on boundary FunctionSpace code
89    */    */
90    REFINE_DLL_API    BUCKLEY_DLL_API
91    virtual int getFunctionOnBoundaryCode() const;    virtual int getFunctionOnBoundaryCode() const;
92    
93    /**    /**
94       \brief       \brief
95       Return a code for a function on boundary FunctionSpace with reduced integration order       Return a code for a function on boundary FunctionSpace with reduced integration order
96    */    */
97    REFINE_DLL_API    BUCKLEY_DLL_API
98    virtual int getReducedFunctionOnBoundaryCode() const;    virtual int getReducedFunctionOnBoundaryCode() const;
99    
100    
# Line 102  class RDomain : public escript::Abstract Line 102  class RDomain : public escript::Abstract
102       \brief       \brief
103       Return a FunctionOnContactZero code       Return a FunctionOnContactZero code
104    */    */
105    REFINE_DLL_API    BUCKLEY_DLL_API
106    virtual int getFunctionOnContactZeroCode() const;    virtual int getFunctionOnContactZeroCode() const;
107    
108    /**    /**
109       \brief       \brief
110       Return a FunctionOnContactZero for reduced integration order code       Return a FunctionOnContactZero for reduced integration order code
111    */    */
112    REFINE_DLL_API    BUCKLEY_DLL_API
113    virtual int getReducedFunctionOnContactZeroCode() const;    virtual int getReducedFunctionOnContactZeroCode() const;
114    
115    /**    /**
116       \brief       \brief
117       Return a FunctionOnContactOne code       Return a FunctionOnContactOne code
118    */    */
119    REFINE_DLL_API    BUCKLEY_DLL_API
120    virtual int getFunctionOnContactOneCode() const;    virtual int getFunctionOnContactOneCode() const;
121    
122    /**    /**
123       \brief       \brief
124       Return a FunctionOnContactOne for reduced integration order code       Return a FunctionOnContactOne for reduced integration order code
125    */    */
126    REFINE_DLL_API    BUCKLEY_DLL_API
127    virtual int getReducedFunctionOnContactOneCode() const;    virtual int getReducedFunctionOnContactOneCode() const;
128    
129    /**    /**
130       \brief       \brief
131       Return a Solution code       Return a Solution code
132    */    */
133    REFINE_DLL_API    BUCKLEY_DLL_API
134    virtual int getSolutionCode() const;    virtual int getSolutionCode() const;
135    
136    /**    /**
137       \brief       \brief
138       Return a ReducedSolution code       Return a ReducedSolution code
139    */    */
140    REFINE_DLL_API    BUCKLEY_DLL_API
141    virtual int getReducedSolutionCode() const;    virtual int getReducedSolutionCode() const;
142    
143    /**    /**
144       \brief       \brief
145       Return a DiracDeltaFunctions code       Return a DiracDeltaFunctions code
146    */    */
147    REFINE_DLL_API    BUCKLEY_DLL_API
148    virtual int getDiracDeltaFunctionsCode() const;    virtual int getDiracDeltaFunctionsCode() const;
149    
150    /**    /**
# Line 153  class RDomain : public escript::Abstract Line 153  class RDomain : public escript::Abstract
153       stiffness matrix when a particular solver package       stiffness matrix when a particular solver package
154       and symmetric matrix is used.       and symmetric matrix is used.
155    */    */
156    REFINE_DLL_API    BUCKLEY_DLL_API
157    virtual int getSystemMatrixTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;    virtual int getSystemMatrixTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;
158    
159    /**    /**
# Line 162  class RDomain : public escript::Abstract Line 162  class RDomain : public escript::Abstract
162       stiffness matrix when a particular solver package       stiffness matrix when a particular solver package
163       and symmetric matrix is used.       and symmetric matrix is used.
164    */    */
165    REFINE_DLL_API    BUCKLEY_DLL_API
166    virtual int getTransportTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;    virtual int getTransportTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;
167    
168    /**    /**
# Line 171  class RDomain : public escript::Abstract Line 171  class RDomain : public escript::Abstract
171       arg has to be defined on this.       arg has to be defined on this.
172       has to be implemented by the Domain Adapter.       has to be implemented by the Domain Adapter.
173    */    */
174    REFINE_DLL_API    BUCKLEY_DLL_API
175    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
176    
177  //  /**  //  /**
178  //     \brief  //     \brief
179  //     Return the domain as const AbstractContinuousDomain&  //     Return the domain as const AbstractContinuousDomain&
180  //  */  //  */
181  //   REFINE_DLL_API  //   BUCKLEY_DLL_API
182  //   static const  AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);  //   static const  AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
183    
184    
# Line 188  class RDomain : public escript::Abstract Line 188  class RDomain : public escript::Abstract
188       \brief       \brief
189       adds a PDE onto the stiffness matrix mat and a rhs       adds a PDE onto the stiffness matrix mat and a rhs
190    */    */
191    REFINE_DLL_API    BUCKLEY_DLL_API
192    virtual void addPDEToSystem(    virtual void addPDEToSystem(
193                       escript::AbstractSystemMatrix& mat, escript::Data& rhs,                       escript::AbstractSystemMatrix& mat, escript::Data& rhs,
194                       const escript::Data& A, const escript::Data& B, const escript::Data& C,                       const escript::Data& A, const escript::Data& B, const escript::Data& C,
# Line 204  class RDomain : public escript::Abstract Line 204  class RDomain : public escript::Abstract
204  //     \brief  //     \brief
205  //     adds a PDE onto the lumped stiffness matrix matrix  //     adds a PDE onto the lumped stiffness matrix matrix
206  //  */  //  */
207  //  REFINE_DLL_API  //  BUCKLEY_DLL_API
208  //  virtual void addPDEToLumpedSystem(  //  virtual void addPDEToLumpedSystem(
209  //                     escript::Data& mat,  //                     escript::Data& mat,
210  //                     const escript::Data& D,  //                     const escript::Data& D,
# Line 214  class RDomain : public escript::Abstract Line 214  class RDomain : public escript::Abstract
214       \brief       \brief
215       adds a PDE onto the stiffness matrix mat and a rhs       adds a PDE onto the stiffness matrix mat and a rhs
216    */    */
217    REFINE_DLL_API    BUCKLEY_DLL_API
218    virtual void addPDEToRHS(escript::Data& rhs,    virtual void addPDEToRHS(escript::Data& rhs,
219                       const escript::Data& X, const escript::Data& Y,                       const escript::Data& X, const escript::Data& Y,
220                       const escript::Data& y, const escript::Data& y_contact, const escript::Data& y_dirac) const;                       const escript::Data& y, const escript::Data& y_contact, const escript::Data& y_dirac) const;
# Line 223  class RDomain : public escript::Abstract Line 223  class RDomain : public escript::Abstract
223       adds a PDE onto a transport problem       adds a PDE onto a transport problem
224    */    */
225    
226    REFINE_DLL_API    BUCKLEY_DLL_API
227    virtual void addPDEToTransportProblem(    virtual void addPDEToTransportProblem(
228                       escript::AbstractTransportProblem& tp, escript::Data& source,                       escript::AbstractTransportProblem& tp, escript::Data& source,
229                       const escript::Data& M,                       const escript::Data& M,
# Line 237  class RDomain : public escript::Abstract Line 237  class RDomain : public escript::Abstract
237       \brief       \brief
238      creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:      creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
239    */    */
240    REFINE_DLL_API    BUCKLEY_DLL_API
241    virtual ASM_ptr newSystemMatrix(    virtual ASM_ptr newSystemMatrix(
242                        const int row_blocksize,                        const int row_blocksize,
243                        const escript::FunctionSpace& row_functionspace,                        const escript::FunctionSpace& row_functionspace,
# Line 250  class RDomain : public escript::Abstract Line 250  class RDomain : public escript::Abstract
250    
251    */    */
252    
253    REFINE_DLL_API    BUCKLEY_DLL_API
254    virtual ATP_ptr newTransportProblem(    virtual ATP_ptr newTransportProblem(
255                        const bool useBackwardEuler,                        const bool useBackwardEuler,
256                        const int blocksize,                        const int blocksize,
# Line 261  class RDomain : public escript::Abstract Line 261  class RDomain : public escript::Abstract
261       \brief       \brief
262       Return the number of data points summed across all MPI processes       Return the number of data points summed across all MPI processes
263    */    */
264    REFINE_DLL_API    BUCKLEY_DLL_API
265    virtual int getNumDataPointsGlobal() const;    virtual int getNumDataPointsGlobal() const;
266    
267    /**    /**
# Line 269  class RDomain : public escript::Abstract Line 269  class RDomain : public escript::Abstract
269       Return the number of data points per sample, and the number of samples as a pair.       Return the number of data points per sample, and the number of samples as a pair.
270       \param functionSpaceCode Input -       \param functionSpaceCode Input -
271    */    */
272    REFINE_DLL_API    BUCKLEY_DLL_API
273    virtual std::pair<int,int> getDataShape(int functionSpaceCode) const;    virtual std::pair<int,int> getDataShape(int functionSpaceCode) const;
274    
275    /**    /**
276       \brief       \brief
277       assigns new location to the domain       assigns new location to the domain
278    */    */
279    REFINE_DLL_API    BUCKLEY_DLL_API
280    virtual void setNewX(const escript::Data& arg);    virtual void setNewX(const escript::Data& arg);
281    
282    /**    /**
283       \brief       \brief
284       \param full       \param full
285    */    */
286    REFINE_DLL_API    BUCKLEY_DLL_API
287    virtual void Print_Mesh_Info(const bool full=false) const;    virtual void Print_Mesh_Info(const bool full=false) const;
288    
289    

Legend:
Removed from v.3658  
changed lines
  Added in v.3668

  ViewVC Help
Powered by ViewVC 1.1.26