Public Member Functions | |
| PartitionedRectangleMesher (double ax, double bx, int nx, int npx, double ay, double by, int ny, int npy, const MeshType &meshType, int verbosity=0, const MPIComm &comm=MPIComm::world()) | |
| PartitionedRectangleMesher (double ax, double bx, int nx, double ay, double by, int ny, const MeshType &meshType, int verbosity=0, const MPIComm &comm=MPIComm::world()) | |
| PartitionedRectangleMesher (const ParameterList ¶ms) | |
| virtual | ~PartitionedRectangleMesher () |
| virtual std::string | description () const |
| virtual RCP< MeshSourceBase > | getRcp () |
Static Public Member Functions | |
| static void | balanceXY (int n, int *npx, int *npy) |
Protected Member Functions | |
| virtual Mesh | fillMesh () const |
Private Attributes | |
| double | ax_ |
| double | bx_ |
| int | nx_ |
| int | npx_ |
| double | ay_ |
| double | by_ |
| int | ny_ |
| int | npy_ |
PartitionedRectangleMesher meshes the rectangle
with
elements per processor. The rectangle is partitioned among processors, with
equal sized subdomains in the
direction and
in the
direction.
Definition at line 63 of file SundancePartitionedRectangleMesher.hpp.
| Sundance::PartitionedRectangleMesher::PartitionedRectangleMesher | ( | double | ax, |
| double | bx, | ||
| int | nx, | ||
| int | npx, | ||
| double | ay, | ||
| double | by, | ||
| int | ny, | ||
| int | npy, | ||
| const MeshType & | meshType, | ||
| int | verbosity = 0, |
||
| const MPIComm & | comm = MPIComm::world() |
||
| ) | [inline] |
Set up meshing of the rectangle
with
elements per processor. The rectangle is partitioned among processors, with
equal sized subdomains in the
direction and
in the
direction.
Definition at line 75 of file SundancePartitionedRectangleMesher.hpp.
| Sundance::PartitionedRectangleMesher::PartitionedRectangleMesher | ( | double | ax, |
| double | bx, | ||
| int | nx, | ||
| double | ay, | ||
| double | by, | ||
| int | ny, | ||
| const MeshType & | meshType, | ||
| int | verbosity = 0, |
||
| const MPIComm & | comm = MPIComm::world() |
||
| ) | [inline] |
Set up meshing of the rectangle
with
elements per processor. The balance() function is used to choose npx and npy.
Definition at line 91 of file SundancePartitionedRectangleMesher.hpp.
References balanceXY(), Sundance::MeshSourceBase::comm(), Playa::MPIComm::getNProc(), npx_, and npy_.
| PartitionedRectangleMesher::PartitionedRectangleMesher | ( | const ParameterList & | params | ) |
Create a rectangle mesher from a ParameterList
Definition at line 52 of file SundancePartitionedRectangleMesher.cpp.
| virtual Sundance::PartitionedRectangleMesher::~PartitionedRectangleMesher | ( | ) | [inline, virtual] |
Definition at line 109 of file SundancePartitionedRectangleMesher.hpp.
| void PartitionedRectangleMesher::balanceXY | ( | int | n, |
| int * | npx, | ||
| int * | npy | ||
| ) | [static] |
Find a nearly equal balance between X and Y partitions
Definition at line 74 of file SundancePartitionedRectangleMesher.cpp.
Referenced by Sundance::RectangleDomain::init(), and PartitionedRectangleMesher().
| virtual std::string Sundance::PartitionedRectangleMesher::description | ( | ) | const [inline, virtual] |
Print a short descriptive std::string
Reimplemented from Sundance::MeshSourceBase.
Definition at line 112 of file SundancePartitionedRectangleMesher.hpp.
References ax_, ay_, bx_, by_, nx_, ny_, and Sundance::toString().
| Mesh PartitionedRectangleMesher::fillMesh | ( | ) | const [protected, virtual] |
Implements Sundance::MeshSourceBase.
Definition at line 92 of file SundancePartitionedRectangleMesher.cpp.
References Sundance::Mesh::addElement(), Sundance::Mesh::addVertex(), ax_, ay_, bx_, by_, Sundance::MeshSourceBase::createMesh(), Sundance::Mesh::freezeTopology(), Sundance::MeshSourceBase::myRank(), Sundance::MeshSourceBase::nProc(), npx_, npy_, nx_, ny_, SUNDANCE_OUT, and Playa::ObjectWithVerbosity::verb().
| virtual RCP<MeshSourceBase> Sundance::PartitionedRectangleMesher::getRcp | ( | ) | [inline, virtual] |
Return a ref count pointer to self
Implements Playa::Handleable< MeshSourceBase >.
Definition at line 127 of file SundancePartitionedRectangleMesher.hpp.
double Sundance::PartitionedRectangleMesher::ax_ [private] |
Definition at line 139 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
double Sundance::PartitionedRectangleMesher::ay_ [private] |
Definition at line 148 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
double Sundance::PartitionedRectangleMesher::bx_ [private] |
Definition at line 141 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
double Sundance::PartitionedRectangleMesher::by_ [private] |
Definition at line 150 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
int Sundance::PartitionedRectangleMesher::npx_ [private] |
Definition at line 145 of file SundancePartitionedRectangleMesher.hpp.
Referenced by fillMesh(), and PartitionedRectangleMesher().
int Sundance::PartitionedRectangleMesher::npy_ [private] |
Definition at line 154 of file SundancePartitionedRectangleMesher.hpp.
Referenced by fillMesh(), and PartitionedRectangleMesher().
int Sundance::PartitionedRectangleMesher::nx_ [private] |
Definition at line 143 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
int Sundance::PartitionedRectangleMesher::ny_ [private] |
Definition at line 152 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().