chombo-discharge
Loading...
Searching...
No Matches
CD_AdvectionDiffusionTagger.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_ADVECTIONDIFFUSIONTAGGER_H
14#define CD_ADVECTIONDIFFUSIONTAGGER_H
15
16// Our includes
17#include <CD_CellTagger.H>
18#include <CD_CdrSolver.H>
19#include <CD_AmrMesh.H>
20#include <CD_NamespaceHeader.H>
21
22namespace Physics {
23 namespace AdvectionDiffusion {
24
33 {
34 public:
39
45 AdvectionDiffusionTagger(RefCountedPtr<CdrSolver>& a_solver, RefCountedPtr<AmrMesh>& a_amr);
46
51
55 void
56 regrid() override;
57
62 void
63 parseOptions() override;
64
70 bool
71 tagCells(EBAMRTags& a_tags) override;
72
73 protected:
77 std::string m_realm;
78
82 RefCountedPtr<CdrSolver> m_solver;
83
87 RefCountedPtr<AmrMesh> m_amr;
88
93
98 };
99 } // namespace AdvectionDiffusion
100} // namespace Physics
101
102#include <CD_NamespaceFooter.H>
103
104#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:24
Base class for tagging cells across an AMR hierarchy.
Definition CD_CellTagger.H:32
Cell tagger for the advection-diffusion physics module.
Definition CD_AdvectionDiffusionTagger.H:33
RefCountedPtr< AmrMesh > m_amr
AMR mesh used for gradient computation and grid iteration.
Definition CD_AdvectionDiffusionTagger.H:87
void regrid() override
Regrid hook. No operations are performed.
Definition CD_AdvectionDiffusionTagger.cpp:39
bool tagCells(EBAMRTags &a_tags) override
Flag cells for refinement based on curvature and magnitude of the scalar field.
Definition CD_AdvectionDiffusionTagger.cpp:58
Real m_refMagn
Magnitude refinement threshold. Only cells where |phi| exceeds this value are eligible for flagging.
Definition CD_AdvectionDiffusionTagger.H:97
virtual ~AdvectionDiffusionTagger()
Destructor.
Definition CD_AdvectionDiffusionTagger.cpp:33
std::string m_realm
Name of the realm on which the solver is registered.
Definition CD_AdvectionDiffusionTagger.H:77
Real m_refCurv
Curvature refinement threshold. Cells with |grad(phi)|*dx/phi above this value are flagged.
Definition CD_AdvectionDiffusionTagger.H:92
AdvectionDiffusionTagger()=delete
Disallowed default constructor.
RefCountedPtr< CdrSolver > m_solver
CDR solver providing the scalar field used for tagging.
Definition CD_AdvectionDiffusionTagger.H:82
void parseOptions() override
Parse tagging thresholds from ParmParse.
Definition CD_AdvectionDiffusionTagger.cpp:45
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16