chombo-discharge
CD_AdvectionDiffusionTagger.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_AdvectionDiffusionTagger_H
13 #define CD_AdvectionDiffusionTagger_H
14 
15 #include <CD_CellTagger.H>
16 #include <CD_CdrSolver.H>
17 #include <CD_AmrMesh.H>
18 
19 #include <CD_NamespaceHeader.H>
20 
21 namespace Physics {
22  namespace AdvectionDiffusion {
23 
29  {
30  public:
35 
41  AdvectionDiffusionTagger(RefCountedPtr<CdrSolver>& a_solver, RefCountedPtr<AmrMesh>& a_amr);
42 
46  virtual ~AdvectionDiffusionTagger();
47 
52  void
53  regrid() override;
54 
59  void
60  parseOptions() override;
61 
66  bool
67  tagCells(EBAMRTags& a_tags) override;
68 
69  protected:
73  std::string m_realm;
74 
78  RefCountedPtr<CdrSolver> m_solver;
79 
83  RefCountedPtr<AmrMesh> m_amr;
84 
88  Real m_refCurv;
89 
93  Real m_refMagn;
94  };
95  } // namespace AdvectionDiffusion
96 } // namespace Physics
97 
98 #include <CD_NamespaceFooter.H>
99 
100 #endif
Declaration of core class for handling AMR-related operations (with embedded boundaries)
Declaration of an abstract class for solving scalar convection-diffusion-reaction problems.
Declaration of a base class for tagging cells across an AMR hierarchy.
Vector< RefCountedPtr< LayoutData< DenseIntVectSet > >> EBAMRTags
Declaration of cell tags.
Definition: CD_EBAMRTags.H:22
Base class for tagging cells across an AMR hierarchy.
Definition: CD_CellTagger.H:31
Class for tagging cells in AdvectionDiffusion physics.
Definition: CD_AdvectionDiffusionTagger.H:29
RefCountedPtr< AmrMesh > m_amr
Reference to AmrMesh.
Definition: CD_AdvectionDiffusionTagger.H:83
void regrid() override
Regrid method.
Definition: CD_AdvectionDiffusionTagger.cpp:40
bool tagCells(EBAMRTags &a_tags) override
Flag cells for refinement.
Definition: CD_AdvectionDiffusionTagger.cpp:59
Real m_refMagn
Refinement threshold for magnitude-based refinement.
Definition: CD_AdvectionDiffusionTagger.H:93
virtual ~AdvectionDiffusionTagger()
Destructor (does nothing)
Definition: CD_AdvectionDiffusionTagger.cpp:34
std::string m_realm
Realm where solver is registered.
Definition: CD_AdvectionDiffusionTagger.H:73
Real m_refCurv
Refinement threshold for curvature-based refinement.
Definition: CD_AdvectionDiffusionTagger.H:88
AdvectionDiffusionTagger()=delete
Disallowed weak construction.
RefCountedPtr< CdrSolver > m_solver
Reference to CdrSolver.
Definition: CD_AdvectionDiffusionTagger.H:78
void parseOptions() override
Parse options.
Definition: CD_AdvectionDiffusionTagger.cpp:46
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15