Cantera
Loading...
Searching...
No Matches
CastelaVibrationalRelaxationRate.h
Go to the documentation of this file.
1//! @file CastelaVibrationalRelaxationRate.h
2//! Castela vibrational relaxation reaction rate.
3//! @since New in %Cantera 4.0
4
5// This file is part of Cantera. See License.txt in the top-level directory or
6// at https://cantera.org/license.txt for license and copyright information.
7
8#ifndef CT_CASTELAVIBRATIONALRELAXATIONRATE_H
9#define CT_CASTELAVIBRATIONALRELAXATIONRATE_H
10
13
14namespace Cantera
15{
16
17//! Castela vibrational relaxation rate implementation.
18/**
19 * Maps the Castela coefficients onto the common internal representation using
20 *
21 * @f[
22 * A = R/p_0,\qquad
23 * b = 1,\qquad
24 * C0 = 18.42 + a_k b_k,\qquad
25 * C13 = -a_k.
26 * @f]
27 *
28 * The remaining temperature-dependent coefficients are zero.
29 *
30 * @ingroup otherRateGroup
31 */
32class CastelaVibrationalRelaxationRate final
34{
35public:
36 CastelaVibrationalRelaxationRate() = default;
37
38 CastelaVibrationalRelaxationRate(double a, double b,
39 double referencePressure = OneAtm);
40
41 explicit CastelaVibrationalRelaxationRate(
42 const AnyMap& node, const UnitStack& rate_units = {});
43
44 void setParameters(
45 const AnyMap& node, const UnitStack& rate_units) override;
46
47 unique_ptr<MultiRateBase> newMultiRate() const override
48 {
49 return make_unique<
50 MultiRate<CastelaVibrationalRelaxationRate,
52 }
53
54 const string type() const override
55 {
56 return "Castela-vibrational-relaxation";
57 }
58
59private:
60 //! Castela coefficient a.
61 double m_castela_a = 0.0;
62
63 //! Castela coefficient b.
64 double m_castela_b = 0.0;
65
66 //! Reference pressure.
68
69protected:
70 void getRateParameters(AnyMap& rateNode) const override;
71};
72
73} // namespace Cantera
74
75#endif
Header for vibrational relaxation reaction rates in plasma kinetics.
A map of string keys to values whose type can vary at runtime.
Definition AnyMap.h:431
unique_ptr< MultiRateBase > newMultiRate() const override
Create a rate evaluator for reactions of a particular derived type.
void setParameters(const AnyMap &node, const UnitStack &rate_units) override
Set parameters.
void getRateParameters(AnyMap &rateNode) const override
Store the model-specific coefficients in the rate-constant node.
const string type() const override
String identifying reaction rate specialization.
A class template handling ReactionRate specializations.
Definition MultiRate.h:22
VibrationalRelaxationRate()
Default constructor.
const double OneAtm
One atmosphere [Pa].
Definition ct_defs.h:99
Namespace for the Cantera kernel.
Definition AnyMap.cpp:595
Unit aggregation utility.
Definition Units.h:105
Shared temperature data for vibrational relaxation rates.