chombo-discharge
CD_ItoKMCPhotonSpecies.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2023 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_ItoKMCPhotonSpecies_H
13 #define CD_ItoKMCPhotonSpecies_H
14 
15 // Our includes
16 #include <CD_RtSpecies.H>
17 #include <CD_NamespaceHeader.H>
18 
19 namespace Physics {
20  namespace ItoKMC {
21 
26  {
27  public:
33  ItoKMCPhotonSpecies(const std::string a_name, const std::function<Real(const RealVect& a_pos)>& a_kappaFunction)
34  {
35  m_name = a_name;
36  m_kappa = a_kappaFunction;
37  }
38 
42  virtual ~ItoKMCPhotonSpecies() noexcept
43  {}
44 
48  Real
49  getAbsorptionCoefficient(const RealVect a_pos) const override final
50  {
51  return m_kappa(a_pos);
52  }
53 
54  protected:
58  std::function<Real(const RealVect& a_position)> m_kappa;
59  };
60  } // namespace ItoKMC
61 } // namespace Physics
62 
63 #include <CD_NamespaceFooter.H>
64 
65 #endif
Declaration of a class which supplies a user interface to radiative transfer code.
Simple RtSpecies class for usage with ItoKMCJSON.
Definition: CD_ItoKMCPhotonSpecies.H:26
ItoKMCPhotonSpecies(const std::string a_name, const std::function< Real(const RealVect &a_pos)> &a_kappaFunction)
Full constructor.
Definition: CD_ItoKMCPhotonSpecies.H:33
virtual ~ItoKMCPhotonSpecies() noexcept
Destructor. Does nothing.
Definition: CD_ItoKMCPhotonSpecies.H:42
Real getAbsorptionCoefficient(const RealVect a_pos) const override final
Initial data.
Definition: CD_ItoKMCPhotonSpecies.H:49
std::function< Real(const RealVect &a_position)> m_kappa
Absorption function.
Definition: CD_ItoKMCPhotonSpecies.H:58
Declaration of a class that defines an interface to radiative transfer solvers, i....
Definition: CD_RtSpecies.H:30
std::string m_name
Group name.
Definition: CD_RtSpecies.H:67
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15