13#ifndef CD_EBMGRESTRICT_H
14#define CD_EBMGRESTRICT_H
17#include <EBLevelGrid.H>
18#include <ProblemDomain.H>
23#include <CD_NamespaceHeader.H>
44 EBMGRestrict(
const EBLevelGrid& a_eblgFine,
const EBLevelGrid& a_eblgCoar,
const int& a_refRat)
noexcept;
58 define(
const EBLevelGrid& a_eblgFine,
const EBLevelGrid& a_eblgCoar,
const int& a_refRat)
noexcept;
70 const LevelData<EBCellFAB>& a_fineData,
71 const Interval a_variables)
const noexcept;
121#include <CD_NamespaceFooter.H>
Class for restricting multigrid residual onto a coarser grid.
Definition CD_EBMGRestrict.H:31
EBLevelGrid m_eblgFine
Fine grid.
Definition CD_EBMGRestrict.H:92
Copier m_copier
Copier for making copying from the coarsened fine grids to the coarse grid go faster.
Definition CD_EBMGRestrict.H:107
IntVect m_ghostPhi
Number of ghost cells in data holders.
Definition CD_EBMGRestrict.H:87
bool m_isDefined
Defined or not.
Definition CD_EBMGRestrict.H:77
EBMGRestrict() noexcept
Default constructor. User must subsequently call the define function.
Definition CD_EBMGRestrict.cpp:23
virtual void define(const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_refRat) noexcept
Define function.
Definition CD_EBMGRestrict.cpp:42
int m_refRat
Refinement ratio.
Definition CD_EBMGRestrict.H:82
LayoutData< VoFIterator > m_vofitCoar
Iterator for iterating over cut-cells on the coarse level.
Definition CD_EBMGRestrict.H:112
EBLevelGrid m_eblgCoar
Coarse grid.
Definition CD_EBMGRestrict.H:97
EBLevelGrid m_eblgCoFi
Coarsened fine grids.
Definition CD_EBMGRestrict.H:102
virtual ~EBMGRestrict() noexcept
Destructor.
Definition CD_EBMGRestrict.cpp:36
virtual void restrictResidual(LevelData< EBCellFAB > &a_coarData, const LevelData< EBCellFAB > &a_fineData, const Interval a_variables) const noexcept
Restrict residual onto the coarse grid.
Definition CD_EBMGRestrict.cpp:111
LayoutData< BaseIVFAB< VoFStencil > > m_restrictStencils
Restriction stencils near the EB.
Definition CD_EBMGRestrict.H:118