/[escript]/trunk/dudley/src/CPPAdapter/MeshAdapterFactory.h
ViewVC logotype

Diff of /trunk/dudley/src/CPPAdapter/MeshAdapterFactory.h

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

trunk/finley/src/CPPAdapter/MeshAdapterFactory.h revision 2519 by jfenwick, Mon Jul 6 00:43:08 2009 UTC branches/domexper/dudley/src/CPPAdapter/MeshAdapterFactory.h revision 3114 by jfenwick, Fri Aug 27 05:26:25 2010 UTC
# Line 1  Line 1 
1    
2  /*******************************************************  /*******************************************************
3  *  *
4  * Copyright (c) 2003-2008 by University of Queensland  * Copyright (c) 2003-2010 by University of Queensland
5  * Earth Systems Science Computational Center (ESSCC)  * Earth Systems Science Computational Center (ESSCC)
6  * http://www.uq.edu.au/esscc  * http://www.uq.edu.au/esscc
7  *  *
# Line 12  Line 12 
12  *******************************************************/  *******************************************************/
13    
14    
15  #if !defined  finley_MeshAdapterFactory_20040526_H  #if !defined  dudley_MeshAdapterFactory_20040526_H
16  #define finley_MeshAdapterFactory_20040526_H  #define dudley_MeshAdapterFactory_20040526_H
17  #include "system_dep.h"  #include "system_dep.h"
18    
 extern "C" {  
 #include "../Finley.h"  
 #include "../Mesh.h"  
 #include "../RectangularMesh.h"  
 }  
   
19  #include "MeshAdapter.h"  #include "MeshAdapter.h"
20    
21  #include "escript/AbstractContinuousDomain.h"  #include "escript/AbstractContinuousDomain.h"
# Line 30  extern "C" { Line 24  extern "C" {
24    
25  #include <sstream>  #include <sstream>
26    
27  namespace finley {  namespace dudley {
28    /**    /**
29       \brief       \brief
30       A suite of factory methods for creating various MeshAdapters.       A suite of factory methods for creating various MeshAdapters.
# Line 44  namespace finley { Line 38  namespace finley {
38       recovers mesg from a dump file       recovers mesg from a dump file
39       \param fileName Input -  The name of the file.       \param fileName Input -  The name of the file.
40    */    */
41    FINLEY_DLL_API    DUDLEY_DLL_API
42  /*  escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/  /*  escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
43    escript::Domain_ptr loadMesh(const std::string& fileName);    escript::Domain_ptr loadMesh(const std::string& fileName);
44    /**    /**
# Line 57  namespace finley { Line 51  namespace finley {
51       If reducedIntegrationOrder<0 the integration order is selected independently.       If reducedIntegrationOrder<0 the integration order is selected independently.
52       \param optimize Input - switches on the optimization of node labels       \param optimize Input - switches on the optimization of node labels
53    */    */
54    FINLEY_DLL_API    DUDLEY_DLL_API
55  //   escript::AbstractContinuousDomain* readMesh(const std::string& fileName,  //   escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
56     escript::Domain_ptr readMesh(const std::string& fileName,     escript::Domain_ptr readMesh(const std::string& fileName,
57                       int integrationOrder=-1,                       int integrationOrder=-1,
# Line 74  namespace finley { Line 68  namespace finley {
68       If reducedIntegrationOrder<0 the integration order is selected independently.       If reducedIntegrationOrder<0 the integration order is selected independently.
69       \param optimize Input - switches on the optimization of node labels       \param optimize Input - switches on the optimization of node labels
70    */    */
71    FINLEY_DLL_API    DUDLEY_DLL_API
72  //   escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,  //   escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
73    escript::Domain_ptr readGmsh(const std::string& fileName,    escript::Domain_ptr readGmsh(const std::string& fileName,
74                       int numDim,                       int numDim,
75                       int integrationOrder=-1,                       int integrationOrder=-1,
76                       int reducedIntegrationOrder=-1,                       int reducedIntegrationOrder=-1,
77                       int optimize=0);                       int optimize=0,
78                                         int useMacroElements=0);
79    /**    /**
80       \brief       \brief
81       Creates a rectangular mesh with n0 x n1 x n2 elements over the brick       Creates a rectangular mesh with n0 x n1 x n2 elements over the brick
82       [0,l0] x [0,l1] x [0,l2].       [0,l0] x [0,l1] x [0,l2].
83    
84       \param n0,n1,n2 Input - number of elements in each dimension       \param n0,n1,n2 Input - number of elements in each dimension
85       \param order Input - =1 or =2 gives the order of shape function       \param order Input - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
86       \param l0,l1,l2 Input - length of each side of brick       \param l0,l1,l2 Input - length of each side of brick
87       \param integrationOrder Input - order of the quadrature scheme.         \param integrationOrder Input - order of the quadrature scheme.  
88       If integrationOrder<0 the integration order is selected independently.       If integrationOrder<0 the integration order is selected independently.
# Line 97  namespace finley { Line 92  namespace finley {
92       \param periodic0, periodic1, periodic2 Input - whether or not boundary       \param periodic0, periodic1, periodic2 Input - whether or not boundary
93       conditions of the dimension are periodic       conditions of the dimension are periodic
94       \param useFullElementOrder       \param useFullElementOrder
95         \param useMacroElements
96       \param optimize       \param optimize
97    */    */
98    FINLEY_DLL_API    DUDLEY_DLL_API
 //   escript::AbstractContinuousDomain* brick(int n0=1,int n1=1,int n2=1,int order=1,  
99    escript::Domain_ptr brick(int n0=1,int n1=1,int n2=1,int order=1,    escript::Domain_ptr brick(int n0=1,int n1=1,int n2=1,int order=1,
100              double l0=1.0,double l1=1.0,double l2=1.0,                      double l0=1.0,double l1=1.0,double l2=1.0,
101              int periodic0=0,int periodic1=0,                      int periodic0=0,int periodic1=0,
102              int periodic2=0,                      int periodic2=0,
103              int integrationOrder=-1,                      int integrationOrder=-1,
104                      int reducedIntegrationOrder=-1,                      int reducedIntegrationOrder=-1,
105              int useElementsOnFace=0,                      int useElementsOnFace=0,
106                      int useFullElementOrder=0,                      int useFullElementOrder=0,
107                      int optimize=0);                      int optimize=0);
108    
109    /**    /**
110       \brief       \brief
111       Creates a rectangular mesh with n0 x n1 elements over the brick       Creates a rectangular mesh with n0 x n1 elements over the brick
112       [0,l0] x [0,l1].       [0,l0] x [0,l1].
113    
114       \param n0,n1 Input - number of elements in each dimension       \param n0,n1 Input - number of elements in each dimension
115       \param order Input - =1 or =2 gives the order of shape function       \param order Input - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
116       \param l0,l1 Input - length of each side of brick       \param l0,l1 Input - length of each side of brick
117       \param integrationOrder Input - order of the quadrature scheme.       \param integrationOrder Input - order of the quadrature scheme.
118       If integrationOrder<0 the integration order is selected       If integrationOrder<0 the integration order is selected
# Line 129  namespace finley { Line 125  namespace finley {
125       \param useFullElementOrder       \param useFullElementOrder
126       \param optimize       \param optimize
127    */    */
128    FINLEY_DLL_API    DUDLEY_DLL_API
 //   escript::AbstractContinuousDomain* rectangle(int n0=1,int n1=1,int order=1,  
129    escript::Domain_ptr rectangle(int n0=1,int n1=1,int order=1,    escript::Domain_ptr rectangle(int n0=1,int n1=1,int order=1,
130                        double l0=1.0, double l1=1.0,                                        double l0=1.0, double l1=1.0,
131                        int periodic0=false,int periodic1=false,                                        int periodic0=false,int periodic1=false,
132                        int integrationOrder=-1,                                        int integrationOrder=-1,
133                                        int reducedIntegrationOrder=-1,                                        int reducedIntegrationOrder=-1,
134                        int useElementsOnFace=0,                                        int useElementsOnFace=0,
135                                        int useFullElementOrder=0,                                        int useFullElementOrder=0,
136                                        int optimize=0);                                        int optimize=0);
137    
138    /**    /**
139       \brief       \brief
140       Merges a list of meshes into one list.       Merges a list of meshes into one list.
141       \param meshList Input - The list of meshes.       \param meshList Input - The list of meshes.
142    */    */
143    FINLEY_DLL_API    DUDLEY_DLL_API
144  //   escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);  //   escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
145    escript::Domain_ptr meshMerge(const boost::python::list& meshList);    escript::Domain_ptr meshMerge(const boost::python::list& meshList);
146    /**    /**
# Line 156  namespace finley { Line 152  namespace finley {
152       \param tolerance Input - ??       \param tolerance Input - ??
153       \param optimize Input - switches on the optimization of node labels       \param optimize Input - switches on the optimization of node labels
154    */    */
155    FINLEY_DLL_API    DUDLEY_DLL_API
156  //   escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,  //   escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
157    escript::Domain_ptr glueFaces(const boost::python::list& meshList,    escript::Domain_ptr glueFaces(const boost::python::list& meshList,
158                 double safetyFactor=0.2,                 double safetyFactor=0.2,
# Line 170  namespace finley { Line 166  namespace finley {
166       \param tolerance Input - ??       \param tolerance Input - ??
167       \param optimize Input - switches on the optimization of node labels       \param optimize Input - switches on the optimization of node labels
168    */    */
169    FINLEY_DLL_API    DUDLEY_DLL_API
170  //   escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,  //   escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
171    escript::Domain_ptr joinFaces(const boost::python::list& meshList,    escript::Domain_ptr joinFaces(const boost::python::list& meshList,
172              double safetyFactor=0.2,              double safetyFactor=0.2,

Legend:
Removed from v.2519  
changed lines
  Added in v.3114

  ViewVC Help
Powered by ViewVC 1.1.26