chombo-discharge
Loading...
Searching...
No Matches
CD_EBHelmholtzRobinDomainBC.H
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
7/*
8 @file CD_EBHelmholtzRobinDomainBC.H
9 @brief Declaration of a Robin boundary condition class for EBHelmholtzOp
10 @author Robert Marskar
11*/
12
13#ifndef CD_EBHELMHOLTZROBINDOMAINBC_H
14#define CD_EBHELMHOLTZROBINDOMAINBC_H
15
16// Std includes
17#include <functional>
18
19// Our includes
20#include <CD_EBHelmholtzDomainBC.H>
21#include <CD_NamespaceHeader.H>
22
30{
31public:
36
41
48 void
49 setCoefficients(const Real a_A, const Real a_B, const Real a_C);
50
57 void
59 const std::function<Real(const RealVect& a_pos)>& a_B,
60 const std::function<Real(const RealVect& a_pos)>& a_C);
61
73 virtual void
75 const BaseFab<Real>& a_phi,
77 const int& a_dir,
79 const DataIndex& a_dit,
80 const bool a_useHomogeneous) const override;
81
93 virtual Real
95 const EBCellFAB& a_phi,
96 const EBFaceFAB& a_Bcoef,
97 const int& a_dir,
99 const DataIndex& a_dit,
100 const bool a_useHomogeneous) const override;
101
102protected:
107
112
117
122
127
132
137
142};
143
144#include <CD_NamespaceFooter.H>
145
146#endif
Base class for passing domain boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzDomainBC.H:30
Base class for passing Robin domain boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzRobinDomainBC.H:30
std::function< Real(const RealVect &a_pos)> m_functionB
Function-based B-coefficient.
Definition CD_EBHelmholtzRobinDomainBC.H:136
bool m_useFunction
Use function for BC value.
Definition CD_EBHelmholtzRobinDomainBC.H:111
std::function< Real(const RealVect &a_pos)> m_functionA
Function-based A-coefficient.
Definition CD_EBHelmholtzRobinDomainBC.H:131
void setCoefficients(const Real a_A, const Real a_B, const Real a_C)
Set constant coefficients.
Definition CD_EBHelmholtzRobinDomainBC.cpp:33
Real m_constantC
Constant C-coefficient.
Definition CD_EBHelmholtzRobinDomainBC.H:126
Real m_constantA
Constant A-coefficient.
Definition CD_EBHelmholtzRobinDomainBC.H:116
Real m_constantB
Constant B-coefficient.
Definition CD_EBHelmholtzRobinDomainBC.H:121
virtual ~EBHelmholtzRobinDomainBC()
Destructor.
Definition CD_EBHelmholtzRobinDomainBC.cpp:27
virtual void getFaceFlux(BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const BaseFab< Real > &a_Bcoef, const int &a_dir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const bool a_useHomogeneous) const override
Get face flux. This is for regular cells.
Definition CD_EBHelmholtzRobinDomainBC.cpp:61
bool m_useConstant
Use constant for BC.
Definition CD_EBHelmholtzRobinDomainBC.H:106
std::function< Real(const RealVect &a_pos)> m_functionC
Function-based C-coefficient.
Definition CD_EBHelmholtzRobinDomainBC.H:141
EBHelmholtzRobinDomainBC()
Default constructor. Must subsequently set coefficients.
Definition CD_EBHelmholtzRobinDomainBC.cpp:22
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26