chombo-discharge
CD_RteSpeciesJSON.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2022 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_RteSpeciesJSON_H
13 #define CD_RteSpeciesJSON_H
14 
15 // Std includes
16 #include <list>
17 
18 // Chombo includes
19 #include <RealVect.H>
20 
21 // Our includes
22 #include <CD_RtSpecies.H>
23 #include <CD_NamespaceHeader.H>
24 
25 namespace Physics {
26  namespace CdrPlasma {
27 
31  class RteSpeciesJSON : public RtSpecies
32  {
33  public:
38  using KappaFunction = std::function<Real(const RealVect a_pos)>;
39 
43  RteSpeciesJSON() = default;
44 
50  RteSpeciesJSON(const std::string& a_name, const KappaFunction& a_kappaFunction);
51 
56  RteSpeciesJSON(const RteSpeciesJSON& a_other) = delete;
57 
62  RteSpeciesJSON(const RteSpeciesJSON&& a_other) = delete;
63 
69  operator=(const RteSpeciesJSON& a_other) = delete;
70 
76  operator=(const RteSpeciesJSON&& a_other) = delete;
77 
81  virtual ~RteSpeciesJSON();
82 
88  void
89  define(const std::string& a_name, const KappaFunction& a_kappaFunction);
90 
96  Real
97  getAbsorptionCoefficient(const RealVect a_pos) const override final;
98 
99  protected:
104 
109  };
110  } // namespace CdrPlasma
111 } // namespace Physics
112 
113 #include <CD_NamespaceFooter.H>
114 
115 #endif
Declaration of a class which supplies a user interface to radiative transfer code.
Encapsulation of radiative transfer species for usage with CdrPlasmaJSON.
Definition: CD_RteSpeciesJSON.H:32
void define(const std::string &a_name, const KappaFunction &a_kappaFunction)
Define function.
Definition: CD_RteSpeciesJSON.cpp:28
bool m_isDefined
Is defined or not.
Definition: CD_RteSpeciesJSON.H:103
RteSpeciesJSON & operator=(const RteSpeciesJSON &a_other)=delete
Disallowed copy assignment.
RteSpeciesJSON & operator=(const RteSpeciesJSON &&a_other)=delete
Disallowed move assignment.
RteSpeciesJSON(const RteSpeciesJSON &&a_other)=delete
Disallowed move constructor.
RteSpeciesJSON()=default
Default constructor. Must subsequently call define.
RteSpeciesJSON(const RteSpeciesJSON &a_other)=delete
Disallowed constructor.
Real getAbsorptionCoefficient(const RealVect a_pos) const override final
Initial data function.
Definition: CD_RteSpeciesJSON.cpp:35
virtual ~RteSpeciesJSON()
Destructor.
Definition: CD_RteSpeciesJSON.cpp:22
std::function< Real(const RealVect a_pos)> KappaFunction
Alias for absorption length function.
Definition: CD_RteSpeciesJSON.H:38
KappaFunction m_absorptionFunction
Absorption coefficient function.
Definition: CD_RteSpeciesJSON.H:108
Declaration of a class that defines an interface to radiative transfer solvers, i....
Definition: CD_RtSpecies.H:30
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15