MOAB: Mesh Oriented datABase
(version 5.4.1)
|
#include <ParallelHelperInterface.hpp>
Public Member Functions | |
virtual void | set_parallel_mesh (ParallelMesh *mesh)=0 |
virtual void | set_communicator (size_t comm)=0 |
virtual void | set_communication_model (int model, MsqError &)=0 |
virtual void | set_generate_random_numbers (int grn, MsqError &)=0 |
virtual | ~ParallelHelper () |
Protected Member Functions | |
virtual void | smoothing_init (MsqError &)=0 |
virtual void | compute_first_independent_set (std::vector< Mesh::VertexHandle > &fixed_vertices)=0 |
virtual void | communicate_first_independent_set (MsqError &)=0 |
virtual bool | compute_next_independent_set ()=0 |
virtual bool | get_next_partition_boundary_vertex (MBMesquite::Mesh::VertexHandle &vertex_handle)=0 |
virtual void | communicate_next_independent_set (MsqError &)=0 |
virtual void | smoothing_close (MsqError &)=0 |
virtual int | get_rank () const =0 |
virtual int | get_nprocs () const =0 |
virtual bool | is_our_element (Mesh::ElementHandle element_handle, MsqError &) const =0 |
virtual bool | is_our_vertex (Mesh::VertexHandle vertex_handle, MsqError &) const =0 |
virtual void | communicate_min_max_to_all (double *minimum, double *maximum, MsqError &) const =0 |
virtual void | communicate_min_max_to_zero (double *minimum, double *maximum, MsqError &) const =0 |
virtual void | communicate_sums_to_zero (size_t *freeElementCount, int *invertedElementCount, size_t *elementCount, int *invertedSampleCount, size_t *sampleCount, long unsigned int *count, long unsigned int *invalid, double *sum, double *sqrSum, MsqError &) const =0 |
virtual void | communicate_power_sum_to_zero (double *pMean, MsqError &) const =0 |
virtual void | communicate_histogram_to_zero (std::vector< int > &histogram, MsqError &) const =0 |
virtual void | communicate_all_true (bool &value, MsqError &err) const =0 |
virtual void | communicate_any_true (bool &value, MsqError &err) const =0 |
Friends | |
class | VertexMover |
class | QualityAssessor |
is an abstract class which defines methods used by VertexMover and QualityAssessor to parallelize operations so the details and includes for MPI communication do not need to be exposed when running Mesquite in serial mode.
Definition at line 47 of file ParallelHelperInterface.hpp.
virtual MBMesquite::ParallelHelper::~ParallelHelper | ( | ) | [inline, virtual] |
Definition at line 56 of file ParallelHelperInterface.hpp.
{}
virtual void MBMesquite::ParallelHelper::communicate_all_true | ( | bool & | value, |
MsqError & | err | ||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual void MBMesquite::ParallelHelper::communicate_any_true | ( | bool & | value, |
MsqError & | err | ||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual void MBMesquite::ParallelHelper::communicate_first_independent_set | ( | MsqError & | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual void MBMesquite::ParallelHelper::communicate_histogram_to_zero | ( | std::vector< int > & | histogram, |
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual void MBMesquite::ParallelHelper::communicate_min_max_to_all | ( | double * | minimum, |
double * | maximum, | ||
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual void MBMesquite::ParallelHelper::communicate_min_max_to_zero | ( | double * | minimum, |
double * | maximum, | ||
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual void MBMesquite::ParallelHelper::communicate_next_independent_set | ( | MsqError & | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual void MBMesquite::ParallelHelper::communicate_power_sum_to_zero | ( | double * | pMean, |
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual void MBMesquite::ParallelHelper::communicate_sums_to_zero | ( | size_t * | freeElementCount, |
int * | invertedElementCount, | ||
size_t * | elementCount, | ||
int * | invertedSampleCount, | ||
size_t * | sampleCount, | ||
long unsigned int * | count, | ||
long unsigned int * | invalid, | ||
double * | sum, | ||
double * | sqrSum, | ||
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual void MBMesquite::ParallelHelper::compute_first_independent_set | ( | std::vector< Mesh::VertexHandle > & | fixed_vertices | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual bool MBMesquite::ParallelHelper::compute_next_independent_set | ( | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual bool MBMesquite::ParallelHelper::get_next_partition_boundary_vertex | ( | MBMesquite::Mesh::VertexHandle & | vertex_handle | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual int MBMesquite::ParallelHelper::get_nprocs | ( | ) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual int MBMesquite::ParallelHelper::get_rank | ( | ) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual bool MBMesquite::ParallelHelper::is_our_element | ( | Mesh::ElementHandle | element_handle, |
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::QualityAssessor::loop_over_mesh_internal().
virtual bool MBMesquite::ParallelHelper::is_our_vertex | ( | Mesh::VertexHandle | vertex_handle, |
MsqError & | |||
) | const [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
virtual void MBMesquite::ParallelHelper::set_communication_model | ( | int | model, |
MsqError & | |||
) | [pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
virtual void MBMesquite::ParallelHelper::set_communicator | ( | size_t | comm | ) | [pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
virtual void MBMesquite::ParallelHelper::set_generate_random_numbers | ( | int | grn, |
MsqError & | |||
) | [pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
virtual void MBMesquite::ParallelHelper::set_parallel_mesh | ( | ParallelMesh * | mesh | ) | [pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
virtual void MBMesquite::ParallelHelper::smoothing_close | ( | MsqError & | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
virtual void MBMesquite::ParallelHelper::smoothing_init | ( | MsqError & | ) | [protected, pure virtual] |
Implemented in MBMesquite::ParallelHelperImpl.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
friend class QualityAssessor [friend] |
Reimplemented in MBMesquite::ParallelHelperImpl.
Definition at line 70 of file ParallelHelperInterface.hpp.
friend class VertexMover [friend] |
Reimplemented in MBMesquite::ParallelHelperImpl.
Definition at line 59 of file ParallelHelperInterface.hpp.