chombo-discharge
CD_EBHelmholtzLarsenDomainBCFactory.H
Go to the documentation of this file.
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 
12 #ifndef CD_EBHelmholtzLarsenDomainBCFactory_H
13 #define CD_EBHelmholtzLarsenDomainBCFactory_H
14 
15 // Our includes
16 #include <CD_RtSpecies.H>
17 #include <CD_EBHelmholtzDomainBCFactory.H>
18 #include <CD_NamespaceHeader.H>
19 
24 {
25 public:
29  using SourceFunction = std::function<Real(const RealVect& a_position)>;
30 
35 
44  EBHelmholtzLarsenDomainBCFactory(const RefCountedPtr<RtSpecies>& a_species,
45  const Real a_r1,
46  const Real a_r2,
47  const SourceFunction a_source);
48 
56  EBHelmholtzLarsenDomainBCFactory(const RefCountedPtr<RtSpecies>& a_species, const Real a_r1, const Real a_r2);
57 
62 
67 
72 
77  operator=(const EBHelmholtzLarsenDomainBCFactory& a_other) = delete;
78 
83  operator=(const EBHelmholtzLarsenDomainBCFactory&& a_other) = delete;
84 
88  virtual RefCountedPtr<EBHelmholtzDomainBC>
89  create() const override;
90 
91 protected:
95  RefCountedPtr<RtSpecies> m_species;
96 
100  Real m_r1;
101 
105  Real m_r2;
106 
111 };
112 
113 #include <CD_NamespaceFooter.H>
114 
115 #endif
Declaration of a class which supplies a user interface to radiative transfer code.
Base class for passing domain boundary conditions into EBHelmholtzOp.
Definition: CD_EBHelmholtzDomainBCFactory.H:27
Class for making Larsen boundary conditions.
Definition: CD_EBHelmholtzLarsenDomainBCFactory.H:24
EBHelmholtzLarsenDomainBCFactory(const EBHelmholtzLarsenDomainBCFactory &a_other)=delete
No copy construction.
EBHelmholtzLarsenDomainBCFactory & operator=(const EBHelmholtzLarsenDomainBCFactory &a_other)=delete
No copy assignment.
Real m_r1
"First reflection coefficient"
Definition: CD_EBHelmholtzLarsenDomainBCFactory.H:100
EBHelmholtzLarsenDomainBCFactory & operator=(const EBHelmholtzLarsenDomainBCFactory &&a_other)=delete
No move assignment.
EBHelmholtzLarsenDomainBCFactory()=delete
Disallowed weak constructor.
RefCountedPtr< RtSpecies > m_species
Radiative transfer species.
Definition: CD_EBHelmholtzLarsenDomainBCFactory.H:95
SourceFunction m_source
Source term.
Definition: CD_EBHelmholtzLarsenDomainBCFactory.H:110
virtual ~EBHelmholtzLarsenDomainBCFactory()
Default constructor.
Definition: CD_EBHelmholtzLarsenDomainBCFactory.cpp:41
Real m_r2
"Second reflection coefficient"
Definition: CD_EBHelmholtzLarsenDomainBCFactory.H:105
std::function< Real(const RealVect &a_position)> SourceFunction
Alias for source function.
Definition: CD_EBHelmholtzLarsenDomainBCFactory.H:29
EBHelmholtzLarsenDomainBCFactory(const EBHelmholtzLarsenDomainBCFactory &&a_other)=delete
No move construction.
virtual RefCountedPtr< EBHelmholtzDomainBC > create() const override
Factory method.
Definition: CD_EBHelmholtzLarsenDomainBCFactory.cpp:45