|
peclet-amr 0.2.0
Block-local-Morton AMR octree + collocated cut-cell Navier–Stokes solver (header-only C++20, Kokkos + MPI)
|
#include <algorithm>#include <cstddef>#include <string>#include <vector>#include "peclet/amr/common.hpp"#include "peclet/core/decomp/block_decomposer.hpp"#include "peclet/core/decomp/stage_target.hpp"Go to the source code of this file.
Classes | |
| struct | peclet::amr::PressureStagePolicy |
| Which stage the distributed pressure ladder uses where its in-place lift blocks (docs/amr_mg_depth.md §5.6, WO4b; docs/amr_mg_core_boundary.md §11.1, §9.6, §9.7). More... | |
| struct | peclet::amr::MgLevelPrediction< Dim > |
| One predicted level of the pressure ladder (docs/amr_mg_depth.md §6.7). More... | |
| struct | peclet::amr::MgLadderPrediction< Dim > |
The whole predicted ladder: what predictPressureLadder returns and what peclet.amr.predict_hierarchy hands to Python as a dict. More... | |
Namespaces | |
| namespace | peclet |
| namespace | peclet::amr |
| namespace | peclet::amr::detail |
Enumerations | |
| enum class | peclet::amr::MgLevelKind { peclet::amr::Octree , peclet::amr::Lifted , peclet::amr::Tail , peclet::amr::Sibling , peclet::amr::Repartition } |
| Where a predicted level comes from. More... | |
| enum class | peclet::amr::MgBottomKind { peclet::amr::Jacobi , peclet::amr::Amg } |
| What solves the coarsest level. More... | |
Functions | |
| template<int Dim> | |
| bool | peclet::amr::amrStageLiftable (const core::decomp::BlockDecomposer< Dim > &dec) |
| amr's lift rule (docs/amr_mg_depth.md §6.2) as core's stage predicate: the level grid halves into a cube level with at least two cells per axis, and every block is even in origin and size on EVERY axis. | |
| const char * | peclet::amr::toString (MgLevelKind k) |
| const char * | peclet::amr::toString (MgBottomKind k) |
| template<int Dim> | |
| Index | peclet::amr::detail::maxExtent (const IVec< Dim > &G) |
| template<int Dim> | |
| bool | peclet::amr::detail::gridCanHalve (const IVec< Dim > &G, Index bottomExtent) |
| The grid half of the §6.2 rule: stop when the bottom smoother is already exact, and when the grid cannot halve into a cube level with at least two cells per axis. | |
| template<int Dim> | |
| long long | peclet::amr::detail::cellsOf (const IVec< Dim > &G) |
| template<int Dim> | |
| void | peclet::amr::detail::pushLevel (MgLadderPrediction< Dim > &p, const IVec< Dim > &G, MgLevelKind kind) |
| template<int Dim> | |
| MgLadderPrediction< Dim > | peclet::amr::predictPressureLadder (IVec< Dim > G, unsigned lmax, int numRanks, Index bottomExtent=4, const PressureStagePolicy &policy={}) |
Predict the pressure-multigrid ladder for a global ROOT grid G (in root cells, i.e. | |