Escript  Revision_4320
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 extern "C" {
22 #include "finley/Finley.h"
23 #include "finley/Mesh.h"
24 #include "finley/RectangularMesh.h"
25 }
26 
27 #include "MeshAdapter.h"
28 
29 #include "escript/AbstractContinuousDomain.h"
30 
31 #include <boost/python/list.hpp>
32 
33 #include <sstream>
34 
35 namespace finley {
50 /* escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
51  escript::Domain_ptr loadMesh(const std::string& fileName);
63 // escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
64  escript::Domain_ptr readMesh(const std::string& fileName,
65  int integrationOrder=-1,
66  int reducedIntegrationOrder=-1,
67  int optimize=0);
81 // escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
82  escript::Domain_ptr readGmsh(const std::string& fileName,
83  int numDim,
84  int integrationOrder=-1,
85  int reducedIntegrationOrder=-1,
86  int optimize=0,
87  int useMacroElements=0);
88 
112 escript::Domain_ptr brick(int n0=1, int n1=1, int n2=1, int order=1,
113  double l0=1.0, double l1=1.0, double l2=1.0,
114  int periodic0=0, int periodic1=0,
115  int periodic2=0,
116  int integrationOrder=-1,
117  int reducedIntegrationOrder=-1,
118  int useElementsOnFace=0,
119  int useFullElementOrder=0,
120  int optimize=0,
121  const std::vector<double>& points=std::vector<double>(),
122  const std::vector<int>& tags=std::vector<int>(),
123  const std::map<std::string, int>& tagnamestonums=std::map<std::string, int>()
124  );
125 
131  escript::Domain_ptr brick_driver(const boost::python::list& args);
132 
138  escript::Domain_ptr rectangle_driver(const boost::python::list& args);
139 
140 
166  escript::Domain_ptr rectangle(int n0=1, int n1=1, int order=1,
167  double l0=1.0, double l1=1.0,
168  int periodic0=false, int periodic1=false,
169  int integrationOrder=-1,
170  int reducedIntegrationOrder=-1,
171  int useElementsOnFace=0,
172  int useFullElementOrder=0,
173  int optimize=0,
174  const std::vector<double>& points=std::vector<double>(),
175  const std::vector<int>& tags=std::vector<int>(),
176  const std::map<std::string, int>& tagnamestonums=std::map<std::string, int>()
177  );
184 // escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
185  escript::Domain_ptr meshMerge(const boost::python::list& meshList);
196 // escript::AbstractContinuousDomain* glueFaces(const boost::python::list& meshList,
197  escript::Domain_ptr glueFaces(const boost::python::list& meshList,
198  double safetyFactor=0.2,
199  double tolerance=1.e-8,
200  int optimize=0);
210 // escript::AbstractContinuousDomain* joinFaces(const boost::python::list& meshList,
211  escript::Domain_ptr joinFaces(const boost::python::list& meshList,
212  double safetyFactor=0.2,
213  double tolerance=1.e-8,
214  int optimize=0);
215 
216 } // end of namespace
217 #endif