/[escript]/branches/domexper/escript/src/AbstractContinuousDomain.h
ViewVC logotype

Diff of /branches/domexper/escript/src/AbstractContinuousDomain.h

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

revision 3238 by jfenwick, Tue Aug 3 04:04:51 2010 UTC revision 3239 by jfenwick, Tue Oct 5 05:31:20 2010 UTC
# Line 21  Line 21 
21  #include <string>  #include <string>
22  #include <vector>  #include <vector>
23    
24    #include "AbstractSystemMatrix.h"
25    #include "AbstractTransportProblem.h"
26    
27  namespace escript {  namespace escript {
28    
29  //  //
# Line 207  class AbstractContinuousDomain : public Line 210  class AbstractContinuousDomain : public
210    ESCRIPT_DLL_API    ESCRIPT_DLL_API
211    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
212    
213    //  /**
214    //     \brief
215    //     Return the domain as const AbstractContinuousDomain&
216    //  */
217    //   ESCRIPT_DLL_API
218    //   static const  AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
219    
220    
221    
222    
223    /**    /**
224       \brief       \brief
225       Return the domain as const AbstractContinuousDomain&       adds a PDE onto the stiffness matrix mat and a rhs
226    */    */
227  //   ESCRIPT_DLL_API    ESCRIPT_DLL_API
228  //   static const  AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);    virtual void addPDEToSystem(
229                         AbstractSystemMatrix& mat, escript::Data& rhs,
230                         const escript::Data& A, const escript::Data& B, const escript::Data& C,
231                         const escript::Data& D, const escript::Data& X, const escript::Data& Y,
232                         const escript::Data& d, const escript::Data& y,
233                         const escript::Data& d_contact, const escript::Data& y_contact) const;
234    
235    // We do not require this method at this level since the python side checks to ensure it exists
236    // before calling it.
237    
238    //  /**
239    //     \brief
240    //     adds a PDE onto the lumped stiffness matrix matrix
241    //  */
242    //  ESCRIPT_DLL_API
243    //  virtual void addPDEToLumpedSystem(
244    //                     escript::Data& mat,
245    //                     const escript::Data& D,
246    //                     const escript::Data& d) const;
247    
248      /**
249         \brief
250         adds a PDE onto the stiffness matrix mat and a rhs
251      */
252      ESCRIPT_DLL_API
253      virtual void addPDEToRHS(escript::Data& rhs,
254                         const escript::Data& X, const escript::Data& Y,
255                         const escript::Data& y, const escript::Data& y_contact) const;
256      /**
257         \brief
258         adds a PDE onto a transport problem
259      */
260    
261      ESCRIPT_DLL_API
262      virtual void addPDEToTransportProblem(
263                         AbstractTransportProblem& tp, escript::Data& source,
264                         const escript::Data& M,
265                         const escript::Data& A, const escript::Data& B, const escript::Data& C,const  escript::Data& D,
266                         const  escript::Data& X,const  escript::Data& Y,
267                         const escript::Data& d, const escript::Data& y,
268                         const escript::Data& d_contact,const escript::Data& y_contact) const;
269    
270      /**
271         \brief
272        creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
273      */
274      ESCRIPT_DLL_API
275      virtual ASM_ptr newSystemMatrix(
276                          const int row_blocksize,
277                          const escript::FunctionSpace& row_functionspace,
278                          const int column_blocksize,
279                          const escript::FunctionSpace& column_functionspace,
280                          const int type) const;
281      /**
282       \brief
283        creates a TransportProblemAdapter
284    
285      */
286    
287      ESCRIPT_DLL_API
288      virtual ATP_ptr newTransportProblem(
289                          const bool useBackwardEuler,
290                          const int blocksize,
291                          const escript::FunctionSpace& functionspace,
292                          const int type) const;
293    
294      /**
295         \brief
296         Return the number of data points summed across all MPI processes
297      */
298      ESCRIPT_DLL_API
299      virtual int getNumDataPointsGlobal() const;
300    
301      /**
302         \brief
303         Return the number of data points per sample, and the number of samples as a pair.
304         \param functionSpaceCode Input -
305      */
306      ESCRIPT_DLL_API
307      virtual std::pair<int,int> getDataShape(int functionSpaceCode) const;
308    
309      /**
310         \brief
311         assigns new location to the domain
312      */
313      ESCRIPT_DLL_API
314      virtual void setNewX(const escript::Data& arg);
315    
316      /**
317         \brief
318         \param full
319      */
320      ESCRIPT_DLL_API
321      virtual void Print_Mesh_Info(const bool full=false) const;
322    
323    
324   protected:   protected:
325    

Legend:
Removed from v.3238  
changed lines
  Added in v.3239

  ViewVC Help
Powered by ViewVC 1.1.26