00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #if !defined finley_MeshAdapterFactory_20040526_H
00016 #define finley_MeshAdapterFactory_20040526_H
00017 #include "system_dep.h"
00018
00019 extern "C" {
00020 #include "../Finley.h"
00021 #include "../Mesh.h"
00022 #include "../RectangularMesh.h"
00023 }
00024
00025 #include "MeshAdapter.h"
00026
00027 #include "escript/AbstractContinuousDomain.h"
00028
00029 #include <boost/python/list.hpp>
00030
00031 #include <sstream>
00032
00033 namespace finley {
00047 FINLEY_DLL_API
00048
00049 escript::Domain_ptr loadMesh(const std::string& fileName);
00060 FINLEY_DLL_API
00061
00062 escript::Domain_ptr readMesh(const std::string& fileName,
00063 int integrationOrder=-1,
00064 int reducedIntegrationOrder=-1,
00065 int optimize=0);
00077 FINLEY_DLL_API
00078
00079 escript::Domain_ptr readGmsh(const std::string& fileName,
00080 int numDim,
00081 int integrationOrder=-1,
00082 int reducedIntegrationOrder=-1,
00083 int optimize=0);
00102 FINLEY_DLL_API
00103
00104 escript::Domain_ptr brick(int n0=1,int n1=1,int n2=1,int order=1,
00105 double l0=1.0,double l1=1.0,double l2=1.0,
00106 int periodic0=0,int periodic1=0,
00107 int periodic2=0,
00108 int integrationOrder=-1,
00109 int reducedIntegrationOrder=-1,
00110 int useElementsOnFace=0,
00111 int useFullElementOrder=0,
00112 int optimize=0);
00132 FINLEY_DLL_API
00133
00134 escript::Domain_ptr rectangle(int n0=1,int n1=1,int order=1,
00135 double l0=1.0, double l1=1.0,
00136 int periodic0=false,int periodic1=false,
00137 int integrationOrder=-1,
00138 int reducedIntegrationOrder=-1,
00139 int useElementsOnFace=0,
00140 int useFullElementOrder=0,
00141 int optimize=0);
00147 FINLEY_DLL_API
00148
00149 escript::Domain_ptr meshMerge(const boost::python::list& meshList);
00159 FINLEY_DLL_API
00160
00161 escript::Domain_ptr glueFaces(const boost::python::list& meshList,
00162 double safetyFactor=0.2,
00163 double tolerance=1.e-8,
00164 int optimize=0);
00173 FINLEY_DLL_API
00174
00175 escript::Domain_ptr joinFaces(const boost::python::list& meshList,
00176 double safetyFactor=0.2,
00177 double tolerance=1.e-8,
00178 int optimize=0);
00179
00180 }
00181 #endif