|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Namespaces | |
| namespace | bcdetail |
| namespace | ccdetail |
| namespace | scg |
| namespace | sco |
| namespace | skr |
| The device slots of the resident pass, and the stop codes (exact in double). | |
| namespace | smg |
| namespace | varrho |
| namespace | vof |
Classes | |
| class | AndersonAccelerator |
| struct | B3 |
| struct | BcVelFace |
| struct | BcVelFaces |
| struct | BottomDirect |
| struct | BottomFactorKernel |
| struct | BottomKernel |
| struct | BottomLabelKernel |
| struct | BottomLevel |
| struct | BottomPlanes |
| struct | C3 |
| struct | CcNbrs |
| struct | ChebCoeffs |
| The Chebyshev coefficient recurrence (Golub-Varga; the form multigrid Chebyshev smoothers use). More... | |
| struct | Closure |
| struct | Colocated |
| class | CutcellMG |
| struct | Ext3 |
| struct | FieldFaceProps |
| class | FlowReference |
| struct | GpOverlayT |
| Per-overlay-row SoA. More... | |
| struct | I3 |
| struct | IbmOverlayT |
| class | MgPoisson |
| struct | Off3 |
| struct | ScalarCutState |
The per-cut-cell-scalar state (ScalarField::cut). More... | |
| struct | ScalarField |
| struct | ScalarKrylovOps |
| The injected pieces as callables (host-side calls that launch kernels; the overhead of the indirection is nothing next to a block-wide kernel). More... | |
| struct | ScalarKrylovResult |
Outcome of one scalarBiCGStab call. More... | |
| class | ScalarMG |
| struct | ScalarVec |
| A Krylov vector (§5.1): the fluid field and, for a conjugate scalar, the solid field (WO-7). More... | |
| struct | ScalarWallSpec |
Wall condition per body (§1.1, §8.1 set_scalar_wall), in the caller's PHYSICAL units; the conversion to internal units is done at advance time (§1.2). More... | |
| class | Solver |
| struct | Staggered |
| struct | StarOverlay |
| One entry per eliminated solid-centered cell: packed INNER flat index + the apertures of its (up to 6) faces to FLUID-CENTERED axis neighbours (order: +x,-x,+y,-y,+z,-z; 0 where the neighbour is solid-centered or the face is closed). More... | |
| struct | SumMax |
| {sum, max|.|} reduction value. More... | |
| struct | T3 |
| struct | UniformFaceProps |
| struct | VarFaceProps |
| class | VelocityMG |
Typedefs | |
| using | IMem = Kokkos::DefaultExecutionSpace::memory_space |
| template<class Real > | |
| using | IbmOverlayReal = IbmOverlayT< IMem, Real > |
| using | IbmSolver = Solver< Staggered > |
| template<class Real > | |
| using | GpOverlayReal = GpOverlayT< CCMem, Real > |
| using | GpOverlay = GpOverlayReal< float > |
| using | MConst = Kokkos::View< const float *, CCMem > |
| using | BExec = Kokkos::DefaultExecutionSpace |
| using | BMem = BExec::memory_space |
| using | BField = Kokkos::View< double *, BMem > |
| using | CCExec = Kokkos::DefaultExecutionSpace |
| using | CCMem = CCExec::memory_space |
| using | CCField = Kokkos::View< double *, CCMem > |
| using | CCConst = Kokkos::View< const double *, CCMem > |
| using | MReal = float |
| using | FPV = Kokkos::View< MReal *, CCMem > |
| using | FPC = Kokkos::View< const MReal *, CCMem > |
| using | mreal = MReal |
| using | IbmOverlay = IbmOverlayT< IMem, mreal > |
| using | GpOverlayMReal = GpOverlayReal< mreal > |
| using | Exec = Kokkos::DefaultExecutionSpace |
| using | Mem = Exec::memory_space |
| using | DField = Kokkos::View< double *, Mem > |
| using | DConst = Kokkos::View< const double *, Mem > |
| using | SExec = Kokkos::DefaultExecutionSpace |
| using | SMem = SExec::memory_space |
| using | SField = Kokkos::View< double *, SMem > |
| using | SConst = Kokkos::View< const double *, SMem > |
| using | TExec = Kokkos::DefaultExecutionSpace |
| using | TMem = TExec::memory_space |
| using | TField = Kokkos::View< double *, TMem > |
| using | TConst = Kokkos::View< const double *, TMem > |
| template<class Exec > | |
| using | MDRange2 = Kokkos::MDRangePolicy< Exec, Kokkos::Rank< 2, Kokkos::Iterate::Left, Kokkos::Iterate::Left > > |
| 2-D range, first index fastest (both the tile order and the order within a tile). | |
| template<class Exec > | |
| using | MDRange3 = Kokkos::MDRangePolicy< Exec, Kokkos::Rank< 3, Kokkos::Iterate::Left, Kokkos::Iterate::Left > > |
| 3-D range, x (the first index) fastest (both the tile order and the order within a tile). | |
Enumerations | |
| enum | : int { kCaMomentum = 1 , kCaMg = 2 , kCaBoth = kCaMomentum | kCaMg } |
| enum class | ClosureKind { LinearMix , BoussinesqForce , ArrheniusMu , Table1D } |
| enum class | ScalarBc { Periodic = 0 , Neumann = 1 , Dirichlet = 2 } |
Variables | |
| constexpr const char * | kVofMomBlocksMsg |
| enable_vof_momentum x enable_vof_blocks*: refused in EITHER call order. | |
| constexpr long | kHostSerialCellCutoff = 8192L |
| constexpr long | kBottomMaxCells = 8192 |
| constexpr double | kBottomTau = 1e-5 |
| constexpr int | kBottomMaxComponents = 64 |
| constexpr int | kBottomCap = 100 |
| constexpr int | kBottomHostTeam = 8 |
| constexpr int | kBottomHostFactorTeam = 2 |
| constexpr int | kBottomMaxPlane = 192 |
| constexpr int | kBottomTile = 16 |
| constexpr double | kBottomPivotTol = 1e-6 |
| constexpr int | kBottomAttempts = 3 |
| using peclet::flow::IMem = typedef Kokkos::DefaultExecutionSpace::memory_space |
Definition at line 30 of file cut_cell_ibm.hpp.
Definition at line 154 of file cut_cell_ibm.hpp.
Definition at line 5320 of file flow_ibm.hpp.
Definition at line 111 of file ghost_projection.hpp.
| using peclet::flow::GpOverlay = typedef GpOverlayReal<float> |
Definition at line 112 of file ghost_projection.hpp.
| typedef Kokkos::View< const float *, CCMem > peclet::flow::MConst |
Definition at line 24 of file mac_approx_projection.hpp.
| using peclet::flow::BExec = typedef Kokkos::DefaultExecutionSpace |
Definition at line 19 of file mac_bc.hpp.
| using peclet::flow::BMem = typedef BExec::memory_space |
Definition at line 20 of file mac_bc.hpp.
| using peclet::flow::BField = typedef Kokkos::View<double*, BMem> |
Definition at line 21 of file mac_bc.hpp.
| using peclet::flow::CCExec = typedef Kokkos::DefaultExecutionSpace |
Definition at line 22 of file mac_cutcell.hpp.
| using peclet::flow::CCMem = typedef CCExec::memory_space |
Definition at line 23 of file mac_cutcell.hpp.
| using peclet::flow::CCField = typedef Kokkos::View<double*, CCMem> |
Definition at line 24 of file mac_cutcell.hpp.
Definition at line 25 of file mac_cutcell.hpp.
| using peclet::flow::MReal = typedef float |
Definition at line 78 of file mac_cutcell_mg.hpp.
| using peclet::flow::FPV = typedef Kokkos::View<MReal*, CCMem> |
Definition at line 80 of file mac_cutcell_mg.hpp.
Definition at line 81 of file mac_cutcell_mg.hpp.
Definition at line 24 of file mac_ibm.hpp.
Definition at line 33 of file mac_ibm.hpp.
Definition at line 38 of file mac_ibm.hpp.
| using peclet::flow::Exec = typedef Kokkos::DefaultExecutionSpace |
Definition at line 18 of file mac_reductions.hpp.
| using peclet::flow::Mem = typedef Exec::memory_space |
Definition at line 19 of file mac_reductions.hpp.
| using peclet::flow::DField = typedef Kokkos::View<double*, Mem> |
Definition at line 20 of file mac_reductions.hpp.
Definition at line 21 of file mac_reductions.hpp.
| using peclet::flow::SExec = typedef Kokkos::DefaultExecutionSpace |
Definition at line 21 of file mac_stencils.hpp.
| using peclet::flow::SMem = typedef SExec::memory_space |
Definition at line 22 of file mac_stencils.hpp.
| using peclet::flow::SField = typedef Kokkos::View<double*, SMem> |
Definition at line 23 of file mac_stencils.hpp.
Definition at line 24 of file mac_stencils.hpp.
| using peclet::flow::TExec = typedef Kokkos::DefaultExecutionSpace |
Definition at line 18 of file mac_transfer.hpp.
| using peclet::flow::TMem = typedef TExec::memory_space |
Definition at line 19 of file mac_transfer.hpp.
| using peclet::flow::TField = typedef Kokkos::View<double*, TMem> |
Definition at line 20 of file mac_transfer.hpp.
Definition at line 21 of file mac_transfer.hpp.
| using peclet::flow::MDRange2 = typedef Kokkos::MDRangePolicy<Exec, Kokkos::Rank<2, Kokkos::Iterate::Left, Kokkos::Iterate::Left> > |
2-D range, first index fastest (both the tile order and the order within a tile).
Definition at line 31 of file policy.hpp.
| using peclet::flow::MDRange3 = typedef Kokkos::MDRangePolicy<Exec, Kokkos::Rank<3, Kokkos::Iterate::Left, Kokkos::Iterate::Left> > |
3-D range, x (the first index) fastest (both the tile order and the order within a tile).
Definition at line 36 of file policy.hpp.
| anonymous enum : int |
| Enumerator | |
|---|---|
| kCaMomentum | |
| kCaMg | |
| kCaBoth | |
Definition at line 874 of file mac_cutcell_mg.hpp.
|
strong |
| Enumerator | |
|---|---|
| LinearMix | |
| BoussinesqForce | |
| ArrheniusMu | |
| Table1D | |
Definition at line 28 of file property_closures.hpp.
|
strong |
| Enumerator | |
|---|---|
| Periodic | |
| Neumann | |
| Dirichlet | |
Definition at line 36 of file scalar_transport.hpp.
|
inline |
Definition at line 73 of file collocated_varrho.hpp.
Referenced by peclet::flow::Solver< Grid >::buildRhsColoVar().
|
inline |
Definition at line 102 of file collocated_varrho.hpp.
References peclet::flow::vof::csfFaceCurvature(), and peclet::flow::vof::csfFaceForce().
Referenced by peclet::flow::Solver< Grid >::buildRhsColoVar().
|
inline |
Definition at line 126 of file collocated_varrho.hpp.
References peclet::flow::varrho::faceMassWeighted(), and U.
Referenced by peclet::flow::Solver< Grid >::projectAssembleDivergence().
|
inline |
Definition at line 149 of file collocated_varrho.hpp.
References peclet::flow::varrho::cellFromFaces().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
Definition at line 34 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry(), and poly_D_slip().
Definition at line 38 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry(), and poly_N_nb_slip().
Definition at line 42 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry(), and poly_Nc_slip().
Definition at line 46 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 50 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 54 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 58 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 62 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 97 of file cut_cell_ibm.hpp.
References poly_N_nb().
Referenced by ibmFillEntry().
Definition at line 101 of file cut_cell_ibm.hpp.
References poly_Nc().
Referenced by ibmFillEntry().
Definition at line 106 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 110 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 114 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 118 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 122 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 126 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 130 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
Definition at line 134 of file cut_cell_ibm.hpp.
Referenced by ibmFillEntry().
| void peclet::flow::ibmFillEntry | ( | const OV & | o, |
| int | list_idx, | ||
| int | c_idx, | ||
| typename OV::value_type | sdf_c, | ||
| const typename OV::value_type | sdf_n[6], | ||
| int | bc_type, | ||
| const typename OV::value_type * | thEx, | ||
| const typename OV::value_type * | lamAxis = nullptr, |
||
| int * | sandwichSkipped = nullptr |
||
| ) |
Definition at line 163 of file cut_cell_ibm.hpp.
References poly_D(), poly_D_avg(), poly_D_sandwich(), poly_D_sandwich_avg(), poly_D_slip(), poly_N_c_sandwich(), poly_N_c_sandwich_avg(), poly_N_nb(), poly_N_nb_slip(), poly_Nbc(), poly_Nbc_avg(), poly_Nbc_mp_sw(), poly_Nbc_mp_sw_avg(), poly_Nbc_pp_sw(), poly_Nbc_pp_sw_avg(), poly_Nc(), poly_Nc_avg(), poly_Nc_slip(), and poly_Nnb_avg().
| void peclet::flow::ibmFillEntry | ( | const OV & | o, |
| int | list_idx, | ||
| int | c_idx, | ||
| typename OV::value_type | sdf_c, | ||
| const typename OV::value_type | sdf_n[6], | ||
| int | bc_type | ||
| ) |
Definition at line 312 of file cut_cell_ibm.hpp.
|
inline |
Definition at line 327 of file cut_cell_ibm.hpp.
References AC.
Referenced by peclet::flow::Solver< Grid >::buildAdvStencil(), ibmBuildDiffusion(), main(), and peclet::flow::Solver< Grid >::rebuildStencils().
|
inline |
Definition at line 350 of file cut_cell_ibm.hpp.
References AC, and ibmBuildDiffusion().
|
inline |
Definition at line 361 of file cut_cell_ibm.hpp.
Referenced by peclet::flow::Solver< Grid >::buildAdvStencilVar(), and peclet::flow::Solver< Grid >::rebuildStencils().
|
inline |
Definition at line 395 of file cut_cell_ibm.hpp.
References AC.
Referenced by peclet::flow::Solver< Grid >::buildAdvStencil(), peclet::flow::Solver< Grid >::buildAdvStencilVar(), main(), and peclet::flow::Solver< Grid >::rebuildStencils().
|
inline |
Directional cell-center gradient (collocated ghost path) of a cell field p whose solid-centered rows are DECOUPLED (hold 0): central difference where both axis neighbours are fluid-centered; 2nd-order one-sided toward the fluid where a neighbour center is solid ((-3p_i + 4p_{i+1} - p_{i+2})/2, falling back to the 2-point one-sided when the +/-2 cell is solid too); 0 when sandwiched.
Never reads a solid cell's value — reading the decoupled 0 is a GAUGE-DEPENDENT O(1) gradient error (measured in tests/study/ghost_collocated_apriori.py [C2]: the mode-0 central difference grows O(1/h) at cut cells, the openness-weighted kernels are O(1)/O(h); this operator is O(h^2) and exactly gauge-invariant). Serves both the incremental -grad(P^n) predictor and the projection's cell correction. The sdf must be the PROJECTION's view (the fragmentation-guarded sdfGp), so pocket cells whose phi rows are decoupled are not read either. PHASE 2 (doc/anisotropic_metric.md §3/§6.5): wa is the per-axis pressure weight w_axis = 1/h_axis'^2, applied to the OUTPUT. The directional closure itself classifies by the SIGN of the SDF and interpolates by theta, so no metric reaches inside it; the weight is the whole of it, and the SAME kernel supplies both the -grad(P^n) predictor and the projection's cell correction, so neither call site scales it again. 1.0 on the isotropic path (exact).
Definition at line 35 of file gauge_exact_gradient.hpp.
Referenced by peclet::flow::Solver< Grid >::buildRhs(), peclet::flow::Solver< Grid >::buildRhsForced(), and peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 115 of file ghost_projection.hpp.
| int peclet::flow::gpWrap | ( | int | v, |
| int | n | ||
| ) |
Definition at line 130 of file ghost_projection.hpp.
Referenced by buildGpOverlay(), gpApplyDelta(), and gpDivergDelta().
|
inline |
Build the overlay over the inner grid nn from the cell-centered sdf on the extended block (ext, ghost width g).
Neighbor access: single-rank wraps periodically over the inner grid (so the +/-2 reach never depends on g); useGhost (distributed) reads straight offsets into the exchanged halo instead — requires g >= 2 and current sdf ghosts. The MDRange covers this rank's inner cells only, which IS the gp-row ownership under MPI. Overlay arrays must be sized for the worst case; returns the row count. idMap (size nn.x*nn.y*nn.z) gets slot or -1. (Exact crossings tx/ty/tz are inner-sized with wrap access — single-rank only, not lifted.)
Definition at line 143 of file ghost_projection.hpp.
References F, gpWrap(), peclet::flow::C3::x, and peclet::flow::C3::y.
Referenced by peclet::flow::Solver< Grid >::setSolidGhostProjectionOverlay().
|
inline |
Binary openness for the symmetric MG surrogate, on the extended-block layout of buildOpenness: o(face) = 1 iff the face point is fluid AND both adjacent cell centers are fluid, else 0.
buildCutcellOp on this field gives exactly the COUPLED part of the ghost operator; the whole CutcellMG hierarchy (coarsening, smoothing, GraphAMG bottom) runs on it unchanged.
Definition at line 232 of file ghost_projection.hpp.
References peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by peclet::flow::Solver< Grid >::setSolidGhostProjectionOverlay().
|
inline |
Overlay matvec correction: y(r) = rho_r * (y(r) + closure-face phi terms), where y currently holds the binary-openness (COUPLED-part) matvec.
y lives on the (extY, gbY) block, x on the (extX, gbX) block — identical single-rank (both the g=1 MG block), but distributed the +/-2 couplings need a g=2 halo, so x is the caller's staged g=2 copy while y stays on the MG block. Neighbor access: single-rank wraps over the inner grid nn; useGhost reads straight offsets into x's exchanged halo (requires gbX >= 2). Face at relative index m couples cells (i+m-1, i+m); the div coefficient c = sgn*w contributes A x += -c*x(i+m) + c*x(i+m-1) => delta = sgn*w*(x_cm - x_cp). Distinct rows per thread: no atomics.
Definition at line 261 of file ghost_projection.hpp.
References gpWrap().
|
inline |
Overlay divergence correction: d(r) = rho_r * (d(r) + closure/BC/explicit face values), where d currently holds the binary-openness divergence (divergOpen on the binary fields: COUPLED faces only).
u/v/w and d live on the solver block (extents extb, ghost width gb). u_bc = 0 (v1 stationary walls). Neighbor access: single-rank wraps over the inner grid nn; useGhost (distributed) reads straight offsets into the exchanged velocity halo (reach -1..+2, gb >= 2). Rows with no phi coupling are zeroed (decoupled). Used identically for the RHS div(u*) and the post-correction diagnostic — the diagnostic IS the residual.
Definition at line 308 of file ghost_projection.hpp.
Referenced by peclet::flow::Solver< Grid >::maxOpenDivergenceInternal(), and peclet::flow::Solver< Grid >::projectAssembleDivergence().
|
inline |
0 = off (default). Read once per call; cheap enough, and keeps the flag hot-swappable in tests.
Definition at line 51 of file ghost_projection_debug.hpp.
Referenced by gpDebugReport(), and peclet::flow::Solver< Grid >::setSolidGhostProjectionOverlay().
|
inline |
Census + optional per-row dump of the built overlay.
nn is the inner grid, nRows the row count returned by buildGpOverlay, idMap the inner-cell -> row map (-1 = no row). rank only labels the output. Host-side; copies the overlay out of device memory once.
Definition at line 60 of file ghost_projection_debug.hpp.
References gpDebugLevel(), and rhoAt().
Referenced by peclet::flow::Solver< Grid >::setSolidGhostProjectionOverlay().
|
inline |
Definition at line 31 of file mac_approx_projection.hpp.
References U.
Referenced by peclet::flow::Solver< Grid >::projectAssembleDivergence(), and peclet::flow::Solver< Grid >::seedFaceFieldFromCells().
| int peclet::flow::wallAwareFaceStencil | ( | CCConst | sdf, |
| long | i, | ||
| long | sa, | ||
| int | cFace, | ||
| int | eAxis, | ||
| double | xcen, | ||
| long | idx[3], | ||
| double | w[3] | ||
| ) |
Definition at line 69 of file mac_approx_projection.hpp.
Referenced by transposeGradWallAware(), and wallAwareFaceValue().
| double peclet::flow::wallAwareFaceValue | ( | CCConst | U, |
| CCConst | sdf, | ||
| long | i, | ||
| long | sa, | ||
| int | cFace, | ||
| int | eAxis, | ||
| double | xcen | ||
| ) |
Definition at line 127 of file mac_approx_projection.hpp.
References U, and wallAwareFaceStencil().
Referenced by centerToFaceWallAware().
|
inline |
Definition at line 144 of file mac_approx_projection.hpp.
References ccSampleExt().
Referenced by peclet::flow::Solver< Grid >::setSolidBuildOpenness().
|
inline |
Definition at line 203 of file mac_approx_projection.hpp.
References U, and wallAwareFaceValue().
Referenced by peclet::flow::Solver< Grid >::projectAssembleDivergence(), and peclet::flow::Solver< Grid >::seedFaceFieldFromCells().
|
inline |
Definition at line 242 of file mac_approx_projection.hpp.
References wallAwareFaceStencil().
Referenced by peclet::flow::Solver< Grid >::buildRhs(), peclet::flow::Solver< Grid >::buildRhsForced(), and peclet::flow::Solver< Grid >::projectCorrectVelocities().
Definition at line 275 of file mac_approx_projection.hpp.
References ccSampleExt().
Referenced by peclet::flow::Solver< Grid >::buildVofGeometry(), and peclet::flow::Solver< Grid >::setSolidBuildOpenness().
Definition at line 307 of file mac_approx_projection.hpp.
Referenced by embedDirichletGradient().
| double peclet::flow::embedDirichletGradient | ( | CCConst | U, |
| CCConst | sdf, | ||
| C3 | e, | ||
| int | x, | ||
| int | y, | ||
| int | z, | ||
| double | nx, | ||
| double | ny, | ||
| double | nz, | ||
| double | px, | ||
| double | py, | ||
| double | pz | ||
| ) |
Definition at line 330 of file mac_approx_projection.hpp.
Referenced by embedViscousApply().
|
inline |
Definition at line 433 of file mac_approx_projection.hpp.
References embedDirichletGradient(), and U.
Referenced by peclet::flow::Solver< Grid >::buildRhs().
|
inline |
Definition at line 482 of file mac_approx_projection.hpp.
References AC.
Referenced by peclet::flow::Solver< Grid >::buildRhs().
Definition at line 499 of file mac_approx_projection.hpp.
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 518 of file mac_approx_projection.hpp.
Referenced by peclet::flow::Solver< Grid >::buildRhs().
|
inline |
Definition at line 536 of file mac_approx_projection.hpp.
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 573 of file mac_approx_projection.hpp.
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 70 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims(), and peclet::flow::bcdetail::velFaceColumn().
Referenced by peclet::flow::Solver< Grid >::applyVelocityBcFace(), bcSlipComp(), and main().
|
inline |
Definition at line 106 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims(), and peclet::flow::bcdetail::velFaceColumn().
Referenced by peclet::flow::Solver< Grid >::applyVelocityBcAll(), and peclet::flow::Solver< Grid >::applyVelocityBcCompTo().
Definition at line 138 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims(), and bcVelocityComp().
Referenced by peclet::flow::Solver< Grid >::applyVelocityBcFace().
Definition at line 169 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::applyVelocityBcCompTo(), and peclet::flow::Solver< Grid >::extendSdfDomainGhosts().
|
inline |
Definition at line 200 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::applyVelocityBcCompTo().
Definition at line 229 of file mac_bc.hpp.
Referenced by bcNeumannGhost().
Definition at line 236 of file mac_bc.hpp.
Referenced by bcZeroPressureGhost().
Definition at line 246 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims(), and bcNeumannGhostCell().
Referenced by peclet::flow::CutcellMG::applyNeumannGhost(), peclet::flow::Solver< Grid >::applyVelocityBcCompTo(), peclet::flow::Solver< Grid >::buildOpenFaceField(), peclet::flow::Solver< Grid >::extendSdfDomainGhosts(), and peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 266 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::applyVelocityBcFace().
|
inline |
Definition at line 296 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::setupBcDiffusion().
Definition at line 317 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims(), and bcZeroPressureGhostCell().
Referenced by peclet::flow::CutcellMG::applyOutflowGhost(), and peclet::flow::Solver< Grid >::projectSolve().
|
inline |
Definition at line 341 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 371 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
Definition at line 402 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::fillVelGhostsTo().
|
inline |
Definition at line 418 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::Solver< Grid >::fillVelGhostsTo().
Definition at line 438 of file mac_bc.hpp.
References peclet::flow::bcdetail::axisDims().
Referenced by peclet::flow::CutcellMG::applyBoundaryOpennessFrom(), and bcZeroOpenness().
Definition at line 454 of file mac_bc.hpp.
References bcSetOpenness().
Referenced by main(), and peclet::flow::Solver< Grid >::setSolidBuildOpenness().
|
inline |
Gershgorin bounds [lo, hi] on the spectrum of the Jacobi-preconditioned cut-cell Helmholtz diag(AC)^-1 A, over the UNPINNED rows of the inner block.
Both are rigorous: lo <= lambda_min and hi >= lambda_max, so Chebyshev on [lo, hi] is unconditionally convergent. A loose lo only slows it down; a hi below lambda_max would diverge, which is why this is arithmetic and not an estimate. Rows with a vanishing diagonal (never solved) are skipped.
Definition at line 41 of file mac_cheb_momentum.hpp.
References AC.
Referenced by peclet::flow::Solver< Grid >::chebSolveComp(), and peclet::flow::VelocityMG::solve().
|
inline |
One Chebyshev update on the Jacobi-preconditioned system: d <- beta*d + alpha*r/AC ; x += d.
Pinned (solid) rows are held at zero exactly as the red-black smoother holds them, so the two solvers share a fixed point. r is expected to be the pin-aware residual (residualVarPin), which is already zero there.
Definition at line 88 of file mac_cheb_momentum.hpp.
References AC.
Referenced by peclet::flow::VelocityMG::chebSmooth(), and peclet::flow::Solver< Grid >::chebSolveComp().
| double peclet::flow::ccFractionCore | ( | double | sd, |
| double | sxp, | ||
| double | sxm, | ||
| double | syp, | ||
| double | sym, | ||
| double | szp, | ||
| double | szm, | ||
| int | type, | ||
| double | dx, | ||
| double | dy, | ||
| double | dz | ||
| ) |
Definition at line 58 of file mac_cutcell.hpp.
Referenced by ccFaceOpen(), and main().
Definition at line 82 of file mac_cutcell.hpp.
References F, peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by buildCellFraction(), buildFaceCentroidDist(), peclet::flow::Solver< Grid >::buildWallVelocity(), ccFaceOpen(), ccFaceOpenMS(), peclet::flow::Solver< Grid >::checkMovingInstancesAreCut(), ibmCleanFluidMask(), ibmSolidMask(), and ibmVolfrac().
| double peclet::flow::ccFaceOpen | ( | CCConst | sdf, |
| C3 | ext, | ||
| double | fx, | ||
| double | fy, | ||
| double | fz, | ||
| int | type, | ||
| double | dx, | ||
| double | dy, | ||
| double | dz | ||
| ) |
Definition at line 103 of file mac_cutcell.hpp.
References ccFractionCore(), and ccSampleExt().
Referenced by buildOpenness(), and buildOpennessHighFace().
Definition at line 119 of file mac_cutcell.hpp.
Referenced by ccFaceOpenMS().
| double peclet::flow::ccFaceOpenMS | ( | CCConst | sdf, |
| C3 | ext, | ||
| double | fx, | ||
| double | fy, | ||
| double | fz, | ||
| int | type | ||
| ) |
Definition at line 174 of file mac_cutcell.hpp.
References ccSampleExt(), and ccTriFrac().
Referenced by buildOpenness(), and buildOpennessHighFace().
|
inline |
Definition at line 213 of file mac_cutcell.hpp.
References buildOpenness(), ccFaceOpen(), ccFaceOpenMS(), peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by buildOpenness(), main(), and peclet::flow::Solver< Grid >::setSolidBuildOpenness().
|
inline |
Definition at line 248 of file mac_cutcell.hpp.
References ccFaceOpen(), ccFaceOpenMS(), peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by peclet::flow::Solver< Grid >::setSolidBuildOpenness().
Definition at line 286 of file mac_cutcell.hpp.
References kHostSerialCellCutoff.
Referenced by peclet::flow::ccdetail::ccRows3(), cutcellSmoothColor(), cutcellSmoothColorBox(), cutcellSmoothColorBoxFace(), cutcellSmoothColorFace(), cutcellSmoothColorFaceWrap(), peclet::flow::Solver< Grid >::fillPeriodicAxes(), peclet::flow::smg::fillShell(), peclet::flow::CutcellMG::fillWrap(), peclet::flow::smg::sweepColorBand(), peclet::flow::smg::sweepColorFace(), peclet::flow::smg::sweepColorTwo(), and peclet::flow::smg::zeroPlanes().
Definition at line 348 of file mac_cutcell.hpp.
Referenced by peclet::flow::sco::addOnUnknown(), peclet::flow::sco::advectionBands(), peclet::flow::sco::advectionResidual(), applyCutcellOp(), applyCutcellOpBox(), applyCutcellOpBoxFace(), applyCutcellOpExact(), applyCutcellOpExactBox(), applyCutcellOpExactWrap(), applyCutcellOpFace(), applyCutcellOpFaceWrap(), peclet::flow::ScalarMG::applySurrogate(), peclet::flow::ScalarMG::applySurrogateTwo(), peclet::flow::ScalarMG::assembleBands(), peclet::flow::ScalarMG::assembleCoarse(), peclet::flow::skr::axpy(), peclet::flow::skr::aypx(), peclet::flow::sco::buildBands(), peclet::flow::ScalarMG::buildCoarse(), peclet::flow::ScalarMG::buildCoarseSolid(), buildCutcellOp(), buildCutcellOpFace(), peclet::flow::ScalarMG::buildLevel0Faces(), peclet::flow::ScalarMG::buildLevel0SolidFaces(), buildPorousCoeff(), buildPorousCoeffCons(), buildPorousCoeffDrag(), buildRhoCoeff(), buildRhoCoeffHarm(), peclet::flow::sco::buildRhs(), peclet::flow::Solver< Grid >::buildRhs(), peclet::flow::Solver< Grid >::buildRhsVar(), peclet::flow::sco::buildSolidMaterial(), peclet::flow::sco::clampNonNegative(), peclet::flow::ScalarMG::coarsenAdvection(), coarsenOpenAvg(), peclet::flow::ScalarMG::contraction(), peclet::flow::Solver< Grid >::copyBlockShifted(), peclet::flow::Solver< Grid >::copyInner(), peclet::flow::FlowReference::copyInner(), divergOpen(), divergOpenEps(), peclet::flow::sco::explicitAdvectionRhs(), peclet::flow::sco::explicitFaceFluxes(), peclet::flow::sco::faceFluxes(), peclet::flow::vof::VofBlockExchange::gatherLocalLaunch(), ibmBuildDiffusionVar(), peclet::flow::sco::meanGradientAdvectionRhs(), peclet::flow::sco::meanGradientFaceRhs(), projectCorrect(), projectCorrectPorousCons(), projectCorrectPorousDrag(), projectCorrectVar(), projectCorrectVarHarm(), prolongAdd(), peclet::flow::ScalarMG::removeMean(), peclet::flow::CutcellMG::removeMean(), peclet::flow::ScalarMG::removeMeanTwo(), peclet::flow::skr::residentP(), peclet::flow::skr::residentS(), peclet::flow::skr::residentXHalf(), peclet::flow::skr::residentXR(), peclet::flow::smg::residualBand(), residualCutcell(), residualCutcellBox(), residualCutcellBoxFace(), residualCutcellFace(), residualCutcellFaceWrap(), peclet::flow::smg::residualFace(), peclet::flow::sco::residualFluxForm(), peclet::flow::skr::residualFrom(), peclet::flow::smg::residualTwo(), residualVarPin(), restrictAvg(), restrictAvgZeroX(), peclet::flow::smg::restrictMax(), peclet::flow::sco::smallCells(), peclet::flow::sco::solidBands(), peclet::flow::sco::solidFaceProducts(), peclet::flow::sco::solidMass(), peclet::flow::sco::solidMeanGradientFaceRhs(), peclet::flow::sco::solidResidualFluxForm(), peclet::flow::sco::solidRhs(), peclet::flow::sco::zeroNonUnknown(), and peclet::flow::smg::zeroPinned().
Definition at line 353 of file mac_cutcell.hpp.
Definition at line 385 of file mac_cutcell.hpp.
References peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by peclet::flow::sco::bulkCourantLocal(), peclet::flow::sco::countImplicitLocal(), peclet::flow::sco::countSmallLocal(), peclet::flow::ScalarMG::countUnknown(), peclet::flow::ScalarMG::countUnknownS(), peclet::flow::CutcellMG::dot(), peclet::flow::sco::dotReduce(), peclet::flow::CutcellMG::dotTo(), peclet::flow::sco::dotTwoReduce(), peclet::flow::Solver< Grid >::ensureScalarSolidRecord(), peclet::flow::CutcellMG::maxabs(), peclet::flow::sco::maxAbsFluxLocal(), peclet::flow::sco::maxabsReduce(), peclet::flow::CutcellMG::maxabsTo(), peclet::flow::sco::maxCellPecletLocal(), peclet::flow::ScalarMG::norm2(), peclet::flow::ScalarMG::removeMean(), peclet::flow::CutcellMG::removeMean(), peclet::flow::ScalarMG::removeMeanTwo(), and peclet::flow::sco::sourceSumLocal().
| void peclet::flow::coarsenOpenAvgCell | ( | const CV & | oxc, |
| const CV & | oyc, | ||
| const CV & | ozc, | ||
| const FV & | oxf, | ||
| const FV & | oyf, | ||
| const FV & | ozf, | ||
| C3 | cext, | ||
| C3 | fext, | ||
| int | gc, | ||
| int | gf, | ||
| C3 | ratio, | ||
| int | icx, | ||
| int | icy, | ||
| int | icz | ||
| ) |
Definition at line 87 of file mac_cutcell_mg.hpp.
References F.
Referenced by peclet::flow::ScalarMG::buildCoarse(), peclet::flow::ScalarMG::buildCoarseSolid(), peclet::flow::ScalarMG::coarsenAdvection(), and coarsenOpenAvg().
|
inline |
Definition at line 113 of file mac_cutcell_mg.hpp.
References ccFor3(), and coarsenOpenAvgCell().
Referenced by peclet::flow::CutcellMG::setOpenness().
Definition at line 139 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::saveOutflowPlanes().
|
inline |
Definition at line 154 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::applyBoundaryOpennessFrom().
|
inline |
Definition at line 176 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::applyBoundaryOpennessFrom().
| void peclet::flow::cutcellResidualCell | ( | const RV & | r, |
| const XV & | x, | ||
| const BV & | b, | ||
| const OpV & | AC, | ||
| const OpV & | AW, | ||
| const OpV & | AE, | ||
| const OpV & | AS, | ||
| const OpV & | AN, | ||
| const OpV & | AB, | ||
| const OpV & | AT, | ||
| long | i, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm | ||
| ) |
Definition at line 211 of file mac_cutcell_mg.hpp.
References AC.
Referenced by residualCutcell(), and residualCutcellBox().
|
inline |
Definition at line 221 of file mac_cutcell_mg.hpp.
References AC, ccFor3(), and cutcellResidualCell().
Referenced by DistMG::vcycle().
|
inline |
Definition at line 235 of file mac_cutcell_mg.hpp.
References AC, ccFor3(), and cutcellResidualCell().
|
inline |
Definition at line 251 of file mac_cutcell_mg.hpp.
References AC, ccFor3(), and cutcellResidualFaceCell().
Referenced by peclet::flow::CutcellMG::graphAmgSolveBottom(), and peclet::flow::CutcellMG::vcycleImpl().
|
inline |
Definition at line 262 of file mac_cutcell_mg.hpp.
References AC, ccFor3(), and cutcellResidualFaceCell().
Referenced by peclet::flow::CutcellMG::vcycleImpl().
Definition at line 294 of file mac_cutcell_mg.hpp.
Referenced by applyCutcellOpExactWrap(), applyCutcellOpFaceWrap(), cutcellSmoothColorFaceWrap(), peclet::flow::BottomKernel< FacReal >::operator()(), residualCutcellFaceWrap(), and peclet::flow::BottomLabelKernel::sweep().
|
inline |
Definition at line 306 of file mac_cutcell_mg.hpp.
References AC, ccWrapNbrs(), cutcellSmoothFaceCell(), hostRunSerial(), and PECLET_FLOW_OMP_SIMD.
Referenced by peclet::flow::CutcellMG::smooth().
|
inline |
Definition at line 347 of file mac_cutcell_mg.hpp.
References AC, ccFor3(), ccWrapNbrs(), and cutcellResidualFaceCell().
Referenced by peclet::flow::CutcellMG::vcycleImpl().
|
inline |
Definition at line 360 of file mac_cutcell_mg.hpp.
References AC, ccFor3(), ccWrapNbrs(), and cutcellApplyFaceCell().
Referenced by peclet::flow::CutcellMG::matvecOverlap().
|
inline |
Definition at line 372 of file mac_cutcell_mg.hpp.
References ccFor3(), ccWrapNbrs(), and cutcellApplyExactCell().
Referenced by peclet::flow::CutcellMG::matvecOverlap().
| void peclet::flow::restrictAvgCell | ( | const CV & | coarse, |
| const FV & | fine, | ||
| C3 | cext, | ||
| C3 | fext, | ||
| int | gc, | ||
| int | gf, | ||
| C3 | ratio, | ||
| int | icx, | ||
| int | icy, | ||
| int | icz | ||
| ) |
Definition at line 390 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::ScalarMG::buildCoarse(), restrictAvg(), and restrictAvgZeroX().
| void peclet::flow::prolongAddCell | ( | const FV & | fine, |
| const CV & | coarse, | ||
| C3 | fext, | ||
| C3 | cext, | ||
| int | gf, | ||
| int | gc, | ||
| C3 | ratio, | ||
| int | ifx, | ||
| int | ify, | ||
| int | ifz | ||
| ) |
Definition at line 406 of file mac_cutcell_mg.hpp.
Referenced by prolongAdd().
Definition at line 435 of file mac_cutcell_mg.hpp.
References mean().
Referenced by peclet::flow::CutcellMG::removeMean().
|
inline |
Definition at line 439 of file mac_cutcell_mg.hpp.
References ccFor3(), and restrictAvgCell().
Referenced by peclet::flow::ScalarMG::buildCoarse(), peclet::flow::ScalarMG::buildCoarseSolid(), peclet::flow::VelocityMG::restrictAdvVelocities(), peclet::flow::ScalarMG::restrictZeroX(), peclet::flow::VelocityMG::setStaircase(), peclet::flow::VelocityMG::vcycle(), DistMG::vcycle(), and peclet::flow::CutcellMG::vcycleImpl().
|
inline |
Definition at line 452 of file mac_cutcell_mg.hpp.
References ccFor3(), and restrictAvgCell().
Referenced by peclet::flow::ScalarMG::restrictZeroX(), and peclet::flow::CutcellMG::vcycleImpl().
|
inline |
Definition at line 462 of file mac_cutcell_mg.hpp.
References ccFor3(), and prolongAddCell().
Referenced by peclet::flow::VelocityMG::vcycle(), peclet::flow::ScalarMG::vcycle(), DistMG::vcycle(), peclet::flow::CutcellMG::vcycleImpl(), and peclet::flow::ScalarMG::vcycleTwo().
|
inline |
Definition at line 852 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::directBottomSolve(), peclet::flow::CutcellMG::evalBottomComponents(), peclet::flow::CutcellMG::init(), peclet::flow::CutcellMG::solvePCGResident(), and peclet::flow::CutcellMG::vcycle().
|
inline |
Definition at line 859 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::directBottomSolve(), and peclet::flow::CutcellMG::solvePCGResident().
Definition at line 46 of file mac_ibm.hpp.
Referenced by ibmCleanFluidMask().
|
inline |
slipLambda (WO-V6b, in CELLS, 0 = the validated no-slip closure) + comp (which velocity component this overlay carries: 0/1/2, -1 = none) turn the tangential wall Dirichlet datum into a NAVIER condition u_t(wall) = lambda du_t/dn.
Per cut cell the unit normal comes from the central difference of the SAME seven SDF samples the closure uses (grad sdf points into the fluid); the component's TANGENTIAL weight is s = 1 - n_comp^2 (0 for the component parallel to the wall normal – that one stays a pure impermeability Dirichlet – 1 for a purely tangential one), and the slip length measured along axis a is s*lambda/|n_a|, because the wall distance along that axis is the normal distance divided by |n_a|. The closure then depends only on lam_a/theta_a = s*lambda/d, the physically meaningful ratio, so the |n_a| division is self-consistent rather than a fudge.
APPROXIMATION, stated because it is not visible from the call: the projector is taken DIAGONAL, u_t,comp ~ (1 - n_comp^2) u_comp; the cross terms -n_comp n_j u_j (j != comp) are dropped. They are EXACTLY zero for an axis-aligned wall (every gate scene), and O(n_c n_j) elsewhere; carrying them would couple the three segregated component solves. sandwichSkipped (optional) counts the axes where a one-cell fluid gap made the slip closure inapplicable and the no-slip one was kept.
PHASE 2 (anisotropic cells, doc/anisotropic_metric.md §6.4). NOTHING in ibmFillEntry reads a distance — theta, D, K, M, X, Nbc, R and D_rescale are all functions of the crossing fractions along an axis, which are invariant under any positive scaling of the SDF. The metric enters in exactly ONE place, the Navier slip length: the Robin condition along axis a reduces with d/dn = (1/(h_a |n_a|)) d/dxi_a, so the slip length measured in CELLS along that axis is the physical one divided by the physical cell size ‘h_a’AND by |n_a| of the PHYSICAL normal. The normal itself is the seven-sample gradient rescaled per axis and renormalised,n_a = (g_a/h_a')/|g/h'|(§6.1), ands = 1 - n_c^2uses that same n.hpenters in FLOAT and 1.0f` is exact (trap 9), so the isotropic path is bit-identical.
Definition at line 88 of file mac_ibm.hpp.
|
inline |
Definition at line 188 of file mac_ibm.hpp.
References ccSampleExt(), peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by main(), and peclet::flow::Solver< Grid >::smoothComp().
Definition at line 249 of file mac_ibm.hpp.
References ccSampleExt(), peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by peclet::flow::Solver< Grid >::buildVelocityOverlays(), and main().
Definition at line 262 of file mac_ibm.hpp.
References ccSampleExt(), ibmIsCut(), peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 287 of file mac_ibm.hpp.
References AC, peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by ibmRbgsSweep(), main(), peclet::flow::VelocityMG::smooth(), and peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 342 of file mac_ibm.hpp.
References AC, peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.
Referenced by peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 410 of file mac_ibm.hpp.
References AC, peclet::flow::C3::x, and peclet::flow::C3::y.
Referenced by peclet::flow::VelocityMG::smooth(), and peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 446 of file mac_ibm.hpp.
References AC, peclet::flow::C3::x, and peclet::flow::C3::y.
Referenced by peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 484 of file mac_ibm.hpp.
References AC, and ibmRbgsStencilColor().
Referenced by main().
Definition at line 22 of file mac_mg.hpp.
References N.
Referenced by peclet::flow::MgPoisson::computeResidual(), peclet::flow::MgPoisson::smooth(), and peclet::flow::MgPoisson::vcycle().
| void peclet::flow::cutcellSmoothCell | ( | const PV & | phi, |
| const BV & | b, | ||
| const OpV & | AC, | ||
| const OpV & | AW, | ||
| const OpV & | AE, | ||
| const OpV & | AS, | ||
| const OpV & | AN, | ||
| const OpV & | AB, | ||
| const OpV & | AT, | ||
| long | i, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm | ||
| ) |
Definition at line 52 of file mac_pressure.hpp.
References AC.
Referenced by cutcellSmoothColor(), and cutcellSmoothColorBox().
| double peclet::flow::cutcellApplyCell | ( | const XV & | x, |
| const OpV & | AC, | ||
| const OpV & | AW, | ||
| const OpV & | AE, | ||
| const OpV & | AS, | ||
| const OpV & | AN, | ||
| const OpV & | AB, | ||
| const OpV & | AT, | ||
| long | i, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm | ||
| ) |
Definition at line 66 of file mac_pressure.hpp.
References AC.
Referenced by applyCutcellOp(), and applyCutcellOpBox().
| double peclet::flow::cutcellApplyExactCell | ( | const XV & | x, |
| const OV & | ox, | ||
| const OV & | oy, | ||
| const OV & | oz, | ||
| long | i, | ||
| long | sx, | ||
| long | sy, | ||
| long | sz, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm, | ||
| double | gfx, | ||
| double | gfy, | ||
| double | gfz | ||
| ) |
Definition at line 75 of file mac_pressure.hpp.
Referenced by applyCutcellOpExact(), applyCutcellOpExactBox(), and applyCutcellOpExactWrap().
|
inline |
Definition at line 86 of file mac_pressure.hpp.
References AC, ccFor3(), and cutcellBuildOpCell().
Referenced by DistMG::init(), and main().
| void peclet::flow::cutcellSmoothFaceCell | ( | const PV & | phi, |
| const BV & | b, | ||
| const OpV & | AC, | ||
| const OpV & | AFX, | ||
| const OpV & | AFY, | ||
| const OpV & | AFZ, | ||
| long | i, | ||
| long | sx, | ||
| long | sy, | ||
| long | sz, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm | ||
| ) |
Definition at line 137 of file mac_pressure.hpp.
References AC.
Referenced by cutcellSmoothColorBoxFace(), cutcellSmoothColorFace(), cutcellSmoothColorFaceWrap(), and peclet::flow::smg::sweepColorFace().
| double peclet::flow::cutcellApplyFaceCell | ( | const XV & | x, |
| const OpV & | AC, | ||
| const OpV & | AFX, | ||
| const OpV & | AFY, | ||
| const OpV & | AFZ, | ||
| long | i, | ||
| long | sx, | ||
| long | sy, | ||
| long | sz, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm | ||
| ) |
Definition at line 149 of file mac_pressure.hpp.
References AC.
Referenced by applyCutcellOpBoxFace(), applyCutcellOpFace(), applyCutcellOpFaceWrap(), peclet::flow::ScalarMG::applySurrogate(), and peclet::flow::BottomKernel< FacReal >::operator()().
| void peclet::flow::cutcellResidualFaceCell | ( | const RV & | r, |
| const XV & | x, | ||
| const BV & | b, | ||
| const OpV & | AC, | ||
| const OpV & | AFX, | ||
| const OpV & | AFY, | ||
| const OpV & | AFZ, | ||
| long | i, | ||
| long | sx, | ||
| long | sy, | ||
| long | sz, | ||
| long | xp, | ||
| long | xm, | ||
| long | yp, | ||
| long | ym, | ||
| long | zp, | ||
| long | zm | ||
| ) |
Definition at line 157 of file mac_pressure.hpp.
References AC.
Referenced by residualCutcellBoxFace(), residualCutcellFace(), residualCutcellFaceWrap(), and peclet::flow::smg::residualFace().
|
inline |
Definition at line 171 of file mac_pressure.hpp.
References AC, ccFor3(), and cutcellBuildFaceOpCell().
Referenced by peclet::flow::CutcellMG::setOpenness().
|
inline |
Definition at line 185 of file mac_pressure.hpp.
References AC, cutcellSmoothFaceCell(), hostRunSerial(), and PECLET_FLOW_OMP_SIMD.
Referenced by peclet::flow::CutcellMG::smooth().
|
inline |
Definition at line 224 of file mac_pressure.hpp.
References AC, cutcellSmoothFaceCell(), and hostRunSerial().
Referenced by peclet::flow::CutcellMG::smooth().
|
inline |
Definition at line 270 of file mac_pressure.hpp.
References AC, ccFor3(), and cutcellApplyFaceCell().
Referenced by peclet::flow::CutcellMG::matvecOverlap().
|
inline |
Definition at line 282 of file mac_pressure.hpp.
References AC, ccFor3(), and cutcellApplyFaceCell().
Referenced by peclet::flow::CutcellMG::matvecOverlap().
|
inline |
Definition at line 300 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::constraintDivergence(), peclet::flow::Solver< Grid >::maxOpenDivergenceInternal(), peclet::flow::Solver< Grid >::maxOpenDivergenceProjectedInternal(), and peclet::flow::Solver< Grid >::projectAssembleDivergence().
|
inline |
Definition at line 316 of file mac_pressure.hpp.
References AC, cutcellSmoothCell(), hostRunSerial(), and PECLET_FLOW_OMP_SIMD.
Referenced by peclet::flow::Solver< Grid >::advanceScalars(), and DistMG::smooth().
|
inline |
Definition at line 364 of file mac_pressure.hpp.
References AC, cutcellSmoothCell(), and hostRunSerial().
|
inline |
Definition at line 414 of file mac_pressure.hpp.
References AC, ccFor3(), and cutcellApplyCell().
Referenced by peclet::flow::ScalarMG::applySurrogate(), main(), peclet::flow::Solver< Grid >::scalarCutMatvec(), and peclet::flow::Solver< Grid >::scalarCutMatvecTwo().
|
inline |
Definition at line 430 of file mac_pressure.hpp.
References AC, ccFor3(), and cutcellApplyCell().
|
inline |
Definition at line 469 of file mac_pressure.hpp.
References ccFor3(), and cutcellApplyExactCell().
Referenced by main(), and peclet::flow::CutcellMG::matvecOverlap().
|
inline |
Definition at line 485 of file mac_pressure.hpp.
References ccFor3(), and cutcellApplyExactCell().
Referenced by peclet::flow::CutcellMG::matvecOverlap().
|
inline |
Definition at line 512 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 529 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 548 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectBuildCoefficients().
|
inline |
Definition at line 590 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectBuildCoefficients().
|
inline |
Definition at line 621 of file mac_pressure.hpp.
Referenced by peclet::flow::Solver< Grid >::projectBuildCoefficients().
|
inline |
Definition at line 644 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 668 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::maxPorousResidual(), and peclet::flow::Solver< Grid >::projectAssembleDivergence().
|
inline |
Definition at line 693 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectBuildCoefficients().
|
inline |
Definition at line 713 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectBuildCoefficients().
|
inline |
Definition at line 735 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectBuildCoefficients().
|
inline |
Definition at line 754 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
|
inline |
Definition at line 775 of file mac_pressure.hpp.
References ccFor3().
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
Definition at line 39 of file mac_reductions.hpp.
References peclet::flow::Ext3::x, and peclet::flow::Ext3::y.
Referenced by localDot(), and localSumMax().
Local sum and max|.| over the inner cells.
Definition at line 48 of file mac_reductions.hpp.
References innerToExt().
Referenced by main().
Local inner product <a,b> over the inner cells.
Definition at line 67 of file mac_reductions.hpp.
References innerToExt().
Referenced by main().
Subtract a constant from EVERY cell of the extended block (the mean-removal scatter).
Definition at line 83 of file mac_reductions.hpp.
Referenced by main().
Definition at line 30 of file mac_stencils.hpp.
References L3().
Referenced by peclet::flow::vof::WyAdvector::applySweepCut(), peclet::flow::vof::WyAdvector::applySweepImpl(), peclet::flow::vof::VofMcArea::areaPass(), peclet::flow::vof::VofBlockSet::bubbleBox(), peclet::flow::vof::VofBlockSet::buildCsfForce(), peclet::flow::vof::buildOutsideMask(), peclet::flow::vof::MomentumConsistentAdvector::buildShiftedColour(), peclet::flow::vof::MomentumConsistentAdvector::buildShiftedColourCut(), peclet::flow::vof::WyAdvector::buildWettingNormals(), peclet::flow::vof::VofCurvature::census(), peclet::flow::vof::VofInterfaceArea::census(), peclet::flow::vof::VofDynamicWetting::census(), peclet::flow::vof::VofMcArea::census(), peclet::flow::vof::clampFill(), peclet::flow::vof::WyAdvector::classifyGeometry(), peclet::flow::vof::WyAdvector::clipCutCellsImpl(), peclet::flow::vof::VofCurvature::clipPass(), peclet::flow::vof::VofBlockSet::clipToSeed(), peclet::flow::vof::VofBlockExchange::combineBlockIntoPatch(), peclet::flow::vof::VofBlockExchange::combineBufIntoPatch(), peclet::flow::vof::VofCurvature::compact(), peclet::flow::vof::WyAdvector::computeFluxesCut(), peclet::flow::vof::WyAdvector::computeFluxesImpl(), peclet::flow::MgPoisson::computeResidual(), peclet::flow::vof::copyAdvectedVelocity(), peclet::flow::vof::copyFaceVelocity(), peclet::flow::vof::WyAdvector::cutDiagnostics(), peclet::flow::vof::VofBlockSet::debrisPassBatchImpl(), peclet::flow::vof::WyAdvector::diagnostics(), peclet::flow::vof::MomentumConsistentAdvector::diagnostics(), diffResidualT(), diffSmoothColorDuT(), diffSmoothColorT(), divergence(), peclet::flow::vof::VofEnergyAdvector::energyUpdate(), peclet::flow::vof::VofEnergyAdvector::extrema(), peclet::flow::vof::VofCurvature::fallbackPass(), peclet::flow::vof::VofInterfaceArea::fallbackPass(), peclet::flow::vof::VofBlockSet::fillBlockGhosts(), peclet::flow::vof::MomentumConsistentAdvector::freezeShiftedState(), peclet::flow::vof::VofBlockExchange::gatherLocalLaunch(), peclet::flow::Solver< Grid >::harvestVofBlockUnion(), peclet::flow::vof::VofCurvature::heightPass(), peclet::flow::vof::VofInterfaceArea::heightPass(), peclet::flow::vof::VofDynamicWetting::impose(), peclet::flow::vof::WyAdvector::index(), peclet::flow::vof::VofBlockSet::innerSum(), peclet::flow::vof::VofBlockSet::interfaceArea(), L3(), peclet::flow::MgPoisson::maxAbsInner(), peclet::flow::vof::WyAdvector::maxCourant(), peclet::flow::vof::WyAdvector::maxCourantInterface(), peclet::flow::vof::WyAdvector::maxCourantInterfaceCut(), peclet::flow::vof::WyAdvector::maxDiscreteDivergence(), peclet::flow::vof::VofDynamicWetting::measure(), peclet::flow::vof::VofBlockSet::measure(), peclet::flow::vof::MomentumConsistentAdvector::momentumFluxes(), peclet::flow::vof::MomentumConsistentAdvector::momentumFluxesCut(), peclet::flow::vof::MomentumConsistentAdvector::momentumUpdate(), peclet::flow::vof::MomentumConsistentAdvector::momentumUpdateCut(), peclet::flow::vof::VofBlockExchange::movePiece(), peclet::flow::vof::VofBlockSet::outOfBoxSum(), peclet::flow::vof::VofBlockExchange::packFromBlock(), peclet::flow::vof::VofBlockExchange::packFromPatch(), peclet::flow::vof::VofMcArea::planePass(), poisSmoothColor(), peclet::flow::vof::VofBlockSet::recentreTo(), peclet::flow::vof::WyAdvector::reconstructImpl(), peclet::flow::vof::VofCurvature::reconstructPlanes(), peclet::flow::vof::VofInterfaceArea::reconstructPlanes(), peclet::flow::MgPoisson::removeMean(), peclet::flow::vof::VofBlockExchange::scatterColourMaxHost(), peclet::flow::vof::VofBlockSet::seedSphere(), peclet::flow::MgPoisson::smoothColor(), peclet::flow::vof::WyAdvector::solidBandFillPass(), peclet::flow::vof::WyAdvector::solidBandFillPassWetting(), peclet::flow::vof::VofBlockExchange::unpackToBlock(), peclet::flow::Solver< Grid >::updateVofBlockOverlap(), peclet::flow::vof::vofBatchCfl(), peclet::flow::vof::vofBatchClampCell(), peclet::flow::vof::vofBatchFlux(), peclet::flow::vof::vofBatchGhostZero(), peclet::flow::vof::vofBatchPeriodic(), peclet::flow::vof::vofBatchStats(), peclet::flow::vof::vofBatchUpdate(), peclet::flow::vof::vofBatchWorklist(), peclet::flow::vof::vofCurvCell(), peclet::flow::vof::vofCurvRow(), peclet::flow::vof::WyAdvector::wettingCensusGhost(), and peclet::flow::vof::VofBlockExchange::zeroPatchInner().
|
inline |
Definition at line 46 of file mac_stencils.hpp.
References L3().
|
inline |
Definition at line 96 of file mac_stencils.hpp.
References diffSmoothColor().
Referenced by diffSmoothColor(), diffSmoothColor(), peclet::flow::FlowReference::diffuseComp(), main(), and peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 105 of file mac_stencils.hpp.
References diffSmoothColor().
|
inline |
Definition at line 114 of file mac_stencils.hpp.
References L3().
|
inline |
Definition at line 136 of file mac_stencils.hpp.
Referenced by peclet::flow::Solver< Grid >::constCoeffResidual().
|
inline |
Definition at line 145 of file mac_stencils.hpp.
|
inline |
Definition at line 153 of file mac_stencils.hpp.
References L3().
|
inline |
Definition at line 215 of file mac_stencils.hpp.
Referenced by peclet::flow::Solver< Grid >::smoothComp().
|
inline |
Definition at line 222 of file mac_stencils.hpp.
Definition at line 244 of file mac_stencils.hpp.
References L3().
Referenced by main(), peclet::flow::FlowReference::maxDivU(), and peclet::flow::FlowReference::step().
Definition at line 256 of file mac_stencils.hpp.
References poisSmoothColor().
Referenced by main(), and peclet::flow::FlowReference::step().
|
inline |
Definition at line 28 of file mac_transfer.hpp.
Referenced by main(), and peclet::flow::MgPoisson::vcycle().
|
inline |
Definition at line 69 of file mac_transfer.hpp.
References trilerp().
Referenced by main(), and peclet::flow::MgPoisson::vcycle().
Definition at line 85 of file mac_transfer.hpp.
Referenced by main(), and peclet::flow::FlowReference::step().
|
inline |
Definition at line 36 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::VelocityMG::chebSmooth(), peclet::flow::Solver< Grid >::chebSolveComp(), peclet::flow::VelocityMG::solve(), peclet::flow::Solver< Grid >::stencilResidual(), and peclet::flow::VelocityMG::vcycle().
|
inline |
Definition at line 59 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::VelocityMG::vcycle().
|
inline |
Definition at line 92 of file mac_velocity_mg.hpp.
References AC.
Referenced by peclet::flow::VelocityMG::setStaircase().
|
inline |
Definition at line 119 of file mac_velocity_mg.hpp.
References AC.
Referenced by peclet::flow::VelocityMG::setStaircaseBc().
|
inline |
Definition at line 139 of file mac_velocity_mg.hpp.
References AC, sadv::fou_operator_aniso(), and U.
Referenced by peclet::flow::VelocityMG::buildUpwindCoarse(), and peclet::flow::VelocityMG::setStaircaseBc().
|
inline |
Definition at line 166 of file mac_velocity_mg.hpp.
References AC.
Referenced by main(), and peclet::flow::VelocityMG::setDomainBcOp().
Definition at line 189 of file mac_velocity_mg.hpp.
References AC.
Referenced by peclet::flow::VelocityMG::setDomainBcOp(), and peclet::flow::VelocityMG::setStaircaseBc().
Definition at line 207 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::VelocityMG::fillProlongBcGhosts(), and peclet::flow::VelocityMG::zeroBcGhosts().
Definition at line 232 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::Solver< Grid >::finishResidual(), peclet::flow::VelocityMG::setDomainBcOp(), peclet::flow::VelocityMG::setStaircaseBc(), and peclet::flow::VelocityMG::solve().
Definition at line 243 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::VelocityMG::setStaircase().
Definition at line 254 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::Solver< Grid >::applyBalancedForceProjection(), peclet::flow::Solver< Grid >::chebSolveComp(), peclet::flow::Solver< Grid >::finishResidual(), peclet::flow::VelocityMG::solve(), and peclet::flow::Solver< Grid >::stencilBnorm().
Definition at line 270 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::Solver< Grid >::finishResidual(), and peclet::flow::VelocityMG::solve().
Definition at line 285 of file mac_velocity_mg.hpp.
Referenced by peclet::flow::VelocityMG::vcycle().
| double peclet::flow::bottomShift | ( | int | attempt | ) |
Definition at line 67 of file mg_bottom_direct.hpp.
Referenced by peclet::flow::BottomFactorKernel< FacReal, OpV >::hostFactor(), and peclet::flow::BottomFactorKernel< FacReal, OpV >::operator()().
|
inline |
Definition at line 87 of file mg_bottom_direct.hpp.
References kBottomMaxPlane.
Referenced by peclet::flow::CutcellMG::buildBottomStore().
Definition at line 56 of file property_closures.hpp.
References ArrheniusMu, BoussinesqForce, and LinearMix.
Referenced by peclet::flow::Solver< Grid >::updateProperties().
|
inline |
Definition at line 123 of file property_closures.hpp.
References ArrheniusMu, BoussinesqForce, and LinearMix.
Referenced by peclet::flow::Solver< Grid >::vofBcPropGhosts().
|
inline |
Arm ops for the resident pass with the persistent slots of st (ks, pk, allocated once).
Definition at line 165 of file scalar_krylov.hpp.
References peclet::flow::skr::kNSlots.
Referenced by peclet::flow::Solver< Grid >::scalarCutAssembleSolve().
| ScalarKrylovResult peclet::flow::scalarBiCGStab | ( | Ops & | ops, |
| const ScalarVec & | b, | ||
| const ScalarVec & | x, | ||
| const ScalarVec & | r, | ||
| const ScalarVec & | rh, | ||
| const ScalarVec & | p, | ||
| const ScalarVec & | v, | ||
| const ScalarVec & | t, | ||
| const ScalarVec & | z, | ||
| const ScalarVec & | z2, | ||
| int | maxit, | ||
| double | rtol, | ||
| bool | singular | ||
| ) |
BiCGStab on A x = b.
ops provides void matvec(const ScalarVec& y, const ScalarVec& x) y = A x (exchanges x's ghosts itself) void precond(const ScalarVec& z, const ScalarVec& r) z = M^-1 r (a fixed linear operator) double dot(const ScalarVec& a, const ScalarVec& b) global inner-cell sum, both phases void dot2(a, b, c, double& ab, double& cc) fused (a.b, c.c), one reduction double maxabs(const ScalarVec& a) global inner-cell max |a| void removeMean(const ScalarVec& a) singular case only: the unknown-row mean C3 e; int g; the block Scratch: r, rh, p, v, t, z, z2. x holds the initial guess and the result.
Definition at line 331 of file scalar_krylov.hpp.
References peclet::flow::skr::axpy(), peclet::flow::skr::aypx(), peclet::flow::skr::copy(), peclet::flow::skr::kRhoNew, peclet::flow::skr::kRhv, peclet::flow::skr::kRn, peclet::flow::skr::kRnS, peclet::flow::skr::kStop, peclet::flow::skr::kTr, peclet::flow::skr::kTt, peclet::flow::skr::residentAlpha(), peclet::flow::skr::residentBeta(), peclet::flow::skr::residentInit(), peclet::flow::skr::residentOmega(), peclet::flow::skr::residentP(), peclet::flow::skr::residentS(), peclet::flow::skr::residentXHalf(), peclet::flow::skr::residentXR(), peclet::flow::skr::residualFrom(), peclet::flow::skr::slot(), and peclet::flow::skr::zero().
Referenced by peclet::flow::Solver< Grid >::scalarCutAssembleSolve().
|
inline |
Definition at line 95 of file scalar_transport.hpp.
References AC, and peclet::flow::vof::pcFaceConductivity().
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 133 of file scalar_transport.hpp.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 147 of file scalar_transport.hpp.
References AC.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 169 of file scalar_transport.hpp.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 199 of file scalar_transport.hpp.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 265 of file scalar_transport.hpp.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
Definition at line 323 of file scalar_transport.hpp.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 343 of file scalar_transport.hpp.
References AC.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 371 of file scalar_transport.hpp.
References sadv::fou_flux(), sadv::sou(), sadv::tvd(), and U.
Referenced by peclet::flow::Solver< Grid >::advanceScalars().
|
inline |
Definition at line 45 of file star_elimination.hpp.
References peclet::flow::StarOverlay::a, and peclet::flow::StarOverlay::cell.
Referenced by peclet::flow::Solver< Grid >::setSolidStarOverlay().
| double peclet::flow::starAval | ( | const StarOverlay & | ov, |
| long | k, | ||
| bool | exact | ||
| ) |
One stored aperture, at the precision the gate selects.
Gate OFF returns the float-rounded value the overlay used to store, so the default path is bitwise unchanged by the widening; gate ON returns the exact double the openness actually carries.
Definition at line 55 of file star_elimination.hpp.
References peclet::flow::StarOverlay::a.
Referenced by starApplyDelta(), and starCorrectFaces().
| int peclet::flow::starWrap | ( | int | v, |
| int | n | ||
| ) |
Definition at line 62 of file star_elimination.hpp.
Referenced by starApplyDelta(), and starCorrectFaces().
|
inline |
Count + fill the star overlay from the cell-centered sdf and the ORIGINAL (unfiltered) apertures on the extended block (ext, ghost width g); nn = inner extents.
Single-rank periodic (neighbour access wraps over the inner grid). Pass ov with capacity >= the count of a prior sizing call (fill = ov.cell.extent(0) > 0). Returns the row count via the host copy of counter.
Definition at line 72 of file star_elimination.hpp.
References peclet::flow::StarOverlay::a, peclet::flow::StarOverlay::cell, peclet::flow::C3::x, and peclet::flow::C3::y.
Referenced by peclet::flow::Solver< Grid >::setSolidStarOverlay().
|
inline |
y += S_star x over the inner cells of the (extY, gY) block, x read from the (extX, gX) block, both periodic via inner-grid wrap.
Sign convention of applyCutcellOp (positive-definite): row i gains a_si (x_i - phibar_s). Atomic adds (several stars can touch one row).
Definition at line 114 of file star_elimination.hpp.
References peclet::flow::StarOverlay::cell, starAval(), and starWrap().
Referenced by peclet::flow::CutcellMG::solvePCGResident().
|
inline |
Fix the face correction at fluid|solid faces: projectCorrect applied -(phi_hi - phi_lo) with the solid side's (decoupled) phi = 0; the mode-B correction wants the solid value phibar_s.
Difference per face: +phibar_s when s is the LOW cell, -phibar_s when s is the HIGH cell. Each such face has exactly one solid side (both-solid faces carry no constraint), so no atomics. phi is read on the (extP, gP) block; the face fields live on the (ext, g) block with the o(i)-is-low-face convention (face k=+side of s == low face of the + neighbour).
PHASE 2 (anisotropic cells, doc/anisotropic_metric.md §3): this is a FIX-UP of what projectCorrect applied, and projectCorrect now applies -w_a (phi_hi - phi_lo) per axis – so the difference this kernel adds back carries the SAME per-axis weight w_a of the face's own axis, applied outside the existing expression. w = (1,1,1) isotropic (exact).
Definition at line 181 of file star_elimination.hpp.
References peclet::flow::StarOverlay::cell, starAval(), starWrap(), peclet::flow::C3::x, and peclet::flow::C3::y.
Referenced by peclet::flow::Solver< Grid >::projectCorrectVelocities().
enable_vof_momentum x enable_vof_blocks*: refused in EITHER call order.
Momentum consistency advects rho^c u with the fluxes of the ONE structured colour field (vofAdv_) at the head of step() and then skips advectVof() – which is the only slot that advects the block markers. The combination would leave every marker frozen while the momentum rode the fluxes of a union field that is not the markers' own.
Definition at line 19 of file flow_ibm_vof.hpp.
Referenced by peclet::flow::Solver< Grid >::enableVofMomentum(), and peclet::flow::Solver< Grid >::prepareVofBlocks().
Definition at line 283 of file mac_cutcell.hpp.
Referenced by hostRunSerial().
Definition at line 481 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::buildBottomStore(), and peclet::flow::CutcellMG::directBottomIneligible().
Definition at line 484 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::BottomKernel< FacReal >::operator()().
|
inlineconstexpr |
Definition at line 485 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::buildBottomStore(), peclet::flow::CutcellMG::evalBottomComponents(), and peclet::flow::BottomLabelKernel::operator()().
|
inlineconstexpr |
Definition at line 486 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::BottomKernel< FacReal >::operator()().
|
inlineconstexpr |
Definition at line 492 of file mac_cutcell_mg.hpp.
|
inlineconstexpr |
Definition at line 498 of file mac_cutcell_mg.hpp.
Referenced by peclet::flow::CutcellMG::launchDirectFactor().
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 64 of file mg_bottom_direct.hpp.
Referenced by peclet::flow::BottomFactorKernel< FacReal, OpV >::assemble(), peclet::flow::BottomFactorKernel< FacReal, OpV >::hostInvert(), peclet::flow::BottomFactorKernel< FacReal, OpV >::invert(), peclet::flow::BottomFactorKernel< FacReal, OpV >::operator()(), and peclet::flow::BottomFactorKernel< FacReal, OpV >::scratchBytes().
Definition at line 65 of file mg_bottom_direct.hpp.
Referenced by peclet::flow::BottomFactorKernel< FacReal, OpV >::hostFactor(), main(), and peclet::flow::BottomFactorKernel< FacReal, OpV >::operator()().
|
inlineconstexpr |
Definition at line 66 of file mg_bottom_direct.hpp.
Referenced by peclet::flow::BottomDirect< FacReal >::allocate(), peclet::flow::BottomFactorKernel< FacReal, OpV >::hostFactor(), and peclet::flow::BottomFactorKernel< FacReal, OpV >::operator()().