source: src/Helpers/defs.hpp@ 4b2207

Candidate_v1.7.0 stable
Last change on this file since 4b2207 was 4b2207, checked in by Frederik Heber <frederik.heber@…>, 4 years ago

FIX: SaveEnergiesAction did not use correct units.

  • temperature was off by about 1e-4 due to that.
  • kinetic energy lacked factor of 0.5.
  • Property mode set to 100755
File size: 5.4 KB
Line 
1/** \file defs.hpp
2 *
3 * Constant definitons and enumerations.
4 *
5 */
6
7#ifndef HELPERS_DEFS_HPP_
8#define HELPERS_DEFS_HPP_
9
10// include config.h
11#ifdef HAVE_CONFIG_H
12#include <config.h>
13#endif
14
15
16enum { MAX_ELEMENTS = 128}; //!< maximum number of elements for certain lookup tables
17
18extern "C" const double MYEPSILON; //!< machine epsilon precision
19extern "C" const double AtomicLengthToAngstroem; //!< conversion factor from atomic length/bohrradius to angstroem
20extern "C" const double AtomicEnergyToKelvin; //!< conversion factor from atomic energy to kelvin via boltzmann factor
21extern "C" const double KelvinToAtomicTemperature; //!< conversion factor for Kelvin to atomic temperature (Hartree over k_B)
22extern "C" const double KelvinToeV; //!< conversion factor for Kelvin to Ht (k_B * T = energy), thus Boltzmann constant in eV/K
23extern "C" const double AtomicMassUnitsToeV; //!< conversion factor for atomic weight in units to mass in eV
24extern "C" const double AtomicMassUnitsToHt; //!< conversion factor for atomic weight in units to mass in Ht (protonmass/electronmass * electron_mass_in_Ht
25extern "C" const double ElectronMass_Ht; //!< electron mass in Ht
26extern "C" const double ElectronMass_eV; //!< electron mass in eV
27extern "C" const double Units2Electronmass; //!< atomic mass unit in eV/ electron mass in eV = 1 822.88863
28extern "C" const double Atomictime2Femtoseconds; //!< Atomictime in fs
29extern "C" const double AtomicMassUnitsAngstroemOverAtomictimeSquaredToHt; //!< atomicmassunit*(angstrom/atomictime)**2 in hartree
30extern "C" const double AtomicMassUnitsAngstroemOverAtomictimeToAtomicMomentum; //!< sqrt(atomicenergy/atomicmassunit*atomictime**2/angstrom**2)
31
32extern "C" const char* VERSIONSTRING;
33
34extern "C" const char* LocalPath;
35
36//enum BondOrderScheme { NoScheme, BottomUp, TopDown, ANOVA, Combined }; //!< Fragmentation scheme used in BOSS
37
38//enum CutCyclicBond { KeepBond, SaturateBond }; //!< Saturation scheme either atom- or bondwise
39
40// Specifting whether a value in the parameter file must be specified or is optional
41enum necessity { optional, //!< parameter is optional, if not given sensible value is chosen
42 critical //!< parameter must be given or programme won't initiate
43 };
44
45// Specifying the status of the on command line given config file
46enum ConfigStatus { absent, empty, present };
47
48// Specifying the cast type to be read of a parameter, see ParseForParameter()
49enum value_type { string_type, double_type, int_type, row_int, row_double, grid, lower_trigrid, upper_trigrid};
50
51// maximum length of any char array
52enum { MAXSTRINGSIZE = 255 };
53
54// various standard filenames
55extern "C" const char *DEFAULTCONFIG; //!< default filename of config file
56extern "C" const char *CONVEXENVELOPE; //!< default filename of convex envelope tecplot data file
57extern "C" const char *KEYSETFILE; //!< default filename of BOSSANOVA key sets file
58extern "C" const char *CYCLEKEYSETFILE; //!< default filename of BOSSANOVA cycle key sets file
59extern "C" const char *ADJACENCYFILE; //!< default filename of BOSSANOVA adjacancy file
60extern "C" const char *TEFACTORSFILE; //!< default filename of BOSSANOVA total energy factors file
61extern "C" const char *FORCESFILE; //!< default filename of BOSSANOVA force factors file
62extern "C" const char *HCORRECTIONSUFFIX; //!< default filename of BOSSANOVA H correction file (unwanted saturation interaction)
63extern "C" const char *FITCONSTANTSUFFIX; //!< suffix of default filename of BOSSANOVA fit constants file (unwanted saturation interaction)
64extern "C" const char *SHIELDINGSUFFIX; //!< default filename of BOSSANOVA shieldings file
65extern "C" const char *SHIELDINGPASSUFFIX; //!< default filename of BOSSANOVA shieldings PAS file
66extern "C" const char *ORDERATSITEFILE; //!< default filename of BOSSANOVA Bond Order at each atom file
67extern "C" const char *ENERGYPERFRAGMENT; //!< default filename of BOSSANOVA Energy contribution Per Fragment file
68extern "C" const char *FRAGMENTPREFIX; //!< default filename prefix of BOSSANOVA fragment config and directories
69extern "C" const char *STANDARDCONFIG; //!< default filename of standard config file
70extern "C" const char *STANDARDELECTRONEGATIVITYDB; //!< default filename of electronegativity per element data base
71extern "C" const char *STANDARDELEMENTSDB; //!< default filename of elements data base with masses, Z, VanDerWaals radii, ...
72extern "C" const char *STANDARDVALENCEDB; //!< default filename of valence number per element database
73extern "C" const char *STANDARDORBITALDB; //!< default filename of orbitals per element database
74extern "C" const char *STANDARDHBONDDISTANCEDB; //!< default filename of typical bond distance to hydrogen database
75extern "C" const char *STANDARDHBONDANGLEDB; //!< default filename of typical bond angle to hydrogen database
76extern "C" const char *STANDARDCOLORDB; //!< default filename of color database
77
78// some values
79extern "C" const double SOLVENTDENSITY_A;
80extern "C" const double SOLVENTDENSITY_a0;
81
82
83extern "C" const int UPDATECOUNT; //!< update ten sites per BOSSANOVA interval
84
85extern "C" const int STD_MENU_LENGTH;
86extern "C" const char STD_MENU_TITLE_SPACER;
87extern "C" const char STD_SEPERATOR_SPACER;
88
89extern "C" const char *MOLECUILDER_NAME;
90
91const extern unsigned int MAX_POOL_FRAGMENTATION;
92const extern unsigned int MAX_FRAGMENTATION_SKIPS;
93
94#endif /* HELPERS_DEFS_HPP_*/
Note: See TracBrowser for help on using the repository browser.