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

Contents of /trunk/finley/src/CPPAdapter/MeshAdapterFactory.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1807 - (show annotations)
Thu Sep 25 01:04:51 2008 UTC (10 years, 9 months ago) by ksteube
File MIME type: text/plain
File size: 6537 byte(s)
The new MPI parallel ReadMesh is now the default after having passed
all tests both with and without MPI.
If you have been using ReadMesh you should notice no difference.
If you were using ReadMeshMPI then change to ReadMesh.

1
2 /* $Id$ */
3
4 /*******************************************************
5 *
6 * Copyright 2003-2007 by ACceSS MNRF
7 * Copyright 2007 by University of Queensland
8 *
9 * 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_MeshAdapterFactory_20040526_H
17 #define finley_MeshAdapterFactory_20040526_H
18 #include "system_dep.h"
19
20 extern "C" {
21 #include "../Finley.h"
22 #include "../Mesh.h"
23 #include "../RectangularMesh.h"
24 }
25
26 #include "MeshAdapter.h"
27
28 #include "escript/AbstractContinuousDomain.h"
29
30 #include <boost/python/list.hpp>
31
32 #include <sstream>
33
34 namespace finley {
35 /**
36 \brief
37 A suite of factory methods for creating various MeshAdapters.
38
39 Description:
40 A suite of factory methods for creating various MeshAdapters.
41 */
42
43 /**
44 \brief
45 recovers mesg from a dump file
46 \param fileName Input - The name of the file.
47 */
48 FINLEY_DLL_API
49 escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);
50 /**
51 \brief
52 Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes.
53 \param fileName Input - The name of the file.
54 \param integrationOrder Input - order of the quadrature scheme.
55 If integrationOrder<0 the integration order is selected independently.
56 \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
57 If reducedIntegrationOrder<0 the integration order is selected independently.
58 \param optimize Input - switches on the optimization of node labels
59 */
60 FINLEY_DLL_API
61 escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
62 int integrationOrder=-1,
63 int reducedIntegrationOrder=-1,
64 int optimize=0);
65 /**
66 \brief
67 Read a gmsh mesh file
68 \param fileName Input - The name of the file.
69 \param numDim Input - spatial dimension
70 \param integrationOrder Input - order of the quadrature scheme.
71 If integrationOrder<0 the integration order is selected independently.
72 \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
73 If reducedIntegrationOrder<0 the integration order is selected independently.
74 \param optimize Input - switches on the optimization of node labels
75 */
76 FINLEY_DLL_API
77 escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
78 int numDim,
79 int integrationOrder=-1,
80 int reducedIntegrationOrder=-1,
81 int optimize=0);
82 /**
83 \brief
84 Creates a rectangular mesh with n0 x n1 x n2 elements over the brick
85 [0,l0] x [0,l1] x [0,l2].
86
87 \param n0,n1,n2 Input - number of elements in each dimension
88 \param order Input - =1 or =2 gives the order of shape function
89 \param l0,l1,l2 Input - length of each side of brick
90 \param integrationOrder Input - order of the quadrature scheme.
91 If integrationOrder<0 the integration order is selected independently.
92 \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
93 If reducedIntegrationOrder<0 the integration order is selected independently.
94 \param useElementsOnFace Input - whether or not to use elements on face
95 \param periodic0, periodic1, periodic2 Input - whether or not boundary
96 conditions of the dimension are periodic
97 */
98 FINLEY_DLL_API
99 escript::AbstractContinuousDomain* 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,
101 int periodic0=0,int periodic1=0,
102 int periodic2=0,
103 int integrationOrder=-1,
104 int reducedIntegrationOrder=-1,
105 int useElementsOnFace=0,
106 int useFullElementOrder=0,
107 int optimize=0);
108 /**
109 \brief
110 Creates a rectangular mesh with n0 x n1 elements over the brick
111 [0,l0] x [0,l1].
112
113 \param n0,n1 Input - number of elements in each dimension
114 \param order Input - =1 or =2 gives the order of shape function
115 \param l0,l1 Input - length of each side of brick
116 \param integrationOrder Input - order of the quadrature scheme.
117 If integrationOrder<0 the integration order is selected
118 independently.
119 \param reducedIntegrationOrder Input - order of the reduced quadrature scheme.
120 If reducedIntegrationOrder<0 the integration order is selected independently.
121 \param periodic0, periodic1 Input - whether or not the boundary
122 conditions of the dimension are periodic
123 \param useElementsOnFace Input - whether or not to use elements on face
124 */
125 FINLEY_DLL_API
126 escript::AbstractContinuousDomain* rectangle(int n0=1,int n1=1,int order=1,
127 double l0=1.0, double l1=1.0,
128 int periodic0=false,int periodic1=false,
129 int integrationOrder=-1,
130 int reducedIntegrationOrder=-1,
131 int useElementsOnFace=0,
132 int useFullElementOrder=0,
133 int optimize=0);
134 /**
135 \brief
136 Merges a list of meshes into one list.
137 \param meshList Input - The list of meshes.
138 */
139 FINLEY_DLL_API
140 escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
141 /**
142 \brief
143 Detects matching faces in the mesh, removes them from the mesh
144 and joins the elements touched by the face elements.
145 \param meshList Input - The list of meshes.
146 \param safetyFactor Input - ??
147 \param tolerance Input - ??
148 \param optimize Input - switches on the optimization of node labels
149 */
150 FINLEY_DLL_API
151 escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
152 double safetyFactor=0.2,
153 double tolerance=1.e-8,
154 int optimize=0);
155 /**
156 \brief
157 Detects matching faces in the mesh and replaces them by joint elements.
158 \param meshList Input - The list of meshes.
159 \param safetyFactor Input - ??
160 \param tolerance Input - ??
161 \param optimize Input - switches on the optimization of node labels
162 */
163 FINLEY_DLL_API
164 escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
165 double safetyFactor=0.2,
166 double tolerance=1.e-8,
167 int optimize=0);
168
169 } // end of namespace
170 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26