Hex: src/db.h Source File

| Hex 2.2 Hydrogen-electron collision solver

db.h
Go to the documentation of this file.
1 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
2 // //
3 // / / / / __ \ \ / / //
4 // / /__ / / / _ \ \ \/ / //
5 // / ___ / | |/_/ / /\ \ //
6 // / / / / \_\ / / \ \ //
7 // //
8 // //
9 // Copyright (c) 2016, Jakub Benda, Charles University in Prague //
10 // //
11 // MIT License: //
12 // //
13 // Permission is hereby granted, free of charge, to any person obtaining a //
14 // copy of this software and associated documentation files (the "Software"), //
15 // to deal in the Software without restriction, including without limitation //
16 // the rights to use, copy, modify, merge, publish, distribute, sublicense, //
17 // and/or sell copies of the Software, and to permit persons to whom the //
18 // Software is furnished to do so, subject to the following conditions: //
19 // //
20 // The above copyright notice and this permission notice shall be included //
21 // in all copies or substantial portions of the Software. //
22 // //
23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS //
24 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //
25 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //
26 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, //
27 // WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF //
28 // OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. //
29 // //
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
31
32 #ifndef HEX_HEX_DB
33 #define HEX_HEX_DB
34
35 #include <map>
36 #include <string>
37 #include <vector>
38
39 #include "hex-arrays.h"
40
41 #include "interfaces.h"
42
44 enum eUnit
45 {
46 eUnit_Ry, // Rydberg (13.605692 eV, default)
47 eUnit_au, // Hartree (2 Ry)
48 eUnit_eV // electron-Volt
49 };
50
52 enum lUnit
53 {
54 lUnit_au, // atomic units (Bohr radius a₀=5.29x10⁻⁹ cm)
55 lUnit_cgs // centimeters (1 cm = (1cm/a₀) a₀)
56 };
57
58 // Angular units
59 enum aUnit
60 {
61 aUnit_deg, // degrees
62 aUnit_rad // radians
63 };
64
65 // global unit settings
66 extern eUnit Eunits;
67 extern lUnit Lunits;
68 extern aUnit Aunits;
69
73 int hex_run
74 (
75 std::vector<std::string> const & vars,
76 std::map<std::string,std::string> const & sdata
77 );
78
79 #endif
lUnit_cgs
Definition: db.h:55
aUnit_rad
Definition: db.h:62
aUnit
aUnit
Definition: db.h:59
eUnit
eUnit
Energy units.
Definition: db.h:44
Eunits
eUnit Eunits
Definition: db.cpp:62
eUnit_au
Definition: db.h:47
hex_run
int hex_run(std::vector< std::string > const &vars, std::map< std::string, std::string > const &sdata)
Definition: db.cpp:342
interfaces.h
eUnit_eV
Definition: db.h:48
lUnit
lUnit
Output (length) units.
Definition: db.h:52
lUnit_au
Definition: db.h:54
eUnit_Ry
Definition: db.h:46
Lunits
lUnit Lunits
Definition: db.cpp:63
Aunits
aUnit Aunits
Definition: db.cpp:64
aUnit_deg
Definition: db.h:61