escript  Revision_
dudley/src/DomainFactory.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 #ifndef __DUDLEY_DOMAINFACTORY_H__
18 #define __DUDLEY_DOMAINFACTORY_H__
19 
20 #include <dudley/DudleyDomain.h>
21 
22 #include <boost/python/list.hpp>
23 
24 #include <sstream>
25 
31 namespace dudley {
32 
42 escript::Domain_ptr readMesh(const std::string& fileName,
43  int integrationOrder = -1,
44  int reducedIntegrationOrder = -1,
45  bool optimize = false);
46 
56 escript::Domain_ptr readGmsh(const std::string& fileName, int numDim,
57  int integrationOrder = -1,
58  int reducedIntegrationOrder = -1,
59  bool optimize = false);
60 
75  dim_t n0=1, dim_t n1=1, dim_t n2=1, int order=1,
76  double l0=1.0, double l1=1.0, double l2=1.0,
77  bool periodic0=false, bool periodic1=false, bool periodic2=false,
78  int integrationOrder=-1, int reducedIntegrationOrder=-1,
79  bool useElementsOnFace=false, bool useFullElementOrder=false,
80  bool optimize=false);
81 
86 escript::Domain_ptr brick_driver(const boost::python::list& args);
87 
106  dim_t n0 = 1, dim_t n1 = 1, int order = 1,
107  double l0 = 1.0, double l1 = 1.0,
108  bool periodic0 = false, bool periodic1 = false,
109  int integrationOrder = -1,
110  int reducedIntegrationOrder = -1,
111  bool useElementsOnFace = false,
112  bool useFullElementOrder = false,
113  bool optimize = false);
114 
119 escript::Domain_ptr rectangle_driver(const boost::python::list& args);
120 
121 
122 } // end of namespace
123 
124 #endif // __DUDLEY_DOMAINFACTORY_H__
125 
Domain_ptr readMesh(const string &fileName, int, int, bool optimize)
reads a mesh from a fly file. For MPI parallel runs fans out the mesh to multiple processes...
Definition: dudley/src/DomainFactory.cpp:369
double l2(dim_t n, const double *x, escript::JMPI mpiinfo)
returns the global L2 norm of x
Definition: PasoUtil.cpp:501
Domain_ptr brick(JMPI info, dim_t n0, dim_t n1, dim_t n2, int order, double l0, double l1, double l2, bool periodic0, bool periodic1, bool periodic2, int integrationOrder, int reducedIntegrationOrder, bool useElementsOnFace, bool useFullElementOrder, bool 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/DomainFactory.cpp:384
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:36
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:71
Domain_ptr rectangle(JMPI info, dim_t n0, dim_t n1, int order, double l0, double l1, bool periodic0, bool periodic1, int integrationOrder, int reducedIntegrationOrder, bool useElementsOnFace, bool useFullElementOrder, bool optimize)
Creates a 2-dimensional rectangular mesh with n0 x n1 x 2 Tri3 elements over the rectangle [0...
Definition: dudley/src/DomainFactory.cpp:432
Domain_ptr brick_driver(const bp::list &args)
Definition: dudley/src/DomainFactory.cpp:407
Domain_ptr readGmsh(const string &fileName, int numDim, int, int, bool optimize)
reads a gmsh mesh file
Definition: dudley/src/DomainFactory.cpp:376
A suite of factory methods for creating 2D and 3D dudley domains.
Definition: dudley/src/Assemble.h:31
Domain_ptr rectangle_driver(const bp::list &args)
Definition: dudley/src/DomainFactory.cpp:449
index_t dim_t
Definition: DataTypes.h:64