26#include <initializer_list>
32class StructuredBlockForest;
41 using Lattice_T = walberla::blockforest::StructuredBlockForest;
45 unsigned int m_n_ghost_layers;
48 std::shared_ptr<Lattice_T> m_blocks;
49 using IBlock = walberla::domain_decomposition::IBlock;
50 std::vector<IBlock *> m_cached_blocks;
55 unsigned int n_ghost_layers);
60 [[nodiscard]]
auto get_blocks()
const {
return m_blocks; }
62 return m_cached_blocks;
64 [[nodiscard]] std::pair<Utils::Vector3d, Utils::Vector3d>
70 static_cast<int>(pos[2])}};
72 for (
auto const i : {0u, 1u, 2u}) {
73 assert(std::abs(
static_cast<double>(dim[i]) - pos[i]) < 1e-10);
79 return std::make_pair(conversion(lower_corner), conversion(upper_corner));
Vector implementation and trait types for boost qvm interoperability.
Class that runs and controls the BlockForest in waLBerla.
bool pos_in_local_halo(Utils::Vector3d const &pos) const
static Utils::Vector3i calc_grid_dimensions(Utils::Vector3d const &box_size, double agrid)
bool node_in_local_halo(Utils::Vector3i const &node) const
std::pair< Utils::Vector3d, Utils::Vector3d > get_local_domain() const
walberla::blockforest::StructuredBlockForest Lattice_T
bool node_in_local_domain(Utils::Vector3i const &node) const
auto get_ghost_layers() const
auto const & get_cached_blocks() const
auto get_local_grid_range() const
auto get_grid_dimensions() const
bool pos_in_local_domain(Utils::Vector3d const &pos) const