chombo-discharge
Loading...
Searching...
No Matches
CD_EBHelmholtzNeumannDomainBC.H
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
6/*
7 @file CD_EBHelmholtzNeumannDomainBC.H
8 @brief Declaration of a Neumann boundary condition class for EBHelmholtzOp
9 @author Robert Marskar
10*/
11
12#ifndef CD_EBHelmholtzNeumannDomainBC_H
13#define CD_EBHelmholtzNeumannDomainBC_H
14
15// Std includes
16#include <functional>
17
18// Our includes
19#include <CD_EBHelmholtzDomainBC.H>
20#include <CD_NamespaceHeader.H>
21
27{
28public:
33
40
47
52
58 void
59 setDphiDn(const Real a_DphiDn);
60
66 void
68
74 void
76
82 void
84
96 virtual void
98 const BaseFab<Real>& a_phi,
100 const int& a_dir,
101 const Side::LoHiSide& a_side,
102 const DataIndex& a_dit,
103 const bool a_useHomogeneous) const override;
104
115 virtual Real
117 const EBCellFAB& a_phi,
118 const EBFaceFAB& a_Bcoef,
119 const int& a_dir,
120 const Side::LoHiSide& a_side,
121 const DataIndex& a_dit,
122 const bool a_useHomogeneous) const override;
123
124protected:
129
134
139
144
149};
150
151#include <CD_NamespaceFooter.H>
152
153#endif
Base class for passing domain boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzDomainBC.H:29
Boundary condition class for passing Neumann domain boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzNeumannDomainBC.H:27
void setDphiDn(const Real a_DphiDn)
Set value of dphi/dn on the EB.
Definition CD_EBHelmholtzNeumannDomainBC.cpp:51
bool m_useFunction
Use function for BC value.
Definition CD_EBHelmholtzNeumannDomainBC.H:138
std::function< Real(const RealVect &a_pos)> m_functionDphiDn
Value on the domain side.
Definition CD_EBHelmholtzNeumannDomainBC.H:148
bool m_useConstant
Use constant for BC.
Definition CD_EBHelmholtzNeumannDomainBC.H:133
void setBxDphiDn(const Real a_BxDphiDn)
Set the value of B*dphi/dn on the EB.
Definition CD_EBHelmholtzNeumannDomainBC.cpp:77
virtual ~EBHelmholtzNeumannDomainBC()
Destructor.
Definition CD_EBHelmholtzNeumannDomainBC.cpp:45
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_EBHelmholtzNeumannDomainBC.cpp:97
bool m_multByBco
Hook for multiplying by b-coefficient or not.
Definition CD_EBHelmholtzNeumannDomainBC.H:128
Real m_constantDphiDn
Value on the domain side.
Definition CD_EBHelmholtzNeumannDomainBC.H:143
EBHelmholtzNeumannDomainBC()
Constructor. Must subsequently call setDphiDn or setBxDphiDn.
Definition CD_EBHelmholtzNeumannDomainBC.cpp:21
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25