Cantera  2.1.2
rotor.h
Go to the documentation of this file.
1 #ifndef CT_ROTOR
2 #define CT_ROTOR
3 
4 /**
5  * @file rotor.h
6  * Header file for class Rotor.
7  */
8 
9 /**
10  * @defgroup spectroscopy Spectroscopic Models
11  *
12  * These classes are used to simulate the absorption and emission spectra of
13  * molecules.
14  */
15 
16 #include "cantera/base/ct_defs.h"
17 #include "cantera/base/global.h"
18 
19 /**
20  * Namespace for spectroscopic functions and classes.
21  */
22 namespace Cantera
23 {
24 
25 /**
26  * Class Rotor represents a non-rigid quantum-mechanical rotor.
27  * @ingroup spectroscopy
28  * @deprecated incomplete / abandoned
29  */
30 class Rotor
31 {
32 public:
33 
34  /// Default Constructor.
35  Rotor() {
36  warn_deprecated("class Rotor");
37  }
38 
39  /// Destructor.
40  virtual ~Rotor() {}
41 
42  /// Full Constructor.
43  Rotor(doublereal Bv, doublereal dipoleMoment = 0.0,
44  doublereal Dv = 0.0, doublereal Hv = 0.0);
45 
46  doublereal energy_w(int J);
47 
48  int degeneracy(int J);
49 
50  doublereal partitionFunction(doublereal T, int cutoff=-1);
51 
52  doublereal frequency(int J_lower, int J_upper);
53 
54  doublereal relPopulation(int J, doublereal T);
55 
56  doublereal population(int J, doublereal T) {
57  return relPopulation(J,T)/partitionFunction(T);
58  }
59  doublereal intensity(int J_lower, int J_upper, doublereal T);
60 
61 protected:
62 
63  doublereal m_Bv;
64  doublereal m_Dv;
65  doublereal m_Hv;
66  doublereal m_dipole;
67 };
68 
69 /** convert from Hz to wavenmbers */
70 inline doublereal hz_to_wnum(doublereal freq)
71 {
72  return freq/(100.0*Cantera::lightSpeed);
73 }
74 
75 /** Convert from wavenumbers to Joules. */
76 inline doublereal wnum_to_J(doublereal w)
77 {
78  return Cantera::Planck * w * 100.0 * Cantera::lightSpeed;
79 }
80 
81 inline doublereal J_to_wnum(doublereal e)
82 {
83  return e /(Cantera::Planck * 100.0 * Cantera::lightSpeed);
84 }
85 
86 inline doublereal wnum_to_eV(doublereal w)
87 {
88  return Cantera::Planck * w * 100.0 * Cantera::lightSpeed / Cantera::ElectronCharge;
89 }
90 
91 inline doublereal eV_to_wnum(doublereal e)
92 {
93  return e * Cantera::ElectronCharge / (Cantera::Planck * 100.0 * Cantera::lightSpeed);
94 }
95 }
96 
97 #endif
98 
99 
doublereal hz_to_wnum(doublereal freq)
convert from Hz to wavenmbers
Definition: rotor.h:70
Rotor()
Default Constructor.
Definition: rotor.h:35
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
Definition: global.cpp:76
Class Rotor represents a non-rigid quantum-mechanical rotor.
Definition: rotor.h:30
This file contains definitions for utility functions and text for modules, inputfiles, logs, textlogs, HTML_logs (see Input File Handling, Diagnostic Output, Writing messages to the screen and Writing HTML Logfiles).
doublereal intensity(int J_lower, int J_upper, doublereal T)
The spectral intensity of a rotational transition.
Definition: rotor.cpp:100
doublereal relPopulation(int J, doublereal T)
Ratio of the population of all states with rotational quantum number J to the ground state population...
Definition: rotor.cpp:83
virtual ~Rotor()
Destructor.
Definition: rotor.h:40
int degeneracy(int J)
The number of quantum states with the same J.
Definition: rotor.cpp:46
const doublereal Planck
Planck's constant. [J-s].
Definition: ct_defs.h:81
doublereal wnum_to_J(doublereal w)
Convert from wavenumbers to Joules.
Definition: rotor.h:76
doublereal partitionFunction(doublereal T, int cutoff=-1)
The rotational partition function.
Definition: rotor.cpp:60
doublereal energy_w(int J)
The energy of the level with rotational quantum number J, in wavenumber units.
Definition: rotor.cpp:36
doublereal frequency(int J_lower, int J_upper)
The frequency at which radiation is absorbed by a transition from the lower to the upper state in wav...
Definition: rotor.cpp:92
const doublereal lightSpeed
Speed of Light (m/s).
Definition: ct_defs.h:102