core 0.5.0
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::amr::detail Namespace Reference

Classes

struct  CompEnt
 
struct  GhostOverlayRef
 
struct  ScalarEnt
 

Functions

double minmod (double a, double b)
 
template<unsigned Bits, class Ent , class FluidFn >
void 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 compactCsr (const std::vector< std::vector< Ent > > &per, Csr &out, Index n)
 
bool gpsSolveDense (int n, double *A, double *b)
 Gaussian elimination with partial pivoting (small dense normal equations).
 
void gpsMonomials (const double d[3], int deg, double *m, int &nm)
 
template<int Dim>
const std::array< std::array< int, Dim >,(1<< Dim)> & vtkCorners ()
 
template<>
const std::array< std::array< int, 3 >, 8 > & vtkCorners< 3 > ()
 
template<>
const std::array< std::array< int, 2 >, 4 > & vtkCorners< 2 > ()
 

Function Documentation

◆ minmod()

double peclet::core::amr::detail::minmod ( double  a,
double  b 
)
inline

◆ cfAppendStencil()

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{} 
)
inline

Append the scheme's (coarse* − coarse_raw) substitution stencil for ONE directed C/F sub-face to out, scaled.

coarse is interpolated at fine's tangential position across the face normal axis. CfScheme::standard appends nothing (no substitution). CfScheme::quadratic is the Martin–Cartwright per-tangential-axis quadratic — the same arithmetic as AmrPoisson::coarseStar / Multigrid::addCoarseStarStencil, plus the fluid gate.

Definition at line 83 of file cf_scheme.hpp.

Referenced by peclet::core::amr::buildCfDivDelta(), peclet::core::amr::buildCfGradDelta(), peclet::core::amr::buildCfLapDelta(), and peclet::core::amr::buildCfUfDelta().

◆ compactCsr()

template<class Ent , class Csr >
void peclet::core::amr::detail::compactCsr ( const std::vector< std::vector< Ent > > &  per,
Csr out,
Index  n 
)
inline

◆ gpsSolveDense()

bool peclet::core::amr::detail::gpsSolveDense ( int  n,
double A,
double b 
)
inline

Gaussian elimination with partial pivoting (small dense normal equations).

Definition at line 62 of file ghost_projection_sampled.hpp.

References peclet::core::amr::transferFieldGradients().

◆ gpsMonomials()

void peclet::core::amr::detail::gpsMonomials ( const double  d[3],
int  deg,
double m,
int nm 
)
inline

◆ vtkCorners()

template<int Dim>
const std::array< std::array< int, Dim >,(1<< Dim)> & peclet::core::amr::detail::vtkCorners ( )
inline

◆ vtkCorners< 3 >()

template<>
const std::array< std::array< int, 3 >, 8 > & peclet::core::amr::detail::vtkCorners< 3 > ( )
inline

Definition at line 34 of file vtu_io.hpp.

References peclet::core::amr::transferFieldGradients().

◆ vtkCorners< 2 >()

template<>
const std::array< std::array< int, 2 >, 4 > & peclet::core::amr::detail::vtkCorners< 2 > ( )
inline

Definition at line 40 of file vtu_io.hpp.

References peclet::core::amr::transferFieldGradients().