escript  Revision_Unversioneddirectory
dudley/src/CPPAdapter/MeshAdapterFactory.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2016 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 
18 #if !defined dudley_MeshAdapterFactory_20040526_H
19 #define dudley_MeshAdapterFactory_20040526_H
20 #include "system_dep.h"
21 
22 #include "MeshAdapter.h"
23 
24 #include "escript/AbstractContinuousDomain.h"
25 
26 #include <boost/python/list.hpp>
27 
28 #include <sstream>
29 
30 namespace dudley {
45 /* escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
46  escript::Domain_ptr loadMesh(const std::string& fileName);
58 // escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
59  escript::Domain_ptr readMesh(const std::string& fileName,
60  int integrationOrder=-1,
61  int reducedIntegrationOrder=-1,
62  int optimize=0);
76 // escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
77  escript::Domain_ptr readGmsh(const std::string& fileName,
78  int numDim,
79  int integrationOrder=-1,
80  int reducedIntegrationOrder=-1,
81  int optimize=0,
82  int useMacroElements=0);
83 
84 
90  escript::Domain_ptr brick_driver(const boost::python::list& args);
91 
97  escript::Domain_ptr rectangle_driver(const boost::python::list& args);
98 
118  escript::Domain_ptr brick(esysUtils::JMPI& mpi_info, double n0=1,double n1=1,double n2=1,int order=1,
119  double l0=1.0,double l1=1.0,double l2=1.0,
120  int periodic0=0,int periodic1=0,
121  int periodic2=0,
122  int integrationOrder=-1,
123  int reducedIntegrationOrder=-1,
124  int useElementsOnFace=0,
125  int useFullElementOrder=0,
126  int optimize=0);
127 
148  escript::Domain_ptr rectangle(esysUtils::JMPI& mpi_info, double n0=1,double n1=1,int order=1,
149  double l0=1.0, double l1=1.0,
150  int periodic0=false,int periodic1=false,
151  int integrationOrder=-1,
152  int reducedIntegrationOrder=-1,
153  int useElementsOnFace=0,
154  int useFullElementOrder=0,
155  int optimize=0);
156 
157 // /**
158 // \brief
159 // Merges a list of meshes into one list.
160 // \param meshList Input - The list of meshes.
161 // */
162 // DUDLEY_DLL_API
163 // // escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
164 // escript::Domain_ptr meshMerge(const boost::python::list& meshList);
165 
166 
167 } // end of namespace
168 #endif
Domain_ptr rectangle(esysUtils::JMPI &mpi_info, double n0, double n1, int order, double l0, double l1, int periodic0, int periodic1, int integrationOrder, int reducedIntegrationOrder, int useElementsOnFace, int useFullElementOrder, int optimize)
Creates a rectangular mesh with n0 x n1 elements over the brick [0,l0] x [0,l1].
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:672
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:36
Domain_ptr rectangle_driver(const boost::python::list &args)
Python driver for rectangle()
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:587
Domain_ptr readMesh(const std::string &fileName, int integrationOrder, int reducedIntegrationOrder, int optimize)
Read a mesh from a file. For MPI parallel runs fan out the mesh to multiple processes.
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:406
Domain_ptr brick(esysUtils::JMPI &mpi_info, double n0, double n1, double n2, int order, double l0, double l1, double l2, int periodic0, int periodic1, int periodic2, int integrationOrder, int reducedIntegrationOrder, int useElementsOnFace, int useFullElementOrder, int optimize)
Creates a rectangular mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0...
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:468
Domain_ptr brick_driver(const boost::python::list &args)
Python driver for brick()
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:513
Domain_ptr readGmsh(const std::string &fileName, int numDim, int integrationOrder, int reducedIntegrationOrder, int optimize, int useMacroElements)
Read a gmsh mesh file.
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:436
double l2(dim_t n, const double *x, const esysUtils::JMPI &mpiinfo)
returns the global L2 norm of x
Definition: PasoUtil.cpp:484
#define DUDLEY_DLL_API
Definition: dudley/src/CPPAdapter/system_dep.h:29
Domain_ptr loadMesh(const std::string &fileName)
A suite of factory methods for creating various MeshAdapters.
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:71
Definition: DudleyAdapterException.h:24
boost::shared_ptr< JMPI_ > JMPI
Definition: Esys_MPI.h:79