Go to the documentation of this file.
18 #ifndef __DUDLEY_DOMAINFACTORY_H__
19 #define __DUDLEY_DOMAINFACTORY_H__
21 #include <dudley/DudleyDomain.h>
23 #include <boost/python/list.hpp>
44 int integrationOrder = -1,
45 int reducedIntegrationOrder = -1,
46 bool optimize =
false);
58 int integrationOrder = -1,
59 int reducedIntegrationOrder = -1,
60 bool optimize =
false);
77 double l0=1.0,
double l1=1.0,
double l2=1.0,
78 bool periodic0=
false,
bool periodic1=
false,
bool periodic2=
false,
79 int integrationOrder=-1,
int reducedIntegrationOrder=-1,
80 bool useElementsOnFace=
false,
bool useFullElementOrder=
false,
108 double l0 = 1.0,
double l1 = 1.0,
109 bool periodic0 =
false,
bool periodic1 =
false,
110 int integrationOrder = -1,
111 int reducedIntegrationOrder = -1,
112 bool useElementsOnFace =
false,
113 bool useFullElementOrder =
false,
114 bool optimize =
false);
125 #endif // __DUDLEY_DOMAINFACTORY_H__
void setContactElements(ElementFile *elements)
replaces the contact element file by elements
Definition: finley/src/FinleyDomain.cpp:134
Domain_ptr brick_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:1104
int * Tag
Tag[i] is the tag of element i.
Definition: dudley/src/ElementFile.h:133
index_t minColor
minimum color value
Definition: finley/src/ElementFile.h:165
void joinFaces(double safetyFactor, double tolerance, bool optimize)
Definition: Mesh_joinFaces.cpp:49
FinleyDomain implements the AbstractContinuousDomain interface for the Finley library.
Definition: finley/src/FinleyDomain.h:139
Definition: blocktools.h:68
Definition: DudleyException.h:37
Definition: dudley/src/NodeFile.h:38
void allocTable(dim_t NE)
allocates the element table within an element file to hold NE elements
Definition: finley/src/ElementFile.cpp:77
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:736
void glueFaces(double safetyFactor, double tolerance, bool optimize)
Definition: Mesh_glueFaces.cpp:49
#define INDEX2(_X1_, _X2_, _N1_)
Definition: index.h:22
boost::shared_ptr< const ReferenceElementSet > const_ReferenceElementSet_ptr
Definition: ReferenceElementSets.h:92
int * Tag
Tag[i] is the tag of element i.
Definition: finley/src/ElementFile.h:141
index_t * Nodes
Nodes[INDEX(k, i, numNodes)] is the k-th node in the i-th element.
Definition: dudley/src/ElementFile.h:145
void setElements(ElementFile *elements)
replaces the element file by elements
Definition: DudleyDomain.cpp:106
Definition: FinleyException.h:38
Domain_ptr getPtr()
Returns smart pointer which is managing this object. If one does not exist yet it creates one.
Definition: AbstractDomain.cpp:38
void allocTable(dim_t NE)
allocates the element table within an element file to hold NE elements
Definition: dudley/src/ElementFile.cpp:66
Domain_ptr readGmsh(const string &fileName, int numDim, int, int, bool optimize)
reads a gmsh mesh file
Definition: dudley/src/DomainFactory.cpp:680
int * Owner
Owner[i] contains the rank that owns element i.
Definition: dudley/src/ElementFile.h:136
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:53
void createMappings(const std::vector< index_t > &dofDistribution, const std::vector< index_t > &nodeDistribution)
Definition: DudleyDomain.cpp:124
index_t * Nodes
Definition: finley/src/ElementFile.h:156
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:41
index_t maxColor
maximum color value
Definition: finley/src/ElementFile.h:168
index_t maxColor
maximum color value
Definition: dudley/src/ElementFile.h:156
Domain_ptr rectangle_driver(const bp::list &args)
Definition: dudley/src/DomainFactory.cpp:753
index_t minColor
minimum color value
Definition: dudley/src/ElementFile.h:153
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:1169
A suite of factory methods for creating 2D and 3D dudley domains.
Definition: dudley/src/Assemble.h:32
#define MPI_COMM_WORLD
Definition: EsysMPI.h:47
int * Owner
Owner[i] contains the rank that owns element i.
Definition: finley/src/ElementFile.h:144
double l2(dim_t n, const double *x, escript::JMPI mpiinfo)
returns the global L2 norm of x
Definition: PasoUtil.cpp:527
An exception class for Input/Output errors.
Definition: EsysException.h:81
index_t dim_t
Definition: DataTypes.h:90
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:71
Definition: dudley/src/ElementFile.h:64
index_t * Id
Definition: dudley/src/ElementFile.h:130
void addDiracPoints(const std::vector< double > &points, const std::vector< int > &tags)
adds Dirac delta points. Do NOT call this at any time other than construction! Using them later creat...
Definition: Mesh_addPoints.cpp:47
index_t * Color
Definition: finley/src/ElementFile.h:162
NodeFile * getNodes() const
returns a pointer to this domain's node file
Definition: finley/src/FinleyDomain.h:330
Domain_ptr readGmsh_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:984
index_t * Id
Definition: finley/src/ElementFile.h:138
NodeFile * getNodes() const
returns a pointer to this domain's node file
Definition: DudleyDomain.h:212
Domain_ptr joinFaces(const bp::list &meshList, double safetyFactor, double tolerance, bool optimize)
Definition: finley/src/DomainFactory.cpp:1299
void updateTagList()
Definition: dudley/src/ElementFile.h:187
const TagMap & getTagMap() const
returns a reference to the tag name->value map
Definition: finley/src/FinleyDomain.h:861
Domain_ptr brick_driver(const bp::list &args)
Definition: dudley/src/DomainFactory.cpp:711
void cleanupAndThrow(FinleyDomain *dom, string msg)
Definition: finley/src/DomainFactory.cpp:90
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:1065
Data load(const std::string fileName, const AbstractDomain &domain)
reads Data on domain from file in netCDF format
Definition: DataFactory.cpp:721
void allocTable(dim_t numNodes)
allocates the node table within this node file to hold numNodes nodes.
Definition: dudley/src/NodeFile.cpp:75
ElementTypeId
Definition: ReferenceElements.h:37
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:85
Domain_ptr glueFaces(const bp::list &meshList, double safetyFactor, double tolerance, bool optimize)
Definition: finley/src/DomainFactory.cpp:1287
void setElements(ElementFile *elements)
replaces the element file by elements
Definition: finley/src/FinleyDomain.cpp:122
Definition: finley/src/NodeFile.h:40
Definition: AbstractContinuousDomain.cpp:23
ElementFile * getPoints() const
returns a pointer to this domain's point (nodal) element file
Definition: finley/src/FinleyDomain.h:378
virtual void setTagMap(const std::string &name, int tag)
sets a map from a clear tag name to a tag key
Definition: DudleyDomain.cpp:1955
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:673
void setPoints(ElementFile *elements)
replaces the point element file by elements
Definition: DudleyDomain.cpp:118
void setPoints(ElementFile *elements)
replaces the point element file by elements
Definition: finley/src/FinleyDomain.cpp:140
DudleyDomain implements the AbstractContinuousDomain interface for the Dudley library.
Definition: DudleyDomain.h:121
Definition: finley/src/ElementFile.h:74
void createMappings(const IndexVector &dofDistribution, const IndexVector &nodeDistribution)
Definition: finley/src/FinleyDomain.cpp:185
index_t * Color
Definition: dudley/src/ElementFile.h:150
virtual void setTagMap(const std::string &name, int tag)
sets a map from a clear tag name to a tag key
Definition: finley/src/FinleyDomain.cpp:2606
void setFaceElements(ElementFile *elements)
replaces the face element file by elements
Definition: DudleyDomain.cpp:112
std::map< std::string, int > TagMap
Definition: finley/src/FinleyDomain.h:125
Definition: ReferenceElementSets.h:39
void setFaceElements(ElementFile *elements)
replaces the face element file by elements
Definition: finley/src/FinleyDomain.cpp:128
Domain_ptr rectangle_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:1206
void updateTagList()
Definition: finley/src/ElementFile.h:191
A suite of factory methods for creating various finley domains.
Definition: finley/src/Assemble.h:32
void cleanupAndThrow(DudleyDomain *dom, string msg)
Definition: dudley/src/DomainFactory.cpp:85
void allocTable(dim_t numNodes)
allocates the node table within this node file to hold numNodes nodes.
Definition: finley/src/NodeFile.cpp:139
An exception class that signals an invalid argument value.
Definition: EsysException.h:101
ElementTypeId
Definition: ElementType.h:37
AbstractContinuousDomain, base class for continuous domains.
Definition: AbstractContinuousDomain.h:58
Domain_ptr readMesh_driver(const bp::list &args)
Definition: finley/src/DomainFactory.cpp:903
Domain_ptr meshMerge(const bp::list &meshList)
Definition: finley/src/DomainFactory.cpp:1271
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:688
std::vector< index_t > IndexVector
Definition: DataTypes.h:88