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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3892 - (hide annotations)
Tue Apr 10 08:57:23 2012 UTC (7 years ago) by jfenwick
File MIME type: text/plain
File size: 6109 byte(s)
Merged changes across from the attempt2 branch.
This version builds and passes python2 tests.
It also passes most python3 tests.



1 ksteube 1312
2     /*******************************************************
3 ksteube 1811 *
4 jfenwick 2881 * Copyright (c) 2003-2010 by University of Queensland
5 ksteube 1811 * Earth Systems Science Computational Center (ESSCC)
6     * http://www.uq.edu.au/esscc
7     *
8     * Primary Business: Queensland, Australia
9     * Licensed under the Open Software License version 3.0
10     * http://www.opensource.org/licenses/osl-3.0.php
11     *
12     *******************************************************/
13 ksteube 1312
14 ksteube 1811
15 jfenwick 3086 #if !defined dudley_MeshAdapterFactory_20040526_H
16     #define dudley_MeshAdapterFactory_20040526_H
17 caltinay 2898 #include "system_dep.h"
18 jgs 82
19 jgs 203 #include "MeshAdapter.h"
20 jgs 82
21 robwdcock 682 #include "escript/AbstractContinuousDomain.h"
22 jgs 82
23     #include <boost/python/list.hpp>
24    
25 jgs 472 #include <sstream>
26    
27 jfenwick 3082 namespace dudley {
28 jgs 82 /**
29     \brief
30     A suite of factory methods for creating various MeshAdapters.
31    
32     Description:
33     A suite of factory methods for creating various MeshAdapters.
34     */
35    
36     /**
37     \brief
38 ksteube 1312 recovers mesg from a dump file
39     \param fileName Input - The name of the file.
40     */
41 jfenwick 3086 DUDLEY_DLL_API
42 jfenwick 1872 /* escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
43     escript::Domain_ptr loadMesh(const std::string& fileName);
44 ksteube 1312 /**
45     \brief
46 ksteube 1807 Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes.
47 jgs 82 \param fileName Input - The name of the file.
48 jgs 121 \param integrationOrder Input - order of the quadrature scheme.
49     If integrationOrder<0 the integration order is selected independently.
50 gross 1059 \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
51     If reducedIntegrationOrder<0 the integration order is selected independently.
52 ksteube 1312 \param optimize Input - switches on the optimization of node labels
53 jgs 82 */
54 jfenwick 3086 DUDLEY_DLL_API
55 jfenwick 1872 // escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
56     escript::Domain_ptr readMesh(const std::string& fileName,
57 gross 1059 int integrationOrder=-1,
58     int reducedIntegrationOrder=-1,
59 ksteube 1312 int optimize=0);
60 jgs 82 /**
61     \brief
62 gross 934 Read a gmsh mesh file
63     \param fileName Input - The name of the file.
64     \param numDim Input - spatial dimension
65     \param integrationOrder Input - order of the quadrature scheme.
66     If integrationOrder<0 the integration order is selected independently.
67     \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
68     If reducedIntegrationOrder<0 the integration order is selected independently.
69 ksteube 1312 \param optimize Input - switches on the optimization of node labels
70 caltinay 3454 \param useMacroElements
71 gross 934 */
72 jfenwick 3086 DUDLEY_DLL_API
73 jfenwick 1872 // escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
74     escript::Domain_ptr readGmsh(const std::string& fileName,
75 gross 934 int numDim,
76     int integrationOrder=-1,
77     int reducedIntegrationOrder=-1,
78 gross 2722 int optimize=0,
79 caltinay 3454 int useMacroElements=0);
80 gross 934 /**
81     \brief
82 jgs 123 Creates a rectangular mesh with n0 x n1 x n2 elements over the brick
83     [0,l0] x [0,l1] x [0,l2].
84 jgs 82
85 jgs 123 \param n0,n1,n2 Input - number of elements in each dimension
86 gross 2722 \param order Input - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
87 jgs 123 \param l0,l1,l2 Input - length of each side of brick
88 gross 1059 \param integrationOrder Input - order of the quadrature scheme.
89     If integrationOrder<0 the integration order is selected independently.
90     \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
91     If reducedIntegrationOrder<0 the integration order is selected independently.
92 jgs 121 \param useElementsOnFace Input - whether or not to use elements on face
93     \param periodic0, periodic1, periodic2 Input - whether or not boundary
94     conditions of the dimension are periodic
95 jfenwick 2519 \param useFullElementOrder
96     \param optimize
97 jgs 82 */
98 jfenwick 3086 DUDLEY_DLL_API
99 jfenwick 3892 escript::Domain_ptr brick(double n0=1,double n1=1,double n2=1,int order=1,
100 jfenwick 3114 double l0=1.0,double l1=1.0,double l2=1.0,
101     int periodic0=0,int periodic1=0,
102     int periodic2=0,
103     int integrationOrder=-1,
104     int reducedIntegrationOrder=-1,
105     int useElementsOnFace=0,
106 ksteube 1312 int useFullElementOrder=0,
107     int optimize=0);
108 jfenwick 3114
109 jgs 82 /**
110 jgs 121 \brief
111 jgs 123 Creates a rectangular mesh with n0 x n1 elements over the brick
112     [0,l0] x [0,l1].
113 jgs 82
114 jfenwick 3892 \param n0,n1 Input - number of elements in each dimension [We only except floats for py transition]
115 gross 2722 \param order Input - =1, =-1 or =2 gives the order of shape function (-1= macro elements of order 1)
116 jgs 123 \param l0,l1 Input - length of each side of brick
117 jgs 82 \param integrationOrder Input - order of the quadrature scheme.
118     If integrationOrder<0 the integration order is selected
119     independently.
120 gross 1059 \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
121     If reducedIntegrationOrder<0 the integration order is selected independently.
122 jgs 121 \param periodic0, periodic1 Input - whether or not the boundary
123     conditions of the dimension are periodic
124     \param useElementsOnFace Input - whether or not to use elements on face
125 jfenwick 2519 \param useFullElementOrder
126     \param optimize
127 jgs 82 */
128 jfenwick 3086 DUDLEY_DLL_API
129 jfenwick 3892 escript::Domain_ptr rectangle(double n0=1,double n1=1,int order=1,
130 jfenwick 3114 double l0=1.0, double l1=1.0,
131     int periodic0=false,int periodic1=false,
132     int integrationOrder=-1,
133     int reducedIntegrationOrder=-1,
134     int useElementsOnFace=0,
135 ksteube 1312 int useFullElementOrder=0,
136     int optimize=0);
137 jfenwick 3114
138 jfenwick 3216 // /**
139     // \brief
140     // Merges a list of meshes into one list.
141     // \param meshList Input - The list of meshes.
142     // */
143     // DUDLEY_DLL_API
144     // // escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
145     // escript::Domain_ptr meshMerge(const boost::python::list& meshList);
146    
147 jgs 82
148     } // end of namespace
149     #endif

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26