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_ |
Definition at line 52 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 64 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 80 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 10 of file SundancePartitionedRectangleMesher.cpp.
virtual Sundance::PartitionedRectangleMesher::~PartitionedRectangleMesher | ( | ) | [inline, virtual] |
Definition at line 98 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 32 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 101 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 50 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 116 of file SundancePartitionedRectangleMesher.hpp.
double Sundance::PartitionedRectangleMesher::ax_ [private] |
Definition at line 128 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
double Sundance::PartitionedRectangleMesher::ay_ [private] |
Definition at line 137 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
double Sundance::PartitionedRectangleMesher::bx_ [private] |
Definition at line 130 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
double Sundance::PartitionedRectangleMesher::by_ [private] |
Definition at line 139 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
int Sundance::PartitionedRectangleMesher::npx_ [private] |
Definition at line 134 of file SundancePartitionedRectangleMesher.hpp.
Referenced by fillMesh(), and PartitionedRectangleMesher().
int Sundance::PartitionedRectangleMesher::npy_ [private] |
Definition at line 143 of file SundancePartitionedRectangleMesher.hpp.
Referenced by fillMesh(), and PartitionedRectangleMesher().
int Sundance::PartitionedRectangleMesher::nx_ [private] |
Definition at line 132 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().
int Sundance::PartitionedRectangleMesher::ny_ [private] |
Definition at line 141 of file SundancePartitionedRectangleMesher.hpp.
Referenced by description(), and fillMesh().