chombo-discharge
Loading...
Searching...
No Matches
CD_PhaseRealm.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_PHASEREALM_H
14#define CD_PHASEREALM_H
15
16// Std includes
17#include <array>
18
19// Chombo includes
20#include <DisjointBoxLayout.H>
21#include <ProblemDomain.H>
22
23// Our includes
26#include <CD_LoadBalancing.H>
27#include <CD_MFLevelGrid.H>
28#include <CD_EBCoarAve.H>
29#include <CD_EBReflux.H>
30#include <CD_DomainFluxIFFAB.H>
33#include <CD_EBGradient.H>
42#include <CD_NamespaceHeader.H>
43
44// These are operators that can be defined.
45static const std::string s_outer_cf_region = "outer_cf_region"; // Outside coarse-fine region
46static const std::string s_inner_cf_region = "inner_cf_region"; // Inside coarse-fine region
47static const std::string s_outer_particle_halo = "outer_particle_halo"; // Outside particle halo region
48static const std::string s_inner_particle_halo = "inner_particle_halo"; // Inside particle halo region
49static const std::string s_cfivs = "cfivs"; // Coarse-fine interface
50static const std::string s_eb_gradient = "eb_gradient"; // For computing gradients
51static const std::string s_eb_irreg_interp = "eb_irreg_interp"; // For data recentering
52static const std::string s_eb_coar_ave = "eb_coar_ave"; // For coarsening
53static const std::string s_eb_fill_patch = "eb_fill_patch"; // For regridding data
54static const std::string s_eb_fine_interp = "eb_fine_interp"; // For linearly filling ghost cells
55static const std::string s_eb_flux_reg = "eb_flux_reg"; // For flux registration
56static const std::string s_eb_redist = "eb_redist"; // For redistribution
57static const std::string s_noncons_div = "eb_non_cons_div"; // For computing non-conservative divergences
58static const std::string s_eb_multigrid = "eb_multigrid"; // For multigrid interpolation
59static const std::string s_levelset = "levelset"; // For putting level-set on mesh
60static const std::string s_particle_mesh = "particle_mesh"; // For doing particle-mesh operations.
61
73{
74public:
78 PhaseRealm();
79
84 PhaseRealm(const PhaseRealm& a_other) = delete;
85
90 PhaseRealm(const PhaseRealm&& a_other) = delete;
91
97 operator=(const PhaseRealm& a_other) = delete;
98
104 operator=(const PhaseRealm&& a_other) = delete;
105
109 virtual ~PhaseRealm();
110
131 void
132 define(const Vector<DisjointBoxLayout>& a_grids,
133 const Vector<ProblemDomain>& a_domains,
134 const Vector<int>& a_refRat,
135 const Vector<Real>& a_dx,
136 const RealVect& a_probLo,
137 const int a_finestLevel,
138 const int a_ebGhost,
139 const int a_numGhost,
140 const int a_lsfGhost,
141 const int a_redistRad,
142 const int a_mgInterpOrder,
143 const int a_mgInterpRadius,
144 const int a_mgInterpWeight,
145 const CellCentroidInterpolation::Type a_centroidStencil,
146 const EBCentroidInterpolation::Type a_ebStencil,
147 const RefCountedPtr<BaseIF>& a_baseif,
148 const RefCountedPtr<EBIndexSpace>& a_ebis);
149
156 void
157 setGrids(const Vector<DisjointBoxLayout>& a_grids, const int a_finestLevel);
158
162 void
163 preRegrid();
164
170 void
171 regridBase(const int a_lmin);
172
178 void
179 regridOperators(const int a_lmin);
180
186 void
187 registerOperator(const std::string& a_operator);
188
194 bool
195 queryOperator(const std::string& a_operator) const;
196
201 const RefCountedPtr<EBIndexSpace>&
202 getEBIndexSpace() const;
203
208 const Vector<int>&
209 getRefinementRatios() const;
210
215 const Vector<Real>&
216 getDx() const;
217
222 const Vector<DisjointBoxLayout>&
223 getGrids() const;
224
229 const Vector<ProblemDomain>&
230 getDomains() const;
231
236 const Vector<EBISLayout>&
237 getEBISLayout() const;
238
243 const Vector<RefCountedPtr<EBLevelGrid>>&
244 getEBLevelGrid() const;
245
250 const Vector<RefCountedPtr<EBLevelGrid>>&
251 getEBLevelGridCoFi() const;
252
257 const Vector<RefCountedPtr<EBLevelGrid>>&
258 getEBLevelGridFiCo() const;
259
265 Vector<RefCountedPtr<LayoutData<VoFIterator>>>&
266 getVofIterator() const;
267
272 Vector<RefCountedPtr<LayoutData<VoFIterator>>>&
274
282 Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>>&
283 getFaceIterator() const;
284
292 Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>>&
294
304 Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>>&
306
315 Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>>&
317
322 const Vector<RefCountedPtr<CellCentroidInterpolation>>&
324
329 const Vector<RefCountedPtr<EBCentroidInterpolation>>&
331
336 const Vector<RefCountedPtr<EBNonConservativeDivergence>>&
338
343 const Vector<RefCountedPtr<EBGradient>>&
344 getGradientOp() const;
345
351 getParticleMesh() const;
352
358 getSurfaceDeposition() const;
359
364 Vector<RefCountedPtr<EBCoarAve>>&
365 getCoarseAverage() const;
366
371 Vector<RefCountedPtr<EBCoarseFineParticleMesh>>&
373
378 Vector<RefCountedPtr<EBMultigridInterpolator>>&
380
385 Vector<RefCountedPtr<EBGhostCellInterpolator>>&
387
392 Vector<RefCountedPtr<EBCoarseToFineInterp>>&
393 getFineInterp() const;
394
399 Vector<RefCountedPtr<EBReflux>>&
400 getFluxRegister() const;
401
406 Vector<RefCountedPtr<EBFluxRedistribution>>&
407 getRedistributionOp() const;
408
413 const EBAMRFAB&
414 getLevelset() const;
415
420 const EBAMRCellData&
421 getRegularCells() const;
422
427 const EBAMRCellData&
428 getCoveredCells() const;
429
434 const EBAMRCellData&
435 getNotCoveredCells() const;
436
441 const EBAMRCellData&
442 getIrregularCells() const;
443
444protected:
449
454
459
464
469
474
479
484
489
494
499
504
508 RealVect m_probLo;
509
514
519
523 Vector<Real> m_dx;
524
529
533 RefCountedPtr<EBIndexSpace> m_ebis;
534
538 RefCountedPtr<BaseIF> m_baseif;
539
543 std::map<std::string, bool> m_operatorMap;
544
548 Vector<DisjointBoxLayout> m_grids;
549
553 Vector<ProblemDomain> m_domains;
554
558 Vector<EBISLayout> m_ebisl;
559
563 Vector<RefCountedPtr<EBLevelGrid>> m_eblg;
564
569 Vector<RefCountedPtr<EBLevelGrid>> m_eblgCoFi;
570
575 Vector<RefCountedPtr<EBLevelGrid>> m_eblgFiCo;
576
580 EBAMRFAB m_levelset;
581
585 EBAMRCellData m_regularCells;
586
590 EBAMRCellData m_coveredCells;
591
595 EBAMRCellData m_notCoveredCells;
596
600 EBAMRCellData m_irregularCells;
601
605 mutable Vector<RefCountedPtr<LayoutData<VoFIterator>>> m_vofIter;
606
610 mutable Vector<RefCountedPtr<LayoutData<VoFIterator>>> m_multiCutVofIter;
611
615 mutable Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>> m_faceIter;
616
622 mutable Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>> m_faceIterNoBoundary;
623
630 mutable Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>> m_faceIterTanGhost;
631
635 mutable Vector<RefCountedPtr<LayoutData<std::array<FaceIterator, SpaceDim>>>> m_multiCutFaceIter;
636
640 mutable Vector<RefCountedPtr<EBCoarAve>> m_coarAve;
641
645 mutable Vector<RefCountedPtr<EBMultigridInterpolator>> m_multigridInterpolator;
646
650 mutable Vector<RefCountedPtr<EBGhostCellInterpolator>> m_ghostCellInterpolator;
651
655 mutable Vector<RefCountedPtr<EBCoarseToFineInterp>> m_ebFineInterp;
656
660 mutable Vector<RefCountedPtr<EBReflux>> m_ebReflux;
661
665 mutable Vector<RefCountedPtr<EBFluxRedistribution>> m_redistributionOp;
666
670 mutable Vector<RefCountedPtr<EBGradient>> m_gradientOp;
671
676
681
685 mutable Vector<RefCountedPtr<CellCentroidInterpolation>> m_cellCentroidInterpolation;
686
690 mutable Vector<RefCountedPtr<EBCentroidInterpolation>> m_ebCentroidInterpolation;
691
695 mutable Vector<RefCountedPtr<EBNonConservativeDivergence>> m_nonConservativeDivergence;
696
701 void
702 defineEBLevelGrid(const int a_lmin);
703
708 void
709 defineVofIterator(const int a_lmin);
710
715 void
716 defineEBCoarAve(const int a_lmin);
717
722 void
723 defineEBMultigrid(const int a_lmin);
724
729 void
730 defineFillPatch(const int a_lmin);
731
736 void
737 defineEBCoarseToFineInterp(const int a_lmin);
738
743 void
744 defineMultigridInjection(const int a_lmin);
745
751 void
752 defineFluxReg(const int a_lmin, const int a_regsize);
753
759 void
760 defineRedistOper(const int a_lmin, const int a_regsize);
761
767 void
768 defineFineToCoarRedistOper(const int a_lmin, const int a_regsize);
769
775 void
776 defineCoarToFineRedistOper(const int a_lmin, const int a_regsize);
777
783 void
784 defineCoarToCoarRedistOper(const int a_lmin, const int a_regsize);
785
789 void
791
796 void
797 defineGradSten(const int a_lmin);
798
802 void
804
809 void
810 defineNonConservativeDivergence(const int a_lmin);
811
817 void
818 defineLevelSet(const int a_lmin, const int a_numGhost);
819
828 void
829 defineMasks(const int a_lmin, const int a_numGhost);
830};
831
832#include <CD_NamespaceFooter.H>
833
834#endif
Declaration of class for interpolating cell-centered data to cell centroids.
Declaration of base class for defining geometries.
Declaration of factory class for DomainFluxIFFAB.
Declaration of a BaseIFFAB wrapper that holds domain fluxes.
Declaration of an AMR driver that deposits/interpolates ParticleContainer particles.
Declaration of a class for handling surface deposition of particles with EB and AMR.
Declaration of class for interpolating cell-centered data to cell centroids.
Declaration of conservative coarsening utility.
Declaration of an aggregated class for regrid operations.
Declaration of a class which can perform redistribution in an EB-AMR context.
Declaration of a class which interpolates ghost cells across the coarse-fine interface.
Declaration of a class which computes gradients in an EBAMR context.
Parent base class for multigrid interpolation.
Declaration of a class for computing non-conservative divergences.
Declaration of a class which can reflux over the coarse-fine interface.
Declaration of a static class for various load balancing operations.
Declaration of a wrapper for wrapping multifluid EBLevelGrids.
Multi-fluid index space.
Type
Supported interpolation types.
Definition CD_CellCentroidInterpolation.H:44
AMR driver that deposits/interpolates ParticleContainer particles across the hierarchy.
Definition CD_EBAMRParticleMesh.H:74
class for handling surface deposition of particles with EB and AMR.
Definition CD_EBAMRSurfaceDeposition.H:30
Type
Supported interpolation types.
Definition CD_EBCentroidInterpolation.H:44
Class that holds important things for doing AMR over a specific phase and processor distribution.
Definition CD_PhaseRealm.H:73
PhaseRealm & operator=(const PhaseRealm &&a_other)=delete
Disallowed move assignment operator.
Vector< RefCountedPtr< EBLevelGrid > > m_eblgFiCo
Coarsened fine-level EB grids.
Definition CD_PhaseRealm.H:575
Vector< RefCountedPtr< EBCoarseToFineInterp > > & getFineInterp() const
Get piecewise linear ghost cell interpolation utility.
Definition CD_PhaseRealm.cpp:1148
void defineNonConservativeDivergence(const int a_lmin)
Define non-conservative divergence stencils.
Definition CD_PhaseRealm.cpp:968
virtual ~PhaseRealm()
Destructor.
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > m_faceIterNoBoundary
Face iterators over cut-cell faces in the valid box (FaceStop::SurroundingNoBoundary).
Definition CD_PhaseRealm.H:622
int m_finestLevel
Finest grid level.
Definition CD_PhaseRealm.H:468
EBAMRSurfaceDeposition m_surfaceDeposition
For doing particle deposition onto surfaces.
Definition CD_PhaseRealm.H:680
Vector< RefCountedPtr< EBMultigridInterpolator > > m_multigridInterpolator
Multigrid interpolation utility.
Definition CD_PhaseRealm.H:645
const Vector< EBISLayout > & getEBISLayout() const
Get EBIS layout.
Definition CD_PhaseRealm.cpp:1018
const Vector< RefCountedPtr< EBNonConservativeDivergence > > & getNonConservativeDivergence() const
Get objects for computing non-conservative divergences.
Definition CD_PhaseRealm.cpp:1108
std::map< std::string, bool > m_operatorMap
Operator map for checking which ones are registered.
Definition CD_PhaseRealm.H:543
Vector< RefCountedPtr< EBCoarseFineParticleMesh > > & getEBCoarseFineParticleMesh() const
Get deposition operator.
Vector< RefCountedPtr< EBGhostCellInterpolator > > m_ghostCellInterpolator
Ghost cell interpolation utility.
Definition CD_PhaseRealm.H:650
Vector< RefCountedPtr< EBCoarAve > > m_coarAve
Coarsening operator.
Definition CD_PhaseRealm.H:640
bool queryOperator(const std::string &a_operator) const
Query if an AMR operator has been registered.
Definition CD_PhaseRealm.cpp:376
Vector< RefCountedPtr< EBCoarseToFineInterp > > m_ebFineInterp
Regridding utility (for filling new grid patches)
Definition CD_PhaseRealm.H:655
Vector< RefCountedPtr< EBLevelGrid > > m_eblgCoFi
Coarsened fine-level EB grids.
Definition CD_PhaseRealm.H:569
Vector< DisjointBoxLayout > m_grids
AMR grids.
Definition CD_PhaseRealm.H:548
void defineIrregSten()
Define data recentering stencils.
Definition CD_PhaseRealm.cpp:944
PhaseRealm()
Default constructor. Must subsequently call define.
Definition CD_PhaseRealm.cpp:29
const Vector< DisjointBoxLayout > & getGrids() const
Get AMR grids.
Definition CD_PhaseRealm.cpp:1006
Vector< RefCountedPtr< EBFluxRedistribution > > & getRedistributionOp() const
Get the redistribution operators.
Definition CD_PhaseRealm.cpp:1168
void defineEBCoarAve(const int a_lmin)
Define coarsening utility.
Definition CD_PhaseRealm.cpp:665
EBCentroidInterpolation::Type m_ebCentroidInterpolationType
Cell-center to cell-centroid interpolation method.
Definition CD_PhaseRealm.H:518
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > & getFaceIteratorNoBoundary() const
Return face iterators over cut-cell faces in each valid grid box (FaceStop::SurroundingNoBoundary).
Definition CD_PhaseRealm.cpp:1060
void defineCoarToFineRedistOper(const int a_lmin, const int a_regsize)
Define operator redistribution utility.
EBAMRFAB m_levelset
Level-set function.
Definition CD_PhaseRealm.H:580
Vector< int > m_refinementRatios
Refinement ratios between levels.
Definition CD_PhaseRealm.H:528
const Vector< RefCountedPtr< CellCentroidInterpolation > > & getCellCentroidInterpolation() const
Get objects for interpolation from cell centers to centroids.
Definition CD_PhaseRealm.cpp:1088
void defineRedistOper(const int a_lmin, const int a_regsize)
Define operator redistribution utility.
Definition CD_PhaseRealm.cpp:820
Vector< RefCountedPtr< EBCoarAve > > & getCoarseAverage() const
Get coarsening operators.
Definition CD_PhaseRealm.cpp:1118
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > & getMultiCutFaceIterator() const
Return face iterators restricted to multiply-cut faces in each valid grid box.
Definition CD_PhaseRealm.cpp:1072
const Vector< RefCountedPtr< EBLevelGrid > > & getEBLevelGridCoFi() const
Get coarsened fine grids.
Definition CD_PhaseRealm.cpp:1030
void defineEBMultigrid(const int a_lmin)
Define multigrid interpolation utility.
Definition CD_PhaseRealm.cpp:690
PhaseRealm(const PhaseRealm &&a_other)=delete
Disallowed move ctor.
Vector< RefCountedPtr< EBReflux > > & getFluxRegister() const
Get flux register utility.
Definition CD_PhaseRealm.cpp:1158
Vector< RefCountedPtr< EBFluxRedistribution > > m_redistributionOp
Redistribution utilities.
Definition CD_PhaseRealm.H:665
Vector< RefCountedPtr< EBLevelGrid > > m_eblg
EB level grids.
Definition CD_PhaseRealm.H:563
EBAMRCellData m_coveredCells
Cell mask with value 1 in covered cells and 0 elsewhere.
Definition CD_PhaseRealm.H:590
const EBAMRCellData & getIrregularCells() const
Get the irregular-cell mask (value 1 in irregular/cut cells, 0 elsewhere).
Definition CD_PhaseRealm.cpp:1226
EBAMRParticleMesh & getParticleMesh() const
Get particle-mesh operator.
Definition CD_PhaseRealm.cpp:1178
Vector< RefCountedPtr< CellCentroidInterpolation > > m_cellCentroidInterpolation
For interpolating data from cell centers to cell centroids.
Definition CD_PhaseRealm.H:685
Vector< RefCountedPtr< LayoutData< VoFIterator > > > & getVofIterator() const
Return VoF iterators covering all cut-cells (singly- and multiply-cut) in each grid patch.
Definition CD_PhaseRealm.cpp:1042
Vector< EBISLayout > m_ebisl
EBIS layouts.
Definition CD_PhaseRealm.H:558
void defineCoarToCoarRedistOper(const int a_lmin, const int a_regsize)
Define operator redistribution utility.
Vector< RefCountedPtr< LayoutData< VoFIterator > > > m_multiCutVofIter
Cut-cell iterator restricted to multiply-cut cells (cells with more than one VoF)
Definition CD_PhaseRealm.H:610
void defineEBLevelGrid(const int a_lmin)
Define EBLevelGrids.
Definition CD_PhaseRealm.cpp:397
int m_multigridInterpolationWeight
Multigrid interpolator weight (for least squares)
Definition CD_PhaseRealm.H:503
Vector< Real > m_dx
Grid resolutions.
Definition CD_PhaseRealm.H:523
void defineLevelSet(const int a_lmin, const int a_numGhost)
Put the level-set on the mesh.
Definition CD_PhaseRealm.cpp:529
RefCountedPtr< BaseIF > m_baseif
Implicit/SD function.
Definition CD_PhaseRealm.H:538
void registerOperator(const std::string &a_operator)
Register an AMR operator.
Definition CD_PhaseRealm.cpp:353
void defineMasks(const int a_lmin, const int a_numGhost)
Define the regular/covered/irregular cell masks.
Definition CD_PhaseRealm.cpp:584
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > m_multiCutFaceIter
Face iterators over multiply-cut faces in each valid grid box (SurroundingNoBoundary stop criterion)
Definition CD_PhaseRealm.H:635
void setGrids(const Vector< DisjointBoxLayout > &a_grids, const int a_finestLevel)
Set grid method.
Definition CD_PhaseRealm.cpp:98
int m_multigridInterpolationOrder
Multigrid interpolator order.
Definition CD_PhaseRealm.H:493
void defineFluxReg(const int a_lmin, const int a_regsize)
Define flux register utility.
Definition CD_PhaseRealm.cpp:789
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > & getFaceIterator() const
Return face iterators over cut-cell faces in each valid grid box (FaceStop::SurroundingWithBoundary).
Definition CD_PhaseRealm.cpp:1054
void defineMultigridInjection(const int a_lmin)
Define multigrid injection utility.
EBAMRSurfaceDeposition & getSurfaceDeposition() const
Get the surface deposition operator.
Definition CD_PhaseRealm.cpp:1188
bool m_verbose
Verbose or not.
Definition CD_PhaseRealm.H:463
Vector< RefCountedPtr< LayoutData< VoFIterator > > > m_vofIter
Cut-cell iterator (all irregular cells)
Definition CD_PhaseRealm.H:605
Vector< RefCountedPtr< EBMultigridInterpolator > > & getMultigridInterpolator() const
Get multigrid interpolator.
Definition CD_PhaseRealm.cpp:1128
EBAMRParticleMesh m_particleMesh
For doing particle-mesh operations.
Definition CD_PhaseRealm.H:675
PhaseRealm(const PhaseRealm &a_other)=delete
Disallowed copy ctor.
const Vector< Real > & getDx() const
Returns resolutions.
Definition CD_PhaseRealm.cpp:1000
CellCentroidInterpolation::Type m_cellCentroidInterpolationType
Cell-center to cell-centroid interpolation method.
Definition CD_PhaseRealm.H:513
RealVect m_probLo
Lower-left corner of computational domain.
Definition CD_PhaseRealm.H:508
Vector< RefCountedPtr< EBCentroidInterpolation > > m_ebCentroidInterpolation
For interpolating data from cell centers to EB centroids.
Definition CD_PhaseRealm.H:690
const EBAMRFAB & getLevelset() const
Get level-set function.
Definition CD_PhaseRealm.cpp:1198
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > m_faceIter
Face iterators over cut-cell faces in the valid box (FaceStop::SurroundingWithBoundary).
Definition CD_PhaseRealm.H:615
int m_numGhostCells
Number of ghost cells in data holders.
Definition CD_PhaseRealm.H:473
const EBAMRCellData & getRegularCells() const
Get the regular-cell mask (value 1 in regular cells, 0 elsewhere).
Definition CD_PhaseRealm.cpp:1208
Vector< RefCountedPtr< EBNonConservativeDivergence > > m_nonConservativeDivergence
For computing non-conservative divergences.
Definition CD_PhaseRealm.H:695
void regridBase(const int a_lmin)
Regrid method for EBAMR base.
Definition CD_PhaseRealm.cpp:147
Vector< RefCountedPtr< EBGhostCellInterpolator > > & getGhostCellInterpolator() const
Get ghost cell interpolation utility.
Definition CD_PhaseRealm.cpp:1138
void defineEBCoarseToFineInterp(const int a_lmin)
Define ghost cell interpolation utility.
Definition CD_PhaseRealm.cpp:763
const Vector< RefCountedPtr< EBCentroidInterpolation > > & getEBCentroidInterpolation() const
Get objects for interpolation from cell centers to EB centroids.
Definition CD_PhaseRealm.cpp:1098
void defineGradSten(const int a_lmin)
Define gradient stencils.
Definition CD_PhaseRealm.cpp:891
PhaseRealm & operator=(const PhaseRealm &a_other)=delete
Disallowed copy assignment operator.
Vector< RefCountedPtr< EBReflux > > m_ebReflux
Flux register utility.
Definition CD_PhaseRealm.H:660
const Vector< RefCountedPtr< EBLevelGrid > > & getEBLevelGrid() const
Get EBLevelGrids.
Definition CD_PhaseRealm.cpp:1024
const Vector< RefCountedPtr< EBGradient > > & getGradientOp() const
Get gradient object.
Definition CD_PhaseRealm.cpp:1078
EBAMRCellData m_irregularCells
Cell mask with value 1 in irregular (cut) cells and 0 elsewhere.
Definition CD_PhaseRealm.H:600
const Vector< RefCountedPtr< EBLevelGrid > > & getEBLevelGridFiCo() const
Get refined grids.
Definition CD_PhaseRealm.cpp:1036
const Vector< int > & getRefinementRatios() const
Get refinement ratios.
Definition CD_PhaseRealm.cpp:994
void defineFillPatch(const int a_lmin)
Define regrid utility.
Definition CD_PhaseRealm.cpp:729
bool m_hasEbCf
Relic of an ancient past. Always true.
Definition CD_PhaseRealm.H:453
void defineParticleMesh()
Define particle mesh operator.
Definition CD_PhaseRealm.cpp:879
Vector< RefCountedPtr< LayoutData< VoFIterator > > > & getMultiCutVofIterator() const
Return vof iterator for iterating over multiply-cut cells only (cells with more than one VoF)
Definition CD_PhaseRealm.cpp:1048
int m_multigridInterpolationRadius
Multigrid interpolator radius.
Definition CD_PhaseRealm.H:498
EBAMRCellData m_regularCells
Cell mask with value 1 in regular cells and 0 elsewhere.
Definition CD_PhaseRealm.H:585
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > & getFaceIteratorWithTangentialGhosts() const
Return per-direction face iterators covering cut-cell faces that reach into the tangential ghost laye...
Definition CD_PhaseRealm.cpp:1066
const RefCountedPtr< EBIndexSpace > & getEBIndexSpace() const
Return the EB index space.
Definition CD_PhaseRealm.cpp:988
void defineFineToCoarRedistOper(const int a_lmin, const int a_regsize)
Define operator redistribution utility.
bool m_isDefined
True if things on this phase can be defined. False otherwise. Only used internally.
Definition CD_PhaseRealm.H:448
Vector< RefCountedPtr< EBGradient > > m_gradientOp
Gradient operator.
Definition CD_PhaseRealm.H:670
void preRegrid()
Perform pre-regrid operations.
Definition CD_PhaseRealm.cpp:112
void define(const Vector< DisjointBoxLayout > &a_grids, const Vector< ProblemDomain > &a_domains, const Vector< int > &a_refRat, const Vector< Real > &a_dx, const RealVect &a_probLo, const int a_finestLevel, const int a_ebGhost, const int a_numGhost, const int a_lsfGhost, const int a_redistRad, const int a_mgInterpOrder, const int a_mgInterpRadius, const int a_mgInterpWeight, const CellCentroidInterpolation::Type a_centroidStencil, const EBCentroidInterpolation::Type a_ebStencil, const RefCountedPtr< BaseIF > &a_baseif, const RefCountedPtr< EBIndexSpace > &a_ebis)
Full define function.
Definition CD_PhaseRealm.cpp:47
EBAMRCellData m_notCoveredCells
Cell mask with value 1 in non-covered (regular and irregular) cells and 0 in covered cells.
Definition CD_PhaseRealm.H:595
const EBAMRCellData & getNotCoveredCells() const
Get the non-covered-cell mask (value 1 in regular/irregular cells, 0 in covered cells).
Definition CD_PhaseRealm.cpp:1220
const EBAMRCellData & getCoveredCells() const
Get the covered-cell mask (value 1 in covered cells, 0 elsewhere).
Definition CD_PhaseRealm.cpp:1214
RefCountedPtr< EBIndexSpace > m_ebis
EB index space.
Definition CD_PhaseRealm.H:533
int m_numLsfGhostCells
Number of ghost cells in level-set function (on the mesh)
Definition CD_PhaseRealm.H:483
bool m_profile
Profile or not.
Definition CD_PhaseRealm.H:458
void defineVofIterator(const int a_lmin)
Define vof iterators.
Definition CD_PhaseRealm.cpp:445
int m_redistributionRadius
Redistribution radius.
Definition CD_PhaseRealm.H:488
Vector< ProblemDomain > m_domains
Problem domains.
Definition CD_PhaseRealm.H:553
const Vector< ProblemDomain > & getDomains() const
Get problem domains.
Definition CD_PhaseRealm.cpp:1012
int m_numEbGhostsCells
Number of ghost cells in EBLevelGrid/EBISLayout/EBISBox.
Definition CD_PhaseRealm.H:478
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > m_faceIterTanGhost
Per-direction face iterators covering cut-cell faces that reach into the tangential ghost layer.
Definition CD_PhaseRealm.H:630
void regridOperators(const int a_lmin)
Regrid method for EBAMR operators.
Definition CD_PhaseRealm.cpp:203