13#ifndef CD_MFHELMHOLTZJUMPBCIMPLEM_H
14#define CD_MFHELMHOLTZJUMPBCIMPLEM_H
17#include <NeighborIterator.H>
21#include <CD_NamespaceHeader.H>
30 std::vector<Box> validBoxes;
32 Box curBox = dbl[a_dit];
35 validBoxes.emplace_back(curBox);
37 NeighborIterator nit(dbl);
38 for (nit.begin(a_dit); nit.ok(); ++nit) {
39 Box neighBox = dbl[nit()];
43 validBoxes.emplace_back(neighBox);
50 for (
int i = 0; i < a_stencil.size(); i++) {
51 const VolIndex& vof = a_stencil.vof(i);
52 const IntVect& iv = vof.gridIndex();
54 bool insideOneBox =
false;
55 for (
const auto& b : validBoxes) {
73 for (
int i = 0; i < a_stencil.size(); i++) {
74 contrib += a_stencil.weight(i) * a_phi(a_stencil.vof(i),
m_comp);
80#include <CD_NamespaceFooter.H>
Declaration of class for computing "jump interface" boundary conditions for multifluid Helmholtz code...
static constexpr int m_comp
Component where stencils are stored.
Definition CD_MFHelmholtzJumpBC.H:218
int m_ghostCF
Number of grid cells that were filled over the CF.
Definition CD_MFHelmholtzJumpBC.H:268
Real applyStencil(const VoFStencil &a_stencil, const EBCellFAB &a_phi) const
Apply a stencil and return the result.
Definition CD_MFHelmholtzJumpBCImplem.H:70
bool isStencilValidCF(const VoFStencil &a_stencil, const DataIndex &a_dit) const
Check if stencil is valid.
Definition CD_MFHelmholtzJumpBCImplem.H:24
MFLevelGrid m_mflg
Grids.
Definition CD_MFHelmholtzJumpBC.H:233
virtual ProblemDomain getDomain() const
Get the problem domain.
Definition CD_MFLevelGrid.cpp:72
virtual DisjointBoxLayout getGrids() const
Get the grids.
Definition CD_MFLevelGrid.cpp:78