|
| template<unsigned Bits, class Ent , class FluidFn > |
| void | peclet::core::amr::detail::cfAppendStencil (const AmrPoisson< 3, Bits > &ap, const BlockOctree< 3, Bits > &t, std::vector< Ent > &out, Index coarse, Index fine, int axis, double scale, FluidFn &&fluidOk, CfScheme scheme, const Ent &proto=Ent{}) |
| | Append the scheme's (coarse* − coarse_raw) substitution stencil for ONE directed C/F sub-face to out, scaled.
|
| |
| template<class Ent , class Csr > |
| void | peclet::core::amr::detail::compactCsr (const std::vector< std::vector< Ent > > &per, Csr &out, Index n) |
| |
| template<unsigned Bits, class RowFn , class FluidFn > |
| CfCsr | peclet::core::amr::buildCfLapDelta (const AmrPoisson< 3, Bits > &ap, const BlockOctree< 3, Bits > &t, double factor, RowFn &&rowOk, FluidFn &&fluidOk, CfScheme scheme) |
| | (∇²_scheme − ∇²_std) as a scalar CSR, ×factor (pass μ for the momentum deferred-correction RHS, 1 for a pressure-matrix delta): row i gains scale = factor·invV·(αA/d)·(±1) per directed C/F face (+ for a coarser neighbour's substituted value, − for our own value substituted at a finer sub-face) — the same construction as Multigrid's quad CSR.
|
| |
| template<unsigned Bits, class RowFn , class FluidFn > |
| CfCompCsr | peclet::core::amr::buildCfDivDelta (const AmrPoisson< 3, Bits > &ap, const BlockOctree< 3, Bits > &t, RowFn &&rowOk, FluidFn &&fluidOk, CfScheme scheme) |
| | (D_scheme − D_std) for the face-average divergence div_i = invV·Σ α·A·dir·(face value).
|
| |
| template<unsigned Bits, class RowFn , class FluidFn > |
| std::array< CfCsr, 3 > | peclet::core::amr::buildCfGradDelta (const AmrPoisson< 3, Bits > &ap, const BlockOctree< 3, Bits > &t, RowFn &&rowOk, FluidFn &&fluidOk, CfScheme scheme) |
| | (G_scheme − G_std) for the ABC cell gradient gradOf/grad3.
|
| |
| template<unsigned Bits, class FluidFn > |
| CfUfDelta | peclet::core::amr::buildCfUfDelta (const AmrPoisson< 3, Bits > &ap, const BlockOctree< 3, Bits > &t, FluidFn &&fluidOk, CfScheme scheme) |
| |
| void | peclet::core::amr::cfApplyHost (const CfCsr &c, const std::vector< double > &f, std::vector< double > &out) |
| | out(i) += Σ coef·f(slot) (the scalar overlay: momentum ∇² delta, gradient delta per axis).
|
| |
| void | peclet::core::amr::cfApplyCompHost (const CfCompCsr &c, const std::array< std::vector< double >, 3 > &u, std::vector< double > &out) |
| | out(i) += Σ coef·u[comp](slot) (the divergence overlay).
|
| |
| CfCsrDev | peclet::core::amr::uploadCfCsr (const CfCsr &h, const char *name) |
| |
| CfCompCsrDev | peclet::core::amr::uploadCfCompCsr (const CfCompCsr &h, const char *name) |
| |
| void | peclet::core::amr::cfApply (const CfCsrDev &c, View< const double > f, View< double > out) |
| | out(i) += Σ coef·f(slot).
|
| |
| void | peclet::core::amr::cfApplyComp (const CfCompCsrDev &c, View< const double > u0, View< const double > u1, View< const double > u2, View< double > out) |
| | out(i) += Σ coef·u[comp](slot).
|
| |