atomicConstants.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 #include "mathematicalConstants.H"
27 #include "universalConstants.H"
29 #include "atomicConstants.H"
30 
31 #include "dimensionedConstants.H"
32 
33 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
34 
35 namespace Foam
36 {
37 namespace constant
38 {
39 
40 const char* const atomic::group = "atomic";
41 
42 
43 // Note: cannot use dimless etc. since not guaranteed to be constructed
45 (
46  atomic,
47  alpha,
49  (
51  /(
52  dimensionedScalar("C", dimensionSet(0, 0, 0, 0, 0), 2.0)
56  )
57  )
58 );
59 
60 
62 (
63  atomic,
64  Rinf,
66  (
68  *atomic::me
70  /(
72  (
73  "C",
74  dimensionSet(0, 0, 0, 0, 0),
75  2.0
76  )
78  )
79  )
80 );
81 
82 
84 (
85  atomic,
86  a0,
88  (
90  /(
92  (
93  "C",
94  dimensionSet(0, 0, 0, 0, 0),
96  )
98  )
99  )
100 );
101 
102 
104 (
105  atomic,
106  re,
108  (
110  /(
112  (
113  "C",
114  dimensionSet(0, 0, 0, 0, 0),
115  4.0*mathematical::pi
116  )
118  *atomic::me
119  *sqr(universal::c)
120  )
121  )
122 );
123 
124 
126 (
127  atomic,
128  Eh,
130  (
131  dimensionedScalar("C", dimensionSet(0, 0, 0, 0, 0), 2.0)
133  )
134 );
135 
136 
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
138 
139 } // End namespace constant
140 } // End namespace Foam
141 
142 // ************************************************************************* //
const dimensionedScalar & me
Electron mass.
const dimensionedScalar & epsilon0
Electric constant: default SI units: [F/m].
Dictionary reading and supplying the dimensioned constants used within OpenFOAM, particularly for the...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionedScalar & re
Classical electron radius: default SI units: [m].
const dimensionedScalar & c
Speed of light in a vacuum.
defineDimensionedConstantWithDefault(atomic, alpha, dimensionedScalar(sqr(electromagnetic::e)/(dimensionedScalar("C", dimensionSet(0, 0, 0, 0, 0), 2.0) *electromagnetic::epsilon0 *universal::h *universal::c)))
Dimension set for the base types.
Definition: dimensionSet.H:120
const dimensionedScalar & e
Elementary charge.
Definition: doubleScalar.H:105
const dimensionedScalar & Eh
Hartree energy: default SI units: [J].
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionedScalar & h
Planck constant.
const dimensionedScalar & alpha
Fine-structure constant: default SI units: [].
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
const dimensionedScalar & Rinf
Rydberg constant: default SI units: [1/m].
const dimensionedScalar & a0
Bohr radius: default SI units: [m].
Namespace for OpenFOAM.