chombo-discharge
CD_CellInfo.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2024 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_CellInfo_H
13 #define CD_CellInfo_H
14 
15 // Chombo includes
16 #include <RealVect.H>
17 
18 // Our includes
19 #include <CD_NamespaceHeader.H>
20 
24 class CellInfo
25 {
26 public:
30  CellInfo() = delete;
31 
37  CellInfo(const IntVect a_gridIndex, const Real a_dx) noexcept;
38 
47  CellInfo(const IntVect a_gridIndex,
48  const Real a_dx,
49  const Real a_volFrac,
50  const RealVect a_bndryCentroid,
51  const RealVect a_bndryNormal) noexcept;
52 
56  virtual ~CellInfo() noexcept;
57 
61  IntVect&
62  getGridIndex() noexcept;
63 
67  const IntVect&
68  getGridIndex() const noexcept;
69 
73  Real&
74  getDx() noexcept;
75 
79  const Real&
80  getDx() const noexcept;
81 
85  Real&
86  getVolFrac() noexcept;
87 
91  const Real&
92  getVolFrac() const noexcept;
93 
97  RealVect&
98  getBndryCentroid() noexcept;
99 
103  const RealVect&
104  getBndryCentroid() const noexcept;
105 
109  RealVect&
110  getBndryNormal() noexcept;
111 
115  const RealVect&
116  getBndryNormal() const noexcept;
117 
121  RealVect&
122  getValidLo() noexcept;
123 
127  const RealVect&
128  getValidLo() const noexcept;
129 
133  RealVect&
134  getValidHi() noexcept;
135 
139  const RealVect&
140  getValidHi() const noexcept;
141 
142 protected:
146  IntVect m_gridIndex;
147 
151  Real m_dx;
152 
156  Real m_volFrac;
157 
161  RealVect m_bndryCentroid;
162 
166  RealVect m_bndryNormal;
167 
171  RealVect m_validLo;
172 
176  RealVect m_validHi;
177 };
178 
179 #include <CD_NamespaceFooter.H>
180 
181 #endif
Class for the cell-information that is often queried when merging particles inside a cell.
Definition: CD_CellInfo.H:25
RealVect & getBndryCentroid() noexcept
Get the boundary centroid.
Definition: CD_CellInfo.cpp:87
IntVect m_gridIndex
Grid index.
Definition: CD_CellInfo.H:146
RealVect & getValidLo() noexcept
Get the lower valid region.
Definition: CD_CellInfo.cpp:111
Real & getDx() noexcept
Get the grid spacing.
Definition: CD_CellInfo.cpp:63
Real m_volFrac
Volume fraction.
Definition: CD_CellInfo.H:156
RealVect m_validLo
Valid region in each direction (lower limit)
Definition: CD_CellInfo.H:171
RealVect m_bndryNormal
EB boundary normal.
Definition: CD_CellInfo.H:166
RealVect & getValidHi() noexcept
Get the upper valid region.
Definition: CD_CellInfo.cpp:123
virtual ~CellInfo() noexcept
Destructor.
Definition: CD_CellInfo.cpp:47
RealVect & getBndryNormal() noexcept
Get the boundary normal.
Definition: CD_CellInfo.cpp:99
IntVect & getGridIndex() noexcept
Get the grid index.
Definition: CD_CellInfo.cpp:51
RealVect m_validHi
Valid region in each direction (upper limit)
Definition: CD_CellInfo.H:176
RealVect m_bndryCentroid
Boundary centroid.
Definition: CD_CellInfo.H:161
Real m_dx
Grid spacing.
Definition: CD_CellInfo.H:151
Real & getVolFrac() noexcept
Get the volume fraction.
Definition: CD_CellInfo.cpp:75
CellInfo()=delete
Default constructor - creates a regular cell.