ESScript  Revision_4488
finley/src/CPPAdapter/MeshAdapterFactory.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15 
16 
17 #if !defined finley_MeshAdapterFactory_20040526_H
18 #define finley_MeshAdapterFactory_20040526_H
19 #include "system_dep.h"
20 
21 #include "finley/Finley.h"
22 #include "finley/Mesh.h"
23 #include "finley/RectangularMesh.h"
24 
25 #include "MeshAdapter.h"
26 
27 #include "escript/AbstractContinuousDomain.h"
28 
29 #include <boost/python/list.hpp>
30 
31 #include <sstream>
32 
33 namespace finley {
48 /* escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
49  escript::Domain_ptr loadMesh(const std::string& fileName);
61 // escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
62  escript::Domain_ptr readMesh(const std::string& fileName,
63  int integrationOrder=-1,
64  int reducedIntegrationOrder=-1,
65  int optimize=0);
79 // escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
80  escript::Domain_ptr readGmsh(const std::string& fileName,
81  int numDim,
82  int integrationOrder=-1,
83  int reducedIntegrationOrder=-1,
84  int optimize=0,
85  int useMacroElements=0);
86 
110 escript::Domain_ptr brick(int n0=1, int n1=1, int n2=1, int order=1,
111  double l0=1.0, double l1=1.0, double l2=1.0,
112  int periodic0=0, int periodic1=0,
113  int periodic2=0,
114  int integrationOrder=-1,
115  int reducedIntegrationOrder=-1,
116  int useElementsOnFace=0,
117  int useFullElementOrder=0,
118  int optimize=0,
119  const std::vector<double>& points=std::vector<double>(),
120  const std::vector<int>& tags=std::vector<int>(),
121  const std::map<std::string, int>& tagnamestonums=std::map<std::string, int>()
122  );
123 
129  escript::Domain_ptr brick_driver(const boost::python::list& args);
130 
136  escript::Domain_ptr rectangle_driver(const boost::python::list& args);
137 
138 
164  escript::Domain_ptr rectangle(int n0=1, int n1=1, int order=1,
165  double l0=1.0, double l1=1.0,
166  int periodic0=false, int periodic1=false,
167  int integrationOrder=-1,
168  int reducedIntegrationOrder=-1,
169  int useElementsOnFace=0,
170  int useFullElementOrder=0,
171  int optimize=0,
172  const std::vector<double>& points=std::vector<double>(),
173  const std::vector<int>& tags=std::vector<int>(),
174  const std::map<std::string, int>& tagnamestonums=std::map<std::string, int>()
175  );
182 // escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
183  escript::Domain_ptr meshMerge(const boost::python::list& meshList);
194 // escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
195  escript::Domain_ptr glueFaces(const boost::python::list& meshList,
196  double safetyFactor=0.2,
197  double tolerance=1.e-8,
198  int optimize=0);
208 // escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
209  escript::Domain_ptr joinFaces(const boost::python::list& meshList,
210  double safetyFactor=0.2,
211  double tolerance=1.e-8,
212  int optimize=0);
213 
214 } // end of namespace
215 #endif