chombo-discharge
CD_EBHelmholtzLarsenDomainBC.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_EBHelmholtzLarsenDomainBC.H
8  @brief Declaration of a Larsen boundary condition class for EBHelmholtzOp
9  @author Robert Marskar
10 */
11 
12 #ifndef CD_EBHelmholtzLarsenDomainBC_H
13 #define CD_EBHelmholtzLarsenDomainBC_H
14 
15 // Std includes
16 #include <functional>
17 
18 // Our includes
19 #include <CD_RtSpecies.H>
20 #include <CD_EBHelmholtzRobinDomainBC.H>
21 #include <CD_NamespaceHeader.H>
22 
30 {
31 public:
35  using SourceFunction = std::function<Real(const RealVect& a_position)>;
36 
41 
50  EBHelmholtzLarsenDomainBC(const RefCountedPtr<RtSpecies>& a_species,
51  const Real a_r1,
52  const Real a_r2,
53  const SourceFunction a_source);
54 
62  EBHelmholtzLarsenDomainBC(const RefCountedPtr<RtSpecies>& a_species, const Real a_r1, const Real a_r2);
63 
68 
69 protected:
73  RefCountedPtr<RtSpecies> m_species;
74 
78  Real m_r1;
79 
83  Real m_r2;
84 
89 
93  void
95 };
96 
97 #include <CD_NamespaceFooter.H>
98 
99 #endif
Declaration of a class which supplies a user interface to radiative transfer code.
Base class for passing Larsen domain boundary conditions into EBHelmholtzOp.
Definition: CD_EBHelmholtzLarsenDomainBC.H:30
virtual ~EBHelmholtzLarsenDomainBC()
Destructor.
Definition: CD_EBHelmholtzLarsenDomainBC.cpp:52
SourceFunction m_source
Source term.
Definition: CD_EBHelmholtzLarsenDomainBC.H:88
void setRobinFunctions()
Set Robin coefficients.
Definition: CD_EBHelmholtzLarsenDomainBC.cpp:58
EBHelmholtzLarsenDomainBC()=delete
Disallowed default constructor.
Real m_r1
"First reflection coefficient"
Definition: CD_EBHelmholtzLarsenDomainBC.H:78
std::function< Real(const RealVect &a_position)> SourceFunction
Alias for source function.
Definition: CD_EBHelmholtzLarsenDomainBC.H:35
RefCountedPtr< RtSpecies > m_species
Radiative transfer species.
Definition: CD_EBHelmholtzLarsenDomainBC.H:73
Real m_r2
"Second reflection coefficient"
Definition: CD_EBHelmholtzLarsenDomainBC.H:83
Base class for passing Robin domain boundary conditions into EBHelmholtzOp.
Definition: CD_EBHelmholtzRobinDomainBC.H:29