Cantera
Install
User Guide
Examples
Reference
Develop
Community
4.0.0a2
Toggle main menu visibility
Loading...
Searching...
No Matches
MultiStateResolvedVibrationalRelaxationRate.cpp
Go to the documentation of this file.
1
//! @file MultiStateResolvedVibrationalRelaxationRate.cpp
2
//! @since New in %Cantera 4.0
3
4
// This file is part of Cantera. See License.txt in the top-level directory or
5
// at https://cantera.org/license.txt for license and copyright information.
6
7
#include "
cantera/kinetics/MultiStateResolvedVibrationalRelaxationRate.h
"
8
9
namespace
Cantera
10
{
11
12
namespace
13
{
14
15
const
string
WhereSetParameters =
16
"MultiStateResolvedVibrationalRelaxationRate::setParameters"
;
17
18
}
// namespace
19
20
MultiStateResolvedVibrationalRelaxationRate::
21
MultiStateResolvedVibrationalRelaxationRate(
22
double
A,
double
b,
double
C0,
double
C13,
double
C23)
23
:
VibrationalRelaxationRate
(
24
A, b, C0, C13, C23, 2.0 / 3.0, 0.0, 1.0)
25
{
26
}
27
28
MultiStateResolvedVibrationalRelaxationRate::
29
MultiStateResolvedVibrationalRelaxationRate(
30
const
AnyMap& node,
31
const
UnitStack& rate_units)
32
{
33
setParameters(node, rate_units);
34
}
35
36
void
MultiStateResolvedVibrationalRelaxationRate::setParameters
(
37
const
AnyMap
& node,
38
const
UnitStack
& rate_units)
39
{
40
VibrationalRelaxationRate::setParameters
(node, rate_units);
41
42
const
auto
& rateMap =
43
node[
"rate-constant"
].as<
AnyMap
>();
44
45
requireKeys(
46
rateMap,
type
(), WhereSetParameters, {
"A"
,
"b"
});
47
48
forbidKeys(
49
rateMap,
type
(), WhereSetParameters,
50
{
"n"
,
"m"
,
"Cn"
,
"Cm"
,
"Ea"
,
51
"a"
,
"reference-pressure"
});
52
53
m_A
= node.
units
().
convertRateCoeff
(
54
rateMap[
"A"
],
conversionUnits
());
55
56
m_b
= rateMap[
"b"
].asDouble();
57
58
m_C0
= rateMap.getDouble(
"C0"
, 0.0);
59
m_C13
= rateMap.getDouble(
"C13"
, 0.0);
60
m_Cm
= rateMap.getDouble(
"C23"
, 0.0);
61
62
m_m
= 2.0 / 3.0;
63
64
m_Cn
= 0.0;
65
m_n
= 1.0;
66
67
m_valid
=
true
;
68
}
69
70
void
MultiStateResolvedVibrationalRelaxationRate::getRateParameters
(
71
AnyMap
& rateNode)
const
72
{
73
getPreExponentialFactor(rateNode);
74
75
rateNode[
"b"
] =
m_b
;
76
rateNode[
"C0"
] =
m_C0
;
77
rateNode[
"C13"
] =
m_C13
;
78
rateNode[
"C23"
] =
m_Cm
;
79
}
80
81
}
// namespace Cantera
MultiStateResolvedVibrationalRelaxationRate.h
Multi-state-resolved vibrational relaxation reaction rate.
Cantera::AnyMap
A map of string keys to values whose type can vary at runtime.
Definition
AnyMap.h:431
Cantera::AnyMap::units
const UnitSystem & units() const
Return the default units that should be used to convert stored values.
Definition
AnyMap.h:640
Cantera::MultiStateResolvedVibrationalRelaxationRate::setParameters
void setParameters(const AnyMap &node, const UnitStack &rate_units) override
Set parameters.
Definition
MultiStateResolvedVibrationalRelaxationRate.cpp:36
Cantera::MultiStateResolvedVibrationalRelaxationRate::getRateParameters
void getRateParameters(AnyMap &rateNode) const override
Store the model-specific coefficients in the rate-constant node.
Definition
MultiStateResolvedVibrationalRelaxationRate.cpp:70
Cantera::MultiStateResolvedVibrationalRelaxationRate::type
const string type() const override
String identifying reaction rate specialization.
Definition
MultiStateResolvedVibrationalRelaxationRate.h:46
Cantera::ReactionRate::conversionUnits
const Units & conversionUnits() const
Get the units for converting the leading term in the reaction rate expression.
Definition
ReactionRate.h:127
Cantera::ReactionRate::m_valid
bool m_valid
Flag indicating whether reaction rate is set up correctly.
Definition
ReactionRate.h:242
Cantera::UnitSystem::convertRateCoeff
double convertRateCoeff(const AnyValue &val, const Units &dest) const
Convert a generic AnyValue node representing a reaction rate coefficient to the units specified in de...
Definition
Units.cpp:634
Cantera::VibrationalRelaxationRate
Common implementation for vibrational relaxation reaction rates.
Definition
VibrationalRelaxationRate.h:68
Cantera::VibrationalRelaxationRate::m_n
double m_n
Temperature exponent used by the Cn term.
Definition
VibrationalRelaxationRate.h:180
Cantera::VibrationalRelaxationRate::setParameters
void setParameters(const AnyMap &node, const UnitStack &rate_units) override
Set parameters.
Definition
VibrationalRelaxationRate.cpp:50
Cantera::VibrationalRelaxationRate::m_Cn
double m_Cn
Coefficient multiplying .
Definition
VibrationalRelaxationRate.h:177
Cantera::VibrationalRelaxationRate::m_Cm
double m_Cm
Coefficient multiplying .
Definition
VibrationalRelaxationRate.h:171
Cantera::VibrationalRelaxationRate::m_A
double m_A
Pre-exponential constant for the reaction rate.
Definition
VibrationalRelaxationRate.h:159
Cantera::VibrationalRelaxationRate::m_C13
double m_C13
Coefficient multiplying .
Definition
VibrationalRelaxationRate.h:168
Cantera::VibrationalRelaxationRate::m_b
double m_b
Temperature exponent for the reaction rate.
Definition
VibrationalRelaxationRate.h:162
Cantera::VibrationalRelaxationRate::m_m
double m_m
Temperature exponent used by the Cm term.
Definition
VibrationalRelaxationRate.h:174
Cantera::VibrationalRelaxationRate::m_C0
double m_C0
Dimensionless constant in the exponential.
Definition
VibrationalRelaxationRate.h:165
Cantera
Namespace for the Cantera kernel.
Definition
AnyMap.cpp:595
Cantera::UnitStack
Unit aggregation utility.
Definition
Units.h:105
src
kinetics
MultiStateResolvedVibrationalRelaxationRate.cpp
Generated by
1.17.0