chombo-discharge
Loading...
Searching...
No Matches
CD_RteSpeciesJSON.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_RTESPECIESJSON_H
14#define CD_RTESPECIESJSON_H
15
16// Std includes
17#include <list>
18
19// Chombo includes
20#include <RealVect.H>
21
22// Our includes
23#include <CD_RtSpecies.H>
24#include <CD_NamespaceHeader.H>
25
26namespace Physics {
27namespace CdrPlasma {
28
33{
34public:
40 using KappaFunction = std::function<Real(const RealVect a_pos)>;
41
45 RteSpeciesJSON() = default;
46
52 RteSpeciesJSON(const std::string& a_name, const KappaFunction& a_kappaFunction);
53
58 RteSpeciesJSON(const RteSpeciesJSON& a_other) = delete;
59
64 RteSpeciesJSON(const RteSpeciesJSON&& a_other) = delete;
65
71 operator=(const RteSpeciesJSON& a_other) = delete;
72
78 operator=(const RteSpeciesJSON&& a_other) = delete;
79
83 virtual ~RteSpeciesJSON();
84
90 void
91 define(const std::string& a_name, const KappaFunction& a_kappaFunction);
92
98 Real
99 getAbsorptionCoefficient(const RealVect& a_pos) const override final;
100
101protected:
106
111};
112} // namespace CdrPlasma
113} // namespace Physics
114
115#include <CD_NamespaceFooter.H>
116
117#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:33
void define(const std::string &a_name, const KappaFunction &a_kappaFunction)
Define function.
Definition CD_RteSpeciesJSON.cpp:29
RteSpeciesJSON & operator=(const RteSpeciesJSON &&a_other)=delete
Disallowed move assignment.
bool m_isDefined
Is defined or not.
Definition CD_RteSpeciesJSON.H:105
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.
RteSpeciesJSON & operator=(const RteSpeciesJSON &a_other)=delete
Disallowed copy assignment.
virtual ~RteSpeciesJSON()
Destructor.
Definition CD_RteSpeciesJSON.cpp:23
std::function< Real(const RealVect a_pos)> KappaFunction
Alias for absorption length function.
Definition CD_RteSpeciesJSON.H:40
KappaFunction m_absorptionFunction
Absorption coefficient function.
Definition CD_RteSpeciesJSON.H:110
Real getAbsorptionCoefficient(const RealVect &a_pos) const override final
Initial data function.
Definition CD_RteSpeciesJSON.cpp:36
Declaration of a class that defines an interface to radiative transfer solvers, i....
Definition CD_RtSpecies.H:32
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16