19 #ifndef GEOS_LINEARALGEBRA_MULTISCALE_PARTITIONERBASE_HPP
20 #define GEOS_LINEARALGEBRA_MULTISCALE_PARTITIONERBASE_HPP
44 static std::unique_ptr< PartitionerBase >
#define GEOS_UNUSED_VAR(...)
Mark an unused variable and silence compiler warnings.
Base class for partitioner implementations.
PartitionerBase(LinearSolverParameters::Multiscale::Coarsening params)
Constructor.
static std::unique_ptr< PartitionerBase > create(LinearSolverParameters::Multiscale::Coarsening params)
Factory method for instantiating a partitioner based on parameters.
virtual void setCoarseData(multiscale::MeshLevel &coarseMesh) const
Store auxiliary partitioning-related data on the coarse mesh.
LinearSolverParameters::Multiscale::Coarsening m_params
Coarsening parameters.
virtual ~PartitionerBase()=default
Destructor.
virtual localIndex generate(multiscale::MeshLevel const &mesh, arrayView1d< localIndex > const &partition)=0
Generate a partitioning of fine-scale mesh cells.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
Multiscale coarsening parameters.