escript Revision_
finley/src/DomainFactory.h
Go to the documentation of this file.
1
2/*****************************************************************************
3*
4* Copyright (c) 2003-2020 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-2017 by Centre for Geoscience Computing (GeoComp)
14* Development from 2019 by School of Earth and Environmental Sciences
15**
16*****************************************************************************/
17
18#ifndef __FINLEY_DOMAINFACTORY_H__
19#define __FINLEY_DOMAINFACTORY_H__
20
21#include <finley/FinleyDomain.h>
22
23#include <boost/python/list.hpp>
24
25#include <sstream>
26
32namespace finley {
33
39escript::Domain_ptr readMesh_driver(const boost::python::list& args);
40
46escript::Domain_ptr readGmsh_driver(const boost::python::list& args);
47
73 dim_t n0=1, dim_t n1=1, dim_t n2=1, int order=1,
74 double l0=1.0, double l1=1.0, double l2=1.0,
75 bool periodic0=false, bool periodic1=false, bool periodic2=false,
76 int integrationOrder=-1, int reducedIntegrationOrder=-1,
77 bool useElementsOnFace=false,
78 bool useFullElementOrder=false, bool optimize=false,
79 const std::vector<double>& points=std::vector<double>(),
80 const std::vector<int>& tags=std::vector<int>(),
81 const std::map<std::string, int>& tagNamesToNums=std::map<std::string, int>());
82
88escript::Domain_ptr brick_driver(const boost::python::list& args);
89
115 dim_t n0 = 1, dim_t n1 = 1, int order = 1,
116 double l0 = 1.0, double l1 = 1.0,
117 bool periodic0 = false, bool periodic1 = false,
118 int integrationOrder = -1,
119 int reducedIntegrationOrder = -1,
120 bool useElementsOnFace = false,
121 bool useFullElementOrder = false,
122 bool optimize = false,
123 const std::vector<double>& points = std::vector<double>(),
124 const std::vector<int>& tags = std::vector<int>(),
125 const std::map<std::string, int>& tagNamesToNums = std::map<std::string, int>());
126
132escript::Domain_ptr rectangle_driver(const boost::python::list& args);
133
140escript::Domain_ptr meshMerge(const boost::python::list& meshList);
141
152escript::Domain_ptr glueFaces(const boost::python::list& meshList,
153 double safetyFactor = 0.2, double tolerance = 1.e-8,
154 bool optimize = false);
155
165escript::Domain_ptr joinFaces(const boost::python::list& meshList,
166 double safetyFactor = 0.2, double tolerance = 1.e-8,
167 bool optimize = false);
168
169} // end of namespace
170
171#endif // __FINLEY_DOMAINFACTORY_H__
172
#define FINLEY_DLL_API
Definition: finley/src/system_dep.h:29
index_t dim_t
Definition: DataTypes.h:66
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:43
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:76
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
Domain_ptr meshMerge(const bp::list &meshList)
Definition: finley/src/DomainFactory.cpp:1272
Domain_ptr readGmsh_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:985
Domain_ptr readMesh_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:904
Domain_ptr rectangle_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:1207
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, const vector< double > &points, const vector< int > &tags, const std::map< std::string, int > &tagNamesToNums)
Creates a 2-dimensional rectangular mesh with n0 x n1 elements over the rectangle [0,...
Definition: finley/src/DomainFactory.cpp:1170
Domain_ptr glueFaces(const bp::list &meshList, double safetyFactor, double tolerance, bool optimize)
Definition: finley/src/DomainFactory.cpp:1288
Domain_ptr brick_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:1105
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, const std::vector< double > &points, const std::vector< int > &tags, const std::map< std::string, int > &tagNamesToNums)
Creates a rectangular mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,...
Definition: finley/src/DomainFactory.cpp:1066
Domain_ptr joinFaces(const bp::list &meshList, double safetyFactor, double tolerance, bool optimize)
Definition: finley/src/DomainFactory.cpp:1300
double l2(dim_t n, const double *x, escript::JMPI mpiinfo)
returns the global L2 norm of x
Definition: PasoUtil.cpp:501