Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana_Grid_LoadBalancer.hpp File Reference

Load Balancer. More...

#include <Cabana_Grid_GlobalGrid.hpp>
#include <Cabana_Grid_Types.hpp>
#include <Kokkos_Core.hpp>
#include <Kokkos_Profiling_ScopedRegion.hpp>
#include <ALL.hpp>
#include <mpi.h>
#include <array>
#include <cmath>
#include <memory>
#include <vector>
Include dependency graph for Cabana_Grid_LoadBalancer.hpp:

Go to the source code of this file.

Classes

class  Cabana::Grid::Experimental::LoadBalancer< UniformMesh< Scalar, NumSpaceDim > >
 Load Balancer for global grid. More...
 

Namespaces

namespace  Cabana
 Core: particle data structures and algorithms.
 

Functions

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< LoadBalancer< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::Experimental::createLoadBalancer (MPI_Comm comm, const std::shared_ptr< GlobalGrid< UniformMesh< Scalar, NumSpaceDim > > > &global_grid)
 Create a load balancer.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< LoadBalancer< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::Experimental::createLoadBalancer (MPI_Comm comm, const std::shared_ptr< GlobalGrid< UniformMesh< Scalar, NumSpaceDim > > > &global_grid, const double min_domain_size)
 Create a load balancer.
 
template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< LoadBalancer< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::Experimental::createLoadBalancer (MPI_Comm comm, const std::shared_ptr< GlobalGrid< UniformMesh< Scalar, NumSpaceDim > > > &global_grid, const std::array< double, NumSpaceDim > min_domain_size)
 Create a load balancer.
 

Detailed Description

Load Balancer.

Function Documentation

◆ createLoadBalancer() [1/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< LoadBalancer< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::Experimental::createLoadBalancer ( MPI_Comm comm,
const std::shared_ptr< GlobalGrid< UniformMesh< Scalar, NumSpaceDim > > > & global_grid )

Create a load balancer.

Parameters
commMPI communicator to use for load balancing communication.
global_gridThe initial global grid.

◆ createLoadBalancer() [2/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< LoadBalancer< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::Experimental::createLoadBalancer ( MPI_Comm comm,
const std::shared_ptr< GlobalGrid< UniformMesh< Scalar, NumSpaceDim > > > & global_grid,
const double min_domain_size )

Create a load balancer.

Parameters
commMPI communicator to use for load balancing communication.
global_gridThe initial global grid.
min_domain_sizeThe minimal domain size in any dimension.

◆ createLoadBalancer() [3/3]

template<class Scalar, std::size_t NumSpaceDim>
std::shared_ptr< LoadBalancer< UniformMesh< Scalar, NumSpaceDim > > > Cabana::Grid::Experimental::createLoadBalancer ( MPI_Comm comm,
const std::shared_ptr< GlobalGrid< UniformMesh< Scalar, NumSpaceDim > > > & global_grid,
const std::array< double, NumSpaceDim > min_domain_size )

Create a load balancer.

Parameters
commMPI communicator to use for load balancing communication.
global_gridThe initial global grid.
min_domain_sizeThe minimal domain size in each dimension.
Returns
Shared pointer to a LoadBalancer.