chombo-discharge
Loading...
Searching...
No Matches
CD_CdrGodunov.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_CDRGODUNOV_H
14#define CD_CDRGODUNOV_H
15
16// Chombo includes
17#include <EBAdvectLevelIntegrator.H>
18
19// Our includes
20#include <CD_CdrMultigrid.H>
21#include <CD_NamespaceHeader.H>
22
34{
35public:
39 CdrGodunov();
40
44 virtual ~CdrGodunov();
45
49 virtual void
50 parseOptions() override;
51
55 virtual void
56 parseRuntimeOptions() override;
57
61 virtual void
62 allocate() override;
63
70 virtual Real
71 computeAdvectionDt() override;
72
73protected:
77 Vector<RefCountedPtr<EBAdvectLevelIntegrator>> m_levelAdvect;
78
83
88
92 virtual void
94
98 virtual void
100
108 virtual void
109 advectToFaces(EBAMRFluxData& a_facePhi, const EBAMRCellData& a_cellPhi, const Real a_extrapDt) override;
110};
111
112#include <CD_NamespaceFooter.H>
113
114#endif
Extensions of CdrSolver which use EBHelmholtzOp for diffusion solves.
Godunov implementation for advection.
Definition CD_CdrGodunov.H:34
virtual void parseSlopeLimiter()
Parses slope limiter options.
Definition CD_CdrGodunov.cpp:164
virtual void parseExtrapolateSourceTerm()
Definition CD_CdrGodunov.cpp:151
virtual void advectToFaces(EBAMRFluxData &a_facePhi, const EBAMRCellData &a_cellPhi, const Real a_extrapDt) override
Godunov face extrapolation method for advection.
Definition CD_CdrGodunov.cpp:227
bool m_extrapolateSourceTerm
Turn on/off source terms when time-extrapolating.
Definition CD_CdrGodunov.H:87
bool m_limitSlopes
If true, slopes are limited (always use limiting).
Definition CD_CdrGodunov.H:82
virtual ~CdrGodunov()
Destructor (does nothing)
Definition CD_CdrGodunov.cpp:33
CdrGodunov()
Constructor.
Definition CD_CdrGodunov.cpp:24
virtual Real computeAdvectionDt() override
Compute the largest possible advective time step (for explicit methods).
Definition CD_CdrGodunov.cpp:75
Vector< RefCountedPtr< EBAdvectLevelIntegrator > > m_levelAdvect
Advection object – this implements the Graves/Trebotich discretization.
Definition CD_CdrGodunov.H:77
virtual void parseRuntimeOptions() override
Parse runtime options.
Definition CD_CdrGodunov.cpp:57
virtual void parseOptions() override
Parse class options to put object in usable state.
Definition CD_CdrGodunov.cpp:39
virtual void allocate() override
Allocate internal data holders in class object.
Definition CD_CdrGodunov.cpp:177
Extension class of CdrSolver that uses multigrid for diffusion part. Can also solve for stochastic di...
Definition CD_CdrMultigrid.H:37