23#include <DisjointBoxLayout.H>
26#include <EBISLayout.H>
34#include <CD_NamespaceHeader.H>
53 virtual ~PetscGrid() noexcept;
72 define(const Vector<RefCountedPtr<
MFLevelGrid>>& a_levelGrids,
73 const Vector<RefCountedPtr<
MFLevelGrid>>& a_levelGridsCoFi,
74 const Vector<RefCountedPtr<
MFLevelGrid>>& a_levelGridsFiCo,
75 const Vector<RefCountedPtr<LevelData<BaseFab<
bool>>>>& a_validCells,
76 const Vector<RefCountedPtr<LevelData<BaseFab<
bool>>>>& a_coarHaloCF,
77 const Vector<RefCountedPtr<LevelData<BaseFab<
bool>>>>& a_fineHaloCF,
78 const Vector<
int>& a_refinementRatios,
79 const Vector<Real>& a_dx,
80 const
int a_finestLevel,
81 const
int a_numGhost) noexcept;
96 create(Vec& x) noexcept;
104 destroy(Vec& x) noexcept;
112 setValue(Vec& a_x, const PetscScalar a_value) const noexcept;
120 putChomboInPetsc(Vec& a_x, const MFAMRCellData& a_y) const noexcept;
128 putPetscInChombo(MFAMRCellData& a_y, const Vec& a_x) const noexcept;
134 dumpPetscGrid(const std::
string& a_filename) const noexcept;
175 PetscInt m_numLocalRows;
180 PetscInt m_numGlobalRows;
185 PetscInt m_localRowBegin;
190 ISLocalToGlobalMapping m_localToGlobalIS;
195 Vector<PetscInt> m_numRowsPerRank;
205 Vector<RefCountedPtr<
MFLevelGrid>> m_levelGridsCoFi;
210 Vector<RefCountedPtr<
MFLevelGrid>> m_levelGridsFiCo;
215 Vector<RefCountedPtr<LevelData<BaseFab<
bool>>>> m_validCells;
220 Vector<RefCountedPtr<LevelData<BaseFab<
bool>>>> m_coarHaloCF;
225 Vector<RefCountedPtr<LevelData<BaseFab<
bool>>>> m_fineHaloCF;
230 Vector<
int> m_refRat;
242 Vector<RefCountedPtr<LevelData<BaseFab<PetscAMRCell>>>> m_amrToPetsc;
249 Vector<RefCountedPtr<LevelData<BaseFab<PetscAMRCell>>>> m_amrToPetscCoFi;
256 Vector<RefCountedPtr<LevelData<BaseFab<PetscAMRCell>>>> m_amrToPetscFiCo;
262 Vector<RefCountedPtr<LayoutData<Vector<
PetscDOF>>>> m_petscToAMR[2];
270 defineAMRCells() noexcept;
279 definePetscRows() noexcept;
285 defineCoFiBuffers() noexcept;
288#include <CD_NamespaceFooter.H>
Silly, but useful functions that override standard Chombo HDF5 IO.
Class for holding data across EBAMR hierarchies.
Declaration of a wrapper for wrapping multifluid EBLevelGrids.
Declaration of a cell type for indicating if a cell is covered, ghost, etc.
Declaration of a simple mapping between a PETSc index and an AMR cell.
Wrapper class for holding multifluid EBLevelGrids.
Definition CD_MFLevelGrid.H:30
Mapping between a PETSc local row index and an AMR grid cell.
Definition CD_PetscDOF.H:27