/[escript]/trunk/finley/src/CPPAdapter/MeshAdapter.h
ViewVC logotype

Diff of /trunk/finley/src/CPPAdapter/MeshAdapter.h

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

revision 1059 by gross, Fri Mar 23 11:01:53 2007 UTC revision 1366 by gross, Tue Dec 18 05:49:17 2007 UTC
# Line 1  Line 1 
1  // $Id$  
2  /*  /* $Id$ */
3   ************************************************************  
4   *          Copyright 2006 by ACcESS MNRF                   *  /*******************************************************
5   *                                                          *   *
6   *              http://www.access.edu.au                    *   *           Copyright 2003-2007 by ACceSS MNRF
7   *       Primary Business: Queensland, Australia            *   *       Copyright 2007 by University of Queensland
8   *  Licensed under the Open Software License version 3.0    *   *
9   *     http://www.opensource.org/licenses/osl-3.0.php       *   *                http://esscc.uq.edu.au
10   *                                                          *   *        Primary Business: Queensland, Australia
11   ************************************************************   *  Licensed under the Open Software License version 3.0
12  */   *     http://www.opensource.org/licenses/osl-3.0.php
13                                                                               *
14     *******************************************************/
15    
16  #if !defined finley_MeshAdapter_20040526_H  #if !defined finley_MeshAdapter_20040526_H
17  #define finley_MeshAdapter_20040526_H  #define finley_MeshAdapter_20040526_H
18  #include "system_dep.h"  #include "system_dep.h"
# Line 20  extern "C" { Line 22  extern "C" {
22  #include "../Finley.h"  #include "../Finley.h"
23  #include "../Assemble.h"  #include "../Assemble.h"
24  #include "paso/SystemMatrix.h"  #include "paso/SystemMatrix.h"
25    #include "paso/SolverFCT.h"
26  }  }
27    
28  #include "FinleyError.h"  #include "FinleyError.h"
29  #include "FinleyAdapterException.h"  #include "FinleyAdapterException.h"
30    
31  #include "SystemMatrixAdapter.h"  #include "SystemMatrixAdapter.h"
32    #include "TransportProblemAdapter.h"
33  #include "escript/AbstractContinuousDomain.h"  #include "escript/AbstractContinuousDomain.h"
34  #include "escript/FunctionSpace.h"  #include "escript/FunctionSpace.h"
35  #include "escript/FunctionSpaceFactory.h"  #include "escript/FunctionSpaceFactory.h"
# Line 74  class MeshAdapter : public escript::Abst Line 78  class MeshAdapter : public escript::Abst
78    static const int DegreesOfFreedom;    static const int DegreesOfFreedom;
79    static const int ReducedDegreesOfFreedom;    static const int ReducedDegreesOfFreedom;
80    static const int Nodes;    static const int Nodes;
81      static const int ReducedNodes;
82    static const int Elements;    static const int Elements;
83    static const int ReducedElements;    static const int ReducedElements;
84    static const int FaceElements;    static const int FaceElements;
# Line 90  class MeshAdapter : public escript::Abst Line 95  class MeshAdapter : public escript::Abst
95    
96       Description:       Description:
97       Constructor for MeshAdapter. The pointer passed to MeshAdapter       Constructor for MeshAdapter. The pointer passed to MeshAdapter
98       is deleted using a call to Finley_Mesh_deallocate in the       is deleted using a call to Finley_Mesh_free in the
99       MeshAdapter destructor.       MeshAdapter destructor.
100    
101       Throws:       Throws:
# Line 99  class MeshAdapter : public escript::Abst Line 104  class MeshAdapter : public escript::Abst
104       \param finleyMesh Input - A pointer to the externally constructed       \param finleyMesh Input - A pointer to the externally constructed
105                                 finley mesh.The pointer passed to MeshAdapter                                 finley mesh.The pointer passed to MeshAdapter
106                                 is deleted using a call to                                 is deleted using a call to
107                                 Finley_Mesh_deallocate in the MeshAdapter                                 Finley_Mesh_free in the MeshAdapter
108                                 destructor.                                 destructor.
109    */    */
110    FINLEY_DLL_API    FINLEY_DLL_API
# Line 115  class MeshAdapter : public escript::Abst Line 120  class MeshAdapter : public escript::Abst
120    /**    /**
121       \brief       \brief
122       Destructor for MeshAdapter. As specified in the constructor       Destructor for MeshAdapter. As specified in the constructor
123       this calls Finley_Mesh_deallocate for the pointer given to the       this calls Finley_Mesh_free for the pointer given to the
124       constructor.       constructor.
125    */    */
126    FINLEY_DLL_API    FINLEY_DLL_API
# Line 123  class MeshAdapter : public escript::Abst Line 128  class MeshAdapter : public escript::Abst
128    
129    /**    /**
130       \brief       \brief
131         return the number of processors used for this domain
132      */
133      FINLEY_DLL_API
134      virtual int getMPISize() const;
135      /**
136         \brief
137         return the number MPI rank of this processor
138      */
139    
140      FINLEY_DLL_API
141      virtual int getMPIRank() const;
142    
143      /**
144         \brief
145       return this as an AbstractContinuousDomain.       return this as an AbstractContinuousDomain.
146    */    */
147    inline const AbstractContinuousDomain& asAbstractContinuousDomain() const    inline const AbstractContinuousDomain& asAbstractContinuousDomain() const
# Line 149  class MeshAdapter : public escript::Abst Line 168  class MeshAdapter : public escript::Abst
168    
169    /**    /**
170       \brief       \brief
171         Write the current mesh to a file with the given name.
172         \param fileName Input - The name of the file to write to.
173      */
174      FINLEY_DLL_API
175      void Print_Mesh_Info(const bool) const;
176    
177      /**
178         \brief
179         dumps the mesh to a file with the given name.
180         \param fileName Input - The name of the file
181      */
182      FINLEY_DLL_API
183      void dump(const std::string& fileName) const;
184    
185      /**
186         \brief
187       return the pointer to the underlying finley mesh structure       return the pointer to the underlying finley mesh structure
188    */    */
189    FINLEY_DLL_API    FINLEY_DLL_API
# Line 209  class MeshAdapter : public escript::Abst Line 244  class MeshAdapter : public escript::Abst
244    
245    /**    /**
246       \brief       \brief
247         Return a continuous on reduced order nodes FunctionSpace code
248      */
249      FINLEY_DLL_API
250      virtual int getReducedContinuousFunctionCode() const;
251    
252      /**
253         \brief
254       Return a function FunctionSpace code       Return a function FunctionSpace code
255    */    */
256    FINLEY_DLL_API    FINLEY_DLL_API
# Line 457  class MeshAdapter : public escript::Abst Line 499  class MeshAdapter : public escript::Abst
499                       const escript::Data& D, const escript::Data& X, const escript::Data& Y,                       const escript::Data& D, const escript::Data& X, const escript::Data& Y,
500                       const escript::Data& d, const escript::Data& y,                       const escript::Data& d, const escript::Data& y,
501                       const escript::Data& d_contact, const escript::Data& y_contact) const;                       const escript::Data& d_contact, const escript::Data& y_contact) const;
502      /**
503         \brief
504         adds a PDE onto the lumped stiffness matrix matrix
505      */
506      FINLEY_DLL_API
507      virtual void addPDEToLumpedSystem(
508                         escript::Data& mat,
509                         const escript::Data& D,
510                         const escript::Data& d) const;
511    
512    /**    /**
513       \brief       \brief
# Line 469  class MeshAdapter : public escript::Abst Line 520  class MeshAdapter : public escript::Abst
520    
521    /**    /**
522       \brief       \brief
523      creates a SystemMatrixAdapter stiffness matrix an initializes it with zeros:      creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
524    */    */
525    FINLEY_DLL_API    FINLEY_DLL_API
526    SystemMatrixAdapter newSystemMatrix(    SystemMatrixAdapter newSystemMatrix(
# Line 478  class MeshAdapter : public escript::Abst Line 529  class MeshAdapter : public escript::Abst
529                        const int column_blocksize,                        const int column_blocksize,
530                        const escript::FunctionSpace& column_functionspace,                        const escript::FunctionSpace& column_functionspace,
531                        const int type) const;                        const int type) const;
532      /**
533       \brief
534        creates a TransportProblemAdapter
535    
536      */
537    
538      FINLEY_DLL_API
539      TransportProblemAdapter newTransportProblem(
540                          const double theta,
541                          const double dt_max,
542                          const int blocksize,
543                          const escript::FunctionSpace& functionspace,
544                          const int type) const;
545    
546    /**    /**
547       \brief returns locations in the FEM nodes       \brief returns locations in the FEM nodes

Legend:
Removed from v.1059  
changed lines
  Added in v.1366

  ViewVC Help
Powered by ViewVC 1.1.26