flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
peclet::flow Namespace Reference

Namespaces

namespace  bcdetail
 

Classes

struct  B3
 
struct  C3
 
struct  Closure
 
struct  Colocated
 
class  CutcellMG
 
struct  Ext3
 
struct  FieldFaceProps
 
class  FlowReference
 
struct  I3
 
struct  IbmOverlayT
 
class  MgPoisson
 
struct  Off3
 
struct  ScalarField
 
class  Solver
 
struct  Staggered
 
struct  SumMax
 {sum, max|.|} reduction value. More...
 
struct  T3
 
struct  UniformFaceProps
 
struct  VarFaceProps
 
class  VelocityMG
 

Typedefs

using IMem = Kokkos::DefaultExecutionSpace::memory_space
 
using IbmOverlay = IbmOverlayT< IMem >
 
using IbmSolver = Solver< Staggered >
 
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 = float
 
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 >
 

Enumerations

enum class  ClosureKind { LinearMix , BoussinesqForce , ArrheniusMu , Table1D }
 
enum class  ScalarBc { Periodic = 0 , Neumann = 1 , Dirichlet = 2 }
 

Functions

float poly_D (float xi)
 
float poly_N_nb (float xi)
 
float poly_Nc (float xi)
 
float poly_Nbc (float)
 
float poly_D_avg (float xi)
 
float poly_Nnb_avg (float xi)
 
float poly_Nc_avg (float xi)
 
float poly_Nbc_avg (float)
 
float poly_D_sandwich (float xi_m, float xi_p)
 
float poly_N_c_sandwich (float xi_m, float xi_p)
 
float poly_Nbc_pp_sw (float xi_m, float xi_p)
 
float poly_Nbc_mp_sw (float xi_m, float xi_p)
 
float poly_D_sandwich_avg (float xi_m, float xi_p)
 
float poly_N_c_sandwich_avg (float xi_m, float xi_p)
 
float poly_Nbc_pp_sw_avg (float xi_m, float xi_p)
 
float poly_Nbc_mp_sw_avg (float xi_m, float xi_p)
 
template<int SCHEME, class OV >
void ibmFillEntry (const OV &o, int list_idx, int c_idx, float sdf_c, const float sdf_n[6], int bc_type)
 
void ibmBuildDiffusion (Kokkos::View< float *, IMem > AC, Kokkos::View< float *, IMem > AW, Kokkos::View< float *, IMem > AE, Kokkos::View< float *, IMem > AS, Kokkos::View< float *, IMem > AN, Kokkos::View< float *, IMem > AB, Kokkos::View< float *, IMem > AT, int ex, int ey, int ez, double beta, double idiag)
 
template<class FaceProps >
void ibmBuildDiffusionVar (Kokkos::View< float *, IMem > AC, Kokkos::View< float *, IMem > AW, Kokkos::View< float *, IMem > AE, Kokkos::View< float *, IMem > AS, Kokkos::View< float *, IMem > AN, Kokkos::View< float *, IMem > AB, Kokkos::View< float *, IMem > AT, int ex, int ey, int ez, int g, FaceProps fp)
 
void ibmModifyStencil (Kokkos::View< float *, IMem > AC, Kokkos::View< float *, IMem > AW, Kokkos::View< float *, IMem > AE, Kokkos::View< float *, IMem > AS, Kokkos::View< float *, IMem > AN, Kokkos::View< float *, IMem > AB, Kokkos::View< float *, IMem > AT, Kokkos::View< double *, IMem > a_inhom, Kokkos::View< double *, IMem > rhs_scale, const IbmOverlay &ibm, int numActive, float u_bc_val)
 
void centerToFace (CCField uf, CCField vf, CCField wf, CCConst U, CCConst V, CCConst W, C3 e, int g)
 
int wallAwareFaceStencil (CCConst sdf, long i, long sa, int cFace, int eAxis, double xcen, long idx[3], double w[3])
 
double wallAwareFaceValue (CCConst U, CCConst sdf, long i, long sa, int cFace, int eAxis, double xcen)
 
void buildFaceCentroidDist (CCField xcx, CCField xcy, CCField xcz, CCConst sdf, C3 e)
 
void centerToFaceWallAware (CCField uf, CCField vf, CCField wf, CCConst U, CCConst V, CCConst W, CCConst sdf, CCConst xcx, CCConst xcy, CCConst xcz, bool useCen, C3 e, int g)
 
void transposeGradWallAware (CCField out, CCConst p, CCConst sdf, CCConst o, CCConst xc, bool useCen, int axis, C3 e, int g)
 
void buildCellFraction (CCField cs, CCConst sdf, C3 e, int g)
 
void fvViscousApply (CCField Lu, CCConst U, CCConst sdf, CCConst cs, CCConst ox, CCConst oy, CCConst oz, double mu, double idt, C3 e, int g)
 
double eQuad (double xx, double a1, double a2, double a3)
 
double 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)
 
void embedViscousApply (CCField Lu, CCConst U, CCConst sdf, CCConst cs, CCConst ox, CCConst oy, CCConst oz, double mu, double idt, C3 e, int g)
 
void stencilMatvec (CCField y, CCConst u, MConst AC, MConst AW, MConst AE, MConst AS, MConst AN, MConst AB, MConst AT, C3 e, int g)
 
void subtractField (CCField u, CCConst d, C3 e, int g)
 
void centerGradOpen (CCField out, CCConst p, CCConst o, int axis, C3 e, int g)
 
void projectCorrectCenterOpen (CCField u, CCField v, CCField w, CCConst phi, CCConst ox, CCConst oy, CCConst oz, C3 e, int g)
 
void projectCorrectCenter (CCField u, CCField v, CCField w, CCConst phi, CCConst ox, CCConst oy, CCConst oz, C3 e, int g)
 
void bcVelocityComp (BField f, B3 ext, int g, int a, int s, int comp, double wall, int fold, BField prof=BField(), int prof_nc=0)
 
void bcVelocityColocated (BField f, B3 ext, int g, int a, int s, double wall, int comp=0, BField prof=BField(), int prof_nc=0)
 
void bcNeumannGhost (BField f, B3 ext, int g, int a, int s)
 
void bcOutflowComp (BField f, B3 ext, int g, int a, int s, int comp, int fold)
 
void bcDiffusionFold (BField dcorr, BField brhs, B3 ext, int g, int a, int s, double dval, double bval)
 
void bcZeroPressureGhost (BField phi, B3 ext, int g, int a, int s)
 
void bcCorrectOutflow (BField f, BField phi, B3 ext, int g, int a)
 
void bcSetOpenness (BField oa, B3 ext, int g, int a, int s, double val)
 
void bcZeroOpenness (BField oa, B3 ext, int g, int a, int s)
 
double ccFractionCore (double sd, double sxp, double sxm, double syp, double sym, double szp, double szm, int type, double dx, double dy, double dz)
 
double ccSampleExt (CCConst sdf, C3 ext, double x, double y, double z)
 
double ccFaceOpen (CCConst sdf, C3 ext, double fx, double fy, double fz, int type, double dx, double dy, double dz)
 
void buildOpenness (CCField ox, CCField oy, CCField oz, CCConst sdf, C3 ext, double dx, double dy, double dz)
 
void coarsenOpenAvg (CCField oxc, CCField oyc, CCField ozc, CCConst oxf, CCConst oyf, CCConst ozf, C3 cext, C3 fext, int g, C3 cinner, C3 ratio)
 
void residualCutcell (CCField r, CCConst x, CCConst b, FPC AC, FPC AW, FPC AE, FPC AS, FPC AN, FPC AB, FPC AT, C3 e, int g)
 
void restrictAvg (CCField coarse, CCConst fine, C3 cext, C3 fext, int g, C3 cinner, C3 ratio)
 
void prolongAdd (CCField fine, CCConst coarse, C3 fext, C3 cext, int g, C3 finner, C3 ratio)
 
bool ibmIsCut (float sc, const float sn[6])
 
template<int SCHEME>
int buildIbmOverlay (CCConst sdf, C3 ext, int g, Off3 off, int bc_type, const IbmOverlay &ov, Kokkos::View< int *, CCMem > idMap, Kokkos::View< int, CCMem > counter)
 
void ibmVolfrac (CCField theta, CCConst sdf, C3 ext, Off3 off)
 
void ibmSolidMask (CCField mask, CCConst sdf, C3 ext, Off3 off)
 
void ibmCleanFluidMask (CCField m, CCConst sdf, C3 ext, Off3 off)
 
void ibmRbgsStencilColor (CCField x, CCConst b, MConst AC, MConst AW, MConst AE, MConst AS, MConst AN, MConst AB, MConst AT, CCConst solidmask, C3 ext, C3 og, int g, int color)
 
void ibmRbgsSweep (CCField x, CCConst b, MConst AC, MConst AW, MConst AE, MConst AS, MConst AN, MConst AB, MConst AT, CCConst solidmask, C3 ext, C3 og, int g)
 
void mgPeriodicFill (SField f, I3 e, int N, int g)
 
template<class OpV >
void buildCutcellOp (OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, CCConst ox, CCConst oy, CCConst oz, C3 e, int g, double gfx, double gfy, double gfz)
 
void divergOpen (CCConst u, CCConst v, CCConst w, CCConst ox, CCConst oy, CCConst oz, CCField d, C3 e, int g)
 
template<class OpV >
void cutcellSmoothColor (CCField phi, CCConst b, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, C3 og, int g, int color)
 
template<class OpV >
void applyCutcellOp (CCField y, CCConst x, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, int g)
 
void projectCorrect (CCField u, CCField v, CCField w, CCConst phi, C3 e, int g)
 
void projectCorrectVar (CCField u, CCField v, CCField w, CCConst phi, CCConst rho, double rho0, C3 e, int g)
 
void buildRhoCoeff (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst rho, double rho0, C3 e, int g)
 
void divergOpenEps (CCConst u, CCConst v, CCConst w, CCConst ox, CCConst oy, CCConst oz, CCConst eps, CCField d, C3 e, int g)
 
void buildPorousCoeff (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst eps, C3 e, int g)
 
void buildPorousCoeffDrag (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst eps, CCConst beta, double idt, C3 e, int g)
 
void projectCorrectPorousDrag (CCField u, CCField v, CCField w, CCConst phi, CCConst beta, double idt, C3 e, int g)
 
std::size_t innerToExt (long c, Ext3 ext, int ghost, Ext3 inner)
 
SumMax localSumMax (DConst f, Ext3 ext, int ghost, Ext3 inner)
 Local sum and max|.| over the inner cells.
 
double localDot (DConst a, DConst b, Ext3 ext, int ghost, Ext3 inner)
 Local inner product <a,b> over the inner cells.
 
void subtractAll (DField f, double m)
 Subtract a constant from EVERY cell of the extended block (the mean-removal scatter).
 
long L3 (int x, int y, int z, I3 e)
 
void diffSmoothColor (SField c, SConst b, I3 e, I3 og, int g, double beta, double Ac, int color, SConst dcorr)
 
void poisSmoothColor (SField phi, SConst d, I3 e, I3 og, int g, int color)
 
void divergence (SConst u, SConst v, SConst w, SField d, I3 e, int g)
 
void poisSweep (SField phi, SConst d, I3 e, I3 og, int g)
 
void restrict_ (TField coarse, TConst fine, T3 cext, T3 fext, int g, T3 cinner, T3 ratio)
 
double trilerp (TConst c, double x, double y, double z, T3 cext)
 
void prolong (TField fine, TConst coarse, T3 fext, T3 cext, int g, T3 finner, T3 ratio)
 
void correct (TField u, TField v, TField w, TConst phi, T3 e, int g)
 
void residualVarPin (CCField r, CCConst x, CCConst b, FPC AC, FPC AW, FPC AE, FPC AS, FPC AN, FPC AB, FPC AT, CCConst pin, C3 e, int g)
 
void prolongMasked (CCField fine, CCConst coarse, CCConst mask, C3 fext, C3 cext, int g, C3 finner, C3 ratio, double eps)
 
void buildVelocityStaircase (FPV AC, FPV AW, FPV AE, FPV AS, FPV AN, FPV AB, FPV AT, CCConst theta, C3 e, int g, double bx, double by, double bz, double thresh, double idiag)
 
void buildAdvCoarse (FPV AC, FPV AW, FPV AE, FPV AS, FPV AN, FPV AB, FPV AT, CCConst U, CCConst V, CCConst W, int comp, C3 e, int g, double bx, double by, double bz, double fouw, double sx, double sy, double sz, double idiag)
 
void buildConstAniso (FPV AC, FPV AW, FPV AE, FPV AS, FPV AN, FPV AB, FPV AT, C3 e, double bx, double by, double bz, double idiag)
 
void boundaryFold (FPV AC, C3 e, int g, int a, int s, double beta)
 
void fillBcGhost (CCField x, C3 e, int g, int a, int s, int dirichlet)
 
void zeroPlane (CCField m, C3 e, int axis, int idx)
 
void thresholdMask (CCField m, CCConst theta, double thresh)
 
void mulMask (CCField r, CCConst m)
 
void applyClosure (const Closure &cl, C3 e, int g)
 
void scalarBuildDiffusionOpen (CCField AC, CCField AW, CCField AE, CCField AS, CCField AN, CCField AB, CCField AT, CCConst ox, CCConst oy, CCConst oz, double D, double idt, C3 e, int g)
 
void scalarBuildRhs (CCField b, CCConst cOld, CCConst U, CCConst V, CCConst W, CCConst ox, CCConst oy, CCConst oz, double idt, int scheme, C3 e, int g)
 

Typedef Documentation

◆ IMem

using peclet::flow::IMem = typedef Kokkos::DefaultExecutionSpace::memory_space

Definition at line 19 of file cut_cell_ibm.hpp.

◆ IbmOverlay

Definition at line 81 of file cut_cell_ibm.hpp.

◆ IbmSolver

Definition at line 2401 of file flow_ibm.hpp.

◆ MConst

typedef Kokkos::View< const float *, CCMem > peclet::flow::MConst

Definition at line 23 of file mac_approx_projection.hpp.

◆ BExec

using peclet::flow::BExec = typedef Kokkos::DefaultExecutionSpace

Definition at line 17 of file mac_bc.hpp.

◆ BMem

using peclet::flow::BMem = typedef BExec::memory_space

Definition at line 18 of file mac_bc.hpp.

◆ BField

using peclet::flow::BField = typedef Kokkos::View<double*, BMem>

Definition at line 19 of file mac_bc.hpp.

◆ CCExec

using peclet::flow::CCExec = typedef Kokkos::DefaultExecutionSpace

Definition at line 17 of file mac_cutcell.hpp.

◆ CCMem

using peclet::flow::CCMem = typedef CCExec::memory_space

Definition at line 18 of file mac_cutcell.hpp.

◆ CCField

using peclet::flow::CCField = typedef Kokkos::View<double*, CCMem>

Definition at line 19 of file mac_cutcell.hpp.

◆ CCConst

using peclet::flow::CCConst = typedef Kokkos::View<const double*, CCMem>

Definition at line 20 of file mac_cutcell.hpp.

◆ MReal

using peclet::flow::MReal = typedef float

Definition at line 45 of file mac_cutcell_mg.hpp.

◆ FPV

using peclet::flow::FPV = typedef Kokkos::View<MReal*, CCMem>

Definition at line 46 of file mac_cutcell_mg.hpp.

◆ FPC

using peclet::flow::FPC = typedef Kokkos::View<const MReal*, CCMem>

Definition at line 47 of file mac_cutcell_mg.hpp.

◆ mreal

using peclet::flow::mreal = typedef float

Definition at line 21 of file mac_ibm.hpp.

◆ Exec

using peclet::flow::Exec = typedef Kokkos::DefaultExecutionSpace

Definition at line 18 of file mac_reductions.hpp.

◆ Mem

using peclet::flow::Mem = typedef Exec::memory_space

Definition at line 19 of file mac_reductions.hpp.

◆ DField

using peclet::flow::DField = typedef Kokkos::View<double*, Mem>

Definition at line 20 of file mac_reductions.hpp.

◆ DConst

using peclet::flow::DConst = typedef Kokkos::View<const double*, Mem>

Definition at line 21 of file mac_reductions.hpp.

◆ SExec

using peclet::flow::SExec = typedef Kokkos::DefaultExecutionSpace

Definition at line 18 of file mac_stencils.hpp.

◆ SMem

using peclet::flow::SMem = typedef SExec::memory_space

Definition at line 19 of file mac_stencils.hpp.

◆ SField

using peclet::flow::SField = typedef Kokkos::View<double*, SMem>

Definition at line 20 of file mac_stencils.hpp.

◆ SConst

using peclet::flow::SConst = typedef Kokkos::View<const double*, SMem>

Definition at line 21 of file mac_stencils.hpp.

◆ TExec

using peclet::flow::TExec = typedef Kokkos::DefaultExecutionSpace

Definition at line 16 of file mac_transfer.hpp.

◆ TMem

using peclet::flow::TMem = typedef TExec::memory_space

Definition at line 17 of file mac_transfer.hpp.

◆ TField

using peclet::flow::TField = typedef Kokkos::View<double*, TMem>

Definition at line 18 of file mac_transfer.hpp.

◆ TConst

using peclet::flow::TConst = typedef Kokkos::View<const double*, TMem>

Definition at line 19 of file mac_transfer.hpp.

Enumeration Type Documentation

◆ ClosureKind

enum class peclet::flow::ClosureKind
strong
Enumerator
LinearMix 
BoussinesqForce 
ArrheniusMu 
Table1D 

Definition at line 25 of file property_closures.hpp.

◆ ScalarBc

enum class peclet::flow::ScalarBc
strong
Enumerator
Periodic 
Neumann 
Dirichlet 

Definition at line 33 of file scalar_transport.hpp.

Function Documentation

◆ poly_D()

float peclet::flow::poly_D ( float  xi)

Definition at line 22 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_N_nb()

float peclet::flow::poly_N_nb ( float  xi)

Definition at line 25 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nc()

float peclet::flow::poly_Nc ( float  xi)

Definition at line 28 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nbc()

float peclet::flow::poly_Nbc ( float  )

Definition at line 31 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_D_avg()

float peclet::flow::poly_D_avg ( float  xi)

Definition at line 34 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nnb_avg()

float peclet::flow::poly_Nnb_avg ( float  xi)

Definition at line 37 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nc_avg()

float peclet::flow::poly_Nc_avg ( float  xi)

Definition at line 40 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nbc_avg()

float peclet::flow::poly_Nbc_avg ( float  )

Definition at line 43 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_D_sandwich()

float peclet::flow::poly_D_sandwich ( float  xi_m,
float  xi_p 
)

Definition at line 46 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_N_c_sandwich()

float peclet::flow::poly_N_c_sandwich ( float  xi_m,
float  xi_p 
)

Definition at line 49 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nbc_pp_sw()

float peclet::flow::poly_Nbc_pp_sw ( float  xi_m,
float  xi_p 
)

Definition at line 52 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nbc_mp_sw()

float peclet::flow::poly_Nbc_mp_sw ( float  xi_m,
float  xi_p 
)

Definition at line 55 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_D_sandwich_avg()

float peclet::flow::poly_D_sandwich_avg ( float  xi_m,
float  xi_p 
)

Definition at line 58 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_N_c_sandwich_avg()

float peclet::flow::poly_N_c_sandwich_avg ( float  xi_m,
float  xi_p 
)

Definition at line 61 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nbc_pp_sw_avg()

float peclet::flow::poly_Nbc_pp_sw_avg ( float  xi_m,
float  xi_p 
)

Definition at line 64 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ poly_Nbc_mp_sw_avg()

float peclet::flow::poly_Nbc_mp_sw_avg ( float  xi_m,
float  xi_p 
)

Definition at line 67 of file cut_cell_ibm.hpp.

Referenced by ibmFillEntry().

◆ ibmFillEntry()

template<int SCHEME, class OV >
void peclet::flow::ibmFillEntry ( const OV &  o,
int  list_idx,
int  c_idx,
float  sdf_c,
const float  sdf_n[6],
int  bc_type 
)

◆ ibmBuildDiffusion()

void peclet::flow::ibmBuildDiffusion ( Kokkos::View< float *, IMem AC,
Kokkos::View< float *, IMem AW,
Kokkos::View< float *, IMem AE,
Kokkos::View< float *, IMem AS,
Kokkos::View< float *, IMem AN,
Kokkos::View< float *, IMem AB,
Kokkos::View< float *, IMem AT,
int  ex,
int  ey,
int  ez,
double  beta,
double  idiag 
)
inline

◆ ibmBuildDiffusionVar()

template<class FaceProps >
void peclet::flow::ibmBuildDiffusionVar ( Kokkos::View< float *, IMem AC,
Kokkos::View< float *, IMem AW,
Kokkos::View< float *, IMem AE,
Kokkos::View< float *, IMem AS,
Kokkos::View< float *, IMem AN,
Kokkos::View< float *, IMem AB,
Kokkos::View< float *, IMem AT,
int  ex,
int  ey,
int  ez,
int  g,
FaceProps  fp 
)
inline

◆ ibmModifyStencil()

void peclet::flow::ibmModifyStencil ( Kokkos::View< float *, IMem AC,
Kokkos::View< float *, IMem AW,
Kokkos::View< float *, IMem AE,
Kokkos::View< float *, IMem AS,
Kokkos::View< float *, IMem AN,
Kokkos::View< float *, IMem AB,
Kokkos::View< float *, IMem AT,
Kokkos::View< double *, IMem a_inhom,
Kokkos::View< double *, IMem rhs_scale,
const IbmOverlay ibm,
int  numActive,
float  u_bc_val 
)
inline

◆ centerToFace()

void peclet::flow::centerToFace ( CCField  uf,
CCField  vf,
CCField  wf,
CCConst  U,
CCConst  V,
CCConst  W,
C3  e,
int  g 
)
inline

Definition at line 30 of file mac_approx_projection.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ wallAwareFaceStencil()

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 68 of file mac_approx_projection.hpp.

Referenced by transposeGradWallAware(), and wallAwareFaceValue().

◆ wallAwareFaceValue()

double peclet::flow::wallAwareFaceValue ( CCConst  U,
CCConst  sdf,
long  i,
long  sa,
int  cFace,
int  eAxis,
double  xcen 
)

Definition at line 126 of file mac_approx_projection.hpp.

References wallAwareFaceStencil().

Referenced by centerToFaceWallAware().

◆ buildFaceCentroidDist()

void peclet::flow::buildFaceCentroidDist ( CCField  xcx,
CCField  xcy,
CCField  xcz,
CCConst  sdf,
C3  e 
)
inline

Definition at line 143 of file mac_approx_projection.hpp.

References ccSampleExt().

Referenced by peclet::flow::Solver< Grid >::setSolid().

◆ centerToFaceWallAware()

void peclet::flow::centerToFaceWallAware ( CCField  uf,
CCField  vf,
CCField  wf,
CCConst  U,
CCConst  V,
CCConst  W,
CCConst  sdf,
CCConst  xcx,
CCConst  xcy,
CCConst  xcz,
bool  useCen,
C3  e,
int  g 
)
inline

Definition at line 202 of file mac_approx_projection.hpp.

References wallAwareFaceValue().

Referenced by peclet::flow::Solver< Grid >::project().

◆ transposeGradWallAware()

void peclet::flow::transposeGradWallAware ( CCField  out,
CCConst  p,
CCConst  sdf,
CCConst  o,
CCConst  xc,
bool  useCen,
int  axis,
C3  e,
int  g 
)
inline

◆ buildCellFraction()

void peclet::flow::buildCellFraction ( CCField  cs,
CCConst  sdf,
C3  e,
int  g 
)
inline

Definition at line 268 of file mac_approx_projection.hpp.

References ccSampleExt().

Referenced by peclet::flow::Solver< Grid >::setSolid().

◆ fvViscousApply()

void peclet::flow::fvViscousApply ( CCField  Lu,
CCConst  U,
CCConst  sdf,
CCConst  cs,
CCConst  ox,
CCConst  oy,
CCConst  oz,
double  mu,
double  idt,
C3  e,
int  g 
)
inline

Definition at line 306 of file mac_approx_projection.hpp.

References ccSampleExt().

Referenced by peclet::flow::Solver< Grid >::buildRhs().

◆ eQuad()

double peclet::flow::eQuad ( double  xx,
double  a1,
double  a2,
double  a3 
)

Definition at line 368 of file mac_approx_projection.hpp.

Referenced by embedDirichletGradient().

◆ 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 383 of file mac_approx_projection.hpp.

References eQuad().

Referenced by embedViscousApply().

◆ embedViscousApply()

void peclet::flow::embedViscousApply ( CCField  Lu,
CCConst  U,
CCConst  sdf,
CCConst  cs,
CCConst  ox,
CCConst  oy,
CCConst  oz,
double  mu,
double  idt,
C3  e,
int  g 
)
inline

◆ stencilMatvec()

void peclet::flow::stencilMatvec ( CCField  y,
CCConst  u,
MConst  AC,
MConst  AW,
MConst  AE,
MConst  AS,
MConst  AN,
MConst  AB,
MConst  AT,
C3  e,
int  g 
)
inline

Definition at line 515 of file mac_approx_projection.hpp.

References AC.

Referenced by peclet::flow::Solver< Grid >::buildRhs().

◆ subtractField()

void peclet::flow::subtractField ( CCField  u,
CCConst  d,
C3  e,
int  g 
)
inline

Definition at line 531 of file mac_approx_projection.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ centerGradOpen()

void peclet::flow::centerGradOpen ( CCField  out,
CCConst  p,
CCConst  o,
int  axis,
C3  e,
int  g 
)
inline

Definition at line 550 of file mac_approx_projection.hpp.

Referenced by peclet::flow::Solver< Grid >::buildRhs().

◆ projectCorrectCenterOpen()

void peclet::flow::projectCorrectCenterOpen ( CCField  u,
CCField  v,
CCField  w,
CCConst  phi,
CCConst  ox,
CCConst  oy,
CCConst  oz,
C3  e,
int  g 
)
inline

Definition at line 567 of file mac_approx_projection.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ projectCorrectCenter()

void peclet::flow::projectCorrectCenter ( CCField  u,
CCField  v,
CCField  w,
CCConst  phi,
CCConst  ox,
CCConst  oy,
CCConst  oz,
C3  e,
int  g 
)
inline

Definition at line 600 of file mac_approx_projection.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ bcVelocityComp()

void peclet::flow::bcVelocityComp ( BField  f,
B3  ext,
int  g,
int  a,
int  s,
int  comp,
double  wall,
int  fold,
BField  prof = BField(),
int  prof_nc = 0 
)
inline

◆ bcVelocityColocated()

void peclet::flow::bcVelocityColocated ( BField  f,
B3  ext,
int  g,
int  a,
int  s,
double  wall,
int  comp = 0,
BField  prof = BField(),
int  prof_nc = 0 
)
inline

◆ bcNeumannGhost()

void peclet::flow::bcNeumannGhost ( BField  f,
B3  ext,
int  g,
int  a,
int  s 
)
inline

◆ bcOutflowComp()

void peclet::flow::bcOutflowComp ( BField  f,
B3  ext,
int  g,
int  a,
int  s,
int  comp,
int  fold 
)
inline

◆ bcDiffusionFold()

void peclet::flow::bcDiffusionFold ( BField  dcorr,
BField  brhs,
B3  ext,
int  g,
int  a,
int  s,
double  dval,
double  bval 
)
inline

◆ bcZeroPressureGhost()

void peclet::flow::bcZeroPressureGhost ( BField  phi,
B3  ext,
int  g,
int  a,
int  s 
)
inline

◆ bcCorrectOutflow()

void peclet::flow::bcCorrectOutflow ( BField  f,
BField  phi,
B3  ext,
int  g,
int  a 
)
inline

Definition at line 215 of file mac_bc.hpp.

References peclet::flow::bcdetail::axisDims().

Referenced by peclet::flow::Solver< Grid >::project().

◆ bcSetOpenness()

void peclet::flow::bcSetOpenness ( BField  oa,
B3  ext,
int  g,
int  a,
int  s,
double  val 
)
inline

◆ bcZeroOpenness()

void peclet::flow::bcZeroOpenness ( BField  oa,
B3  ext,
int  g,
int  a,
int  s 
)
inline

Definition at line 250 of file mac_bc.hpp.

References bcSetOpenness().

Referenced by main(), and peclet::flow::Solver< Grid >::setSolid().

◆ ccFractionCore()

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 28 of file mac_cutcell.hpp.

Referenced by ccFaceOpen(), and main().

◆ ccSampleExt()

double peclet::flow::ccSampleExt ( CCConst  sdf,
C3  ext,
double  x,
double  y,
double  z 
)

◆ ccFaceOpen()

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 73 of file mac_cutcell.hpp.

References ccFractionCore(), and ccSampleExt().

Referenced by buildOpenness().

◆ buildOpenness()

void peclet::flow::buildOpenness ( CCField  ox,
CCField  oy,
CCField  oz,
CCConst  sdf,
C3  ext,
double  dx,
double  dy,
double  dz 
)
inline

◆ coarsenOpenAvg()

void peclet::flow::coarsenOpenAvg ( CCField  oxc,
CCField  oyc,
CCField  ozc,
CCConst  oxf,
CCConst  oyf,
CCConst  ozf,
C3  cext,
C3  fext,
int  g,
C3  cinner,
C3  ratio 
)
inline

◆ residualCutcell()

void peclet::flow::residualCutcell ( CCField  r,
CCConst  x,
CCConst  b,
FPC  AC,
FPC  AW,
FPC  AE,
FPC  AS,
FPC  AN,
FPC  AB,
FPC  AT,
C3  e,
int  g 
)
inline

Definition at line 83 of file mac_cutcell_mg.hpp.

References AC.

Referenced by DistMG::vcycle(), and peclet::flow::CutcellMG::vcycle().

◆ restrictAvg()

void peclet::flow::restrictAvg ( CCField  coarse,
CCConst  fine,
C3  cext,
C3  fext,
int  g,
C3  cinner,
C3  ratio 
)
inline

◆ prolongAdd()

void peclet::flow::prolongAdd ( CCField  fine,
CCConst  coarse,
C3  fext,
C3  cext,
int  g,
C3  finner,
C3  ratio 
)
inline

◆ ibmIsCut()

bool peclet::flow::ibmIsCut ( float  sc,
const float  sn[6] 
)

Definition at line 29 of file mac_ibm.hpp.

Referenced by buildIbmOverlay(), and ibmCleanFluidMask().

◆ buildIbmOverlay()

template<int SCHEME>
int peclet::flow::buildIbmOverlay ( CCConst  sdf,
C3  ext,
int  g,
Off3  off,
int  bc_type,
const IbmOverlay ov,
Kokkos::View< int *, CCMem idMap,
Kokkos::View< int, CCMem counter 
)
inline

◆ ibmVolfrac()

void peclet::flow::ibmVolfrac ( CCField  theta,
CCConst  sdf,
C3  ext,
Off3  off 
)
inline

◆ ibmSolidMask()

void peclet::flow::ibmSolidMask ( CCField  mask,
CCConst  sdf,
C3  ext,
Off3  off 
)
inline

◆ ibmCleanFluidMask()

void peclet::flow::ibmCleanFluidMask ( CCField  m,
CCConst  sdf,
C3  ext,
Off3  off 
)
inline

◆ ibmRbgsStencilColor()

void peclet::flow::ibmRbgsStencilColor ( CCField  x,
CCConst  b,
MConst  AC,
MConst  AW,
MConst  AE,
MConst  AS,
MConst  AN,
MConst  AB,
MConst  AT,
CCConst  solidmask,
C3  ext,
C3  og,
int  g,
int  color 
)
inline

◆ ibmRbgsSweep()

void peclet::flow::ibmRbgsSweep ( CCField  x,
CCConst  b,
MConst  AC,
MConst  AW,
MConst  AE,
MConst  AS,
MConst  AN,
MConst  AB,
MConst  AT,
CCConst  solidmask,
C3  ext,
C3  og,
int  g 
)
inline

Definition at line 147 of file mac_ibm.hpp.

References AC, and ibmRbgsStencilColor().

Referenced by main().

◆ mgPeriodicFill()

void peclet::flow::mgPeriodicFill ( SField  f,
I3  e,
int  N,
int  g 
)
inline

◆ buildCutcellOp()

template<class OpV >
void peclet::flow::buildCutcellOp ( OpV  AC,
OpV  AW,
OpV  AE,
OpV  AS,
OpV  AN,
OpV  AB,
OpV  AT,
CCConst  ox,
CCConst  oy,
CCConst  oz,
C3  e,
int  g,
double  gfx,
double  gfy,
double  gfz 
)
inline

Definition at line 23 of file mac_pressure.hpp.

References AC.

Referenced by DistMG::init(), main(), and peclet::flow::CutcellMG::setOpenness().

◆ divergOpen()

void peclet::flow::divergOpen ( CCConst  u,
CCConst  v,
CCConst  w,
CCConst  ox,
CCConst  oy,
CCConst  oz,
CCField  d,
C3  e,
int  g 
)
inline

◆ cutcellSmoothColor()

template<class OpV >
void peclet::flow::cutcellSmoothColor ( CCField  phi,
CCConst  b,
OpV  AC,
OpV  AW,
OpV  AE,
OpV  AS,
OpV  AN,
OpV  AB,
OpV  AT,
C3  e,
C3  og,
int  g,
int  color 
)
inline

◆ applyCutcellOp()

template<class OpV >
void peclet::flow::applyCutcellOp ( CCField  y,
CCConst  x,
OpV  AC,
OpV  AW,
OpV  AE,
OpV  AS,
OpV  AN,
OpV  AB,
OpV  AT,
C3  e,
int  g 
)
inline

◆ projectCorrect()

void peclet::flow::projectCorrect ( CCField  u,
CCField  v,
CCField  w,
CCConst  phi,
C3  e,
int  g 
)
inline

Definition at line 105 of file mac_pressure.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ projectCorrectVar()

void peclet::flow::projectCorrectVar ( CCField  u,
CCField  v,
CCField  w,
CCConst  phi,
CCConst  rho,
double  rho0,
C3  e,
int  g 
)
inline

Definition at line 123 of file mac_pressure.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ buildRhoCoeff()

void peclet::flow::buildRhoCoeff ( CCField  cx,
CCField  cy,
CCField  cz,
CCConst  ox,
CCConst  oy,
CCConst  oz,
CCConst  rho,
double  rho0,
C3  e,
int  g 
)
inline

Definition at line 143 of file mac_pressure.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ divergOpenEps()

void peclet::flow::divergOpenEps ( CCConst  u,
CCConst  v,
CCConst  w,
CCConst  ox,
CCConst  oy,
CCConst  oz,
CCConst  eps,
CCField  d,
C3  e,
int  g 
)
inline

◆ buildPorousCoeff()

void peclet::flow::buildPorousCoeff ( CCField  cx,
CCField  cy,
CCField  cz,
CCConst  ox,
CCConst  oy,
CCConst  oz,
CCConst  eps,
C3  e,
int  g 
)
inline

Definition at line 187 of file mac_pressure.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ buildPorousCoeffDrag()

void peclet::flow::buildPorousCoeffDrag ( CCField  cx,
CCField  cy,
CCField  cz,
CCConst  ox,
CCConst  oy,
CCConst  oz,
CCConst  eps,
CCConst  beta,
double  idt,
C3  e,
int  g 
)
inline

Definition at line 209 of file mac_pressure.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ projectCorrectPorousDrag()

void peclet::flow::projectCorrectPorousDrag ( CCField  u,
CCField  v,
CCField  w,
CCConst  phi,
CCConst  beta,
double  idt,
C3  e,
int  g 
)
inline

Definition at line 226 of file mac_pressure.hpp.

Referenced by peclet::flow::Solver< Grid >::project().

◆ innerToExt()

std::size_t peclet::flow::innerToExt ( long  c,
Ext3  ext,
int  ghost,
Ext3  inner 
)

Definition at line 39 of file mac_reductions.hpp.

References peclet::flow::Ext3::x, and peclet::flow::Ext3::y.

Referenced by localDot(), and localSumMax().

◆ localSumMax()

SumMax peclet::flow::localSumMax ( DConst  f,
Ext3  ext,
int  ghost,
Ext3  inner 
)
inline

Local sum and max|.| over the inner cells.

Definition at line 48 of file mac_reductions.hpp.

References innerToExt(), peclet::flow::SumMax::maxabs, peclet::flow::SumMax::sum, peclet::flow::Ext3::x, peclet::flow::Ext3::y, and peclet::flow::Ext3::z.

Referenced by main().

◆ localDot()

double peclet::flow::localDot ( DConst  a,
DConst  b,
Ext3  ext,
int  ghost,
Ext3  inner 
)
inline

Local inner product <a,b> over the inner cells.

Definition at line 67 of file mac_reductions.hpp.

References innerToExt(), peclet::flow::Ext3::x, peclet::flow::Ext3::y, and peclet::flow::Ext3::z.

Referenced by main().

◆ subtractAll()

void peclet::flow::subtractAll ( DField  f,
double  m 
)
inline

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().

◆ L3()

◆ diffSmoothColor()

void peclet::flow::diffSmoothColor ( SField  c,
SConst  b,
I3  e,
I3  og,
int  g,
double  beta,
double  Ac,
int  color,
SConst  dcorr 
)
inline

◆ poisSmoothColor()

void peclet::flow::poisSmoothColor ( SField  phi,
SConst  d,
I3  e,
I3  og,
int  g,
int  color 
)
inline

Definition at line 51 of file mac_stencils.hpp.

References L3(), peclet::flow::I3::x, peclet::flow::I3::y, and peclet::flow::I3::z.

Referenced by poisSweep().

◆ divergence()

void peclet::flow::divergence ( SConst  u,
SConst  v,
SConst  w,
SField  d,
I3  e,
int  g 
)
inline

Definition at line 67 of file mac_stencils.hpp.

References L3().

Referenced by main(), peclet::flow::FlowReference::maxDivU(), and peclet::flow::FlowReference::step().

◆ poisSweep()

void peclet::flow::poisSweep ( SField  phi,
SConst  d,
I3  e,
I3  og,
int  g 
)
inline

Definition at line 79 of file mac_stencils.hpp.

References poisSmoothColor().

Referenced by main(), and peclet::flow::FlowReference::step().

◆ restrict_()

void peclet::flow::restrict_ ( TField  coarse,
TConst  fine,
T3  cext,
T3  fext,
int  g,
T3  cinner,
T3  ratio 
)
inline

◆ trilerp()

double peclet::flow::trilerp ( TConst  c,
double  x,
double  y,
double  z,
T3  cext 
)

Definition at line 48 of file mac_transfer.hpp.

References F, peclet::flow::T3::x, and peclet::flow::T3::y.

Referenced by prolong().

◆ prolong()

void peclet::flow::prolong ( TField  fine,
TConst  coarse,
T3  fext,
T3  cext,
int  g,
T3  finner,
T3  ratio 
)
inline

◆ correct()

void peclet::flow::correct ( TField  u,
TField  v,
TField  w,
TConst  phi,
T3  e,
int  g 
)
inline

Definition at line 83 of file mac_transfer.hpp.

Referenced by main(), and peclet::flow::FlowReference::step().

◆ residualVarPin()

void peclet::flow::residualVarPin ( CCField  r,
CCConst  x,
CCConst  b,
FPC  AC,
FPC  AW,
FPC  AE,
FPC  AS,
FPC  AN,
FPC  AB,
FPC  AT,
CCConst  pin,
C3  e,
int  g 
)
inline

Definition at line 33 of file mac_velocity_mg.hpp.

References AC.

Referenced by peclet::flow::VelocityMG::vcycle().

◆ prolongMasked()

void peclet::flow::prolongMasked ( CCField  fine,
CCConst  coarse,
CCConst  mask,
C3  fext,
C3  cext,
int  g,
C3  finner,
C3  ratio,
double  eps 
)
inline

◆ buildVelocityStaircase()

void peclet::flow::buildVelocityStaircase ( FPV  AC,
FPV  AW,
FPV  AE,
FPV  AS,
FPV  AN,
FPV  AB,
FPV  AT,
CCConst  theta,
C3  e,
int  g,
double  bx,
double  by,
double  bz,
double  thresh,
double  idiag 
)
inline

Definition at line 91 of file mac_velocity_mg.hpp.

References AC.

Referenced by peclet::flow::VelocityMG::setStaircase().

◆ buildAdvCoarse()

void peclet::flow::buildAdvCoarse ( FPV  AC,
FPV  AW,
FPV  AE,
FPV  AS,
FPV  AN,
FPV  AB,
FPV  AT,
CCConst  U,
CCConst  V,
CCConst  W,
int  comp,
C3  e,
int  g,
double  bx,
double  by,
double  bz,
double  fouw,
double  sx,
double  sy,
double  sz,
double  idiag 
)
inline

Definition at line 121 of file mac_velocity_mg.hpp.

References AC, and sadv::fou_operator_aniso().

Referenced by peclet::flow::VelocityMG::buildUpwindCoarse().

◆ buildConstAniso()

void peclet::flow::buildConstAniso ( FPV  AC,
FPV  AW,
FPV  AE,
FPV  AS,
FPV  AN,
FPV  AB,
FPV  AT,
C3  e,
double  bx,
double  by,
double  bz,
double  idiag 
)
inline

Definition at line 148 of file mac_velocity_mg.hpp.

References AC.

Referenced by peclet::flow::VelocityMG::setDomainBcOp().

◆ boundaryFold()

void peclet::flow::boundaryFold ( FPV  AC,
C3  e,
int  g,
int  a,
int  s,
double  beta 
)
inline

Definition at line 171 of file mac_velocity_mg.hpp.

References AC.

Referenced by peclet::flow::VelocityMG::setDomainBcOp().

◆ fillBcGhost()

void peclet::flow::fillBcGhost ( CCField  x,
C3  e,
int  g,
int  a,
int  s,
int  dirichlet 
)
inline

Definition at line 190 of file mac_velocity_mg.hpp.

Referenced by peclet::flow::VelocityMG::fillProlongBcGhosts().

◆ zeroPlane()

void peclet::flow::zeroPlane ( CCField  m,
C3  e,
int  axis,
int  idx 
)
inline

Definition at line 216 of file mac_velocity_mg.hpp.

Referenced by peclet::flow::VelocityMG::setDomainBcOp().

◆ thresholdMask()

void peclet::flow::thresholdMask ( CCField  m,
CCConst  theta,
double  thresh 
)
inline

Definition at line 228 of file mac_velocity_mg.hpp.

Referenced by peclet::flow::VelocityMG::setStaircase().

◆ mulMask()

void peclet::flow::mulMask ( CCField  r,
CCConst  m 
)
inline

Definition at line 238 of file mac_velocity_mg.hpp.

Referenced by peclet::flow::VelocityMG::vcycle().

◆ applyClosure()

◆ scalarBuildDiffusionOpen()

void peclet::flow::scalarBuildDiffusionOpen ( CCField  AC,
CCField  AW,
CCField  AE,
CCField  AS,
CCField  AN,
CCField  AB,
CCField  AT,
CCConst  ox,
CCConst  oy,
CCConst  oz,
double  D,
double  idt,
C3  e,
int  g 
)
inline

Definition at line 54 of file scalar_transport.hpp.

References AC.

Referenced by peclet::flow::Solver< Grid >::advanceScalars().

◆ scalarBuildRhs()

void peclet::flow::scalarBuildRhs ( CCField  b,
CCConst  cOld,
CCConst  U,
CCConst  V,
CCConst  W,
CCConst  ox,
CCConst  oy,
CCConst  oz,
double  idt,
int  scheme,
C3  e,
int  g 
)
inline