chombo-discharge
CD_GeoCoarsener.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_GeoCoarsener_H
13 #define CD_GeoCoarsener_H
14 
15 // Chombo includes
16 #include <Vector.H>
17 #include <IntVectSet.H>
18 
19 // Our includes
20 #include <CD_RealBox.H>
21 #include <CD_NamespaceHeader.H>
22 
28 {
29 public:
33  GeoCoarsener();
34 
38  virtual ~GeoCoarsener();
39 
46  virtual void
47  coarsenTags(Vector<IntVectSet>& a_tags, const Vector<Real>& a_dx, const RealVect& a_probLo) const;
48 
52  virtual Vector<RealBox>
53  getCoarsenBoxes() const;
54 
58  virtual Vector<int>
59  getCoarsenLevels() const;
60 
61 protected:
65  Vector<RealBox> m_coarsenBoxes;
66 
70  Vector<int> m_coarsenLevels;
71 
75  Vector<int> m_inverse;
76 };
77 
78 #include <CD_NamespaceFooter.H>
79 
80 #endif
Declaration of an axis-aligned box in space.
Utility class for removing geometrically tagged cells.
Definition: CD_GeoCoarsener.H:28
GeoCoarsener()
Constructor. This parses boxes/voxels from the input script.
Definition: CD_GeoCoarsener.cpp:22
Vector< RealBox > m_coarsenBoxes
Coarsening boxes.
Definition: CD_GeoCoarsener.H:65
virtual ~GeoCoarsener()
Destructor (does nothing)
Definition: CD_GeoCoarsener.cpp:69
virtual Vector< RealBox > getCoarsenBoxes() const
Get coarsening boxes.
Definition: CD_GeoCoarsener.cpp:140
Vector< int > m_coarsenLevels
Coarsening levels. Tags are removed above this level.
Definition: CD_GeoCoarsener.H:70
virtual Vector< int > getCoarsenLevels() const
Get coarsening levels.
Definition: CD_GeoCoarsener.cpp:148
virtual void coarsenTags(Vector< IntVectSet > &a_tags, const Vector< Real > &a_dx, const RealVect &a_probLo) const
Coarsen tags.
Definition: CD_GeoCoarsener.cpp:75
Vector< int > m_inverse
Inverse box or not.
Definition: CD_GeoCoarsener.H:75