source: molecuilder/src/defs.hpp@ e6971b

Last change on this file since e6971b was db3ea3, checked in by Frederik Heber <heber@…>, 17 years ago

BIG change: Hcorrection included and bugfix of analyzer (wrt forces)

  • Hcorrection is supplied via molecuilder which gives correction values if hydrogen atoms are to close and thus already feel each other's influence. This correction energy matrix is also parsed ans subtracted from the approximated energy matrix generated from the fragments. This impacts both on joiner, analyzer and molecuilder
  • Forces were not working which had multiple causes:
    • first, we stepped back down to absolute errors which rather gives a feel about convergence (1e-6 is simply small and neglegible)
    • there may have been bugs where (either in Force or in ForceFragments) adding up took place, this is cleaned up
    • more routines have been abstracted from analyzer into datacreator functions
      • the order of ions had changed, re-run with current molecuilder, calculation and subsequent joining/analyzing brought correct results finally
  • plots were bad still due to wrong axes (two more functions finding max/min values), use of wrong columns in plot file
  • Property mode set to 100644
File size: 4.0 KB
Line 
1/** \file defs.hpp
2 *
3 * Constant definitons and enumerations.
4 *
5 */
6
7#ifndef DEFS_HPP_
8#define DEFS_HPP_
9
10using namespace std;
11
12#define MYEPSILON 1e-13 //!< machine epsilon precision
13#define NDIM 3 //!< number of spatial dimensions
14#define MAX_ELEMENTS 128 //!< maximum number of elements for certain lookup tables
15#define AtomicLengthToAngstroem 0.52917721 //!< conversion factor from atomic length/bohrradius to angstroem
16#define BONDTHRESHOLD 0.5 //!< CSD threshold in bond check which is the width of the interval whose center is the sum of the covalent radii
17
18#define VERSIONSTRING "v1.0"
19
20#define LocalPath "./"
21
22//enum BondOrderScheme { NoScheme, BottomUp, TopDown, ANOVA, Combined }; //!< Fragmentation scheme used in BOSS
23
24enum EdgeType { Undetermined, TreeEdge, BackEdge }; //!< edge type in a graph after Depth-First-Search analysis.
25
26enum Shading { white, lightgray, darkgray, black }; //!< color in Breadth-First-Search analysis
27
28//enum CutCyclicBond { KeepBond, SaturateBond }; //!< Saturation scheme either atom- or bondwise
29
30// Specifting whether a value in the parameter file must be specified or is optional
31enum necessity { optional, //!< parameter is optional, if not given sensible value is chosen
32 critical //!< parameter must be given or programme won't initiate
33 };
34
35// Specifying the status of the on command line given config file
36enum ConfigStatus { absent, empty, present };
37
38// Specifying the cast type to be read of a parameter, see ParseForParameter()
39enum value_type { string_type, double_type, int_type, row_int, row_double, grid, lower_trigrid, upper_trigrid};
40
41// maximum length of any char array
42#define MAXSTRINGSIZE 255
43
44// various standard filenames
45#define DEFAULTCONFIG "main_pcp_linux" //!< default filename of config file
46#define CONVEXENVELOPE "ConvexEnvelope.dat" //!< default filename of convex envelope tecplot data file
47#define KEYSETFILE "KeySets.dat" //!< default filename of BOSSANOVA key sets file
48#define ADJACENCYFILE "Adjacency.dat" //!< default filename of BOSSANOVA adjacancy file
49#define TEFACTORSFILE "TE-Factors.dat" //!< default filename of BOSSANOVA total energy factors file
50#define FORCESFILE "Forces-Factors.dat" //!< default filename of BOSSANOVA force factors file
51#define HCORRECTIONSUFFIX "Hcorrection.dat" //!< default filename of BOSSANOVA H correction file (unwanted saturation interaction)
52#define FITCONSTANTSUFFIX "FitConstant.dat" //!< suffix of default filename of BOSSANOVA fit constants file (unwanted saturation interaction)
53#define SHIELDINGSUFFIX "sigma_all.csv" //!< default filename of BOSSANOVA shieldings file
54#define SHIELDINGPASSUFFIX "sigma_all_PAS.csv" //!< default filename of BOSSANOVA shieldings PAS file
55#define ORDERATSITEFILE "OrderAtSite.dat" //!< default filename of BOSSANOVA Bond Order at each atom file
56#define ENERGYPERFRAGMENT "EnergyPerFragment" //!< default filename of BOSSANOVA Energy contribution Per Fragment file
57#define FRAGMENTPREFIX "BondFragment" //!< default filename prefix of BOSSANOVA fragment config and directories
58#define STANDARDCONFIG "unknown.conf" //!< default filename of standard config file
59#define STANDARDELEMENTSDB "elements.db" //!< default filename of elements data base with masses, Z, VanDerWaals radii, ...
60#define STANDARDVALENCEDB "valence.db" //!< default filename of valence number per element database
61#define STANDARDORBITALDB "orbitals.db" //!< default filename of orbitals per element database
62#define STANDARDHBONDDISTANCEDB "Hbonddistance.db" //!< default filename of typial bond distance to hydrogen database
63#define STANDARDHBONDANGLEDB "Hbondangle.db" //!< default filename of typial bond angle to hydrogen database
64
65// some values
66#define SOLVENTDENSITY_A 0.6022142
67#define SOLVENTDENSITY_a0 0.089238936
68
69
70#define UPDATECOUNT 10 //!< update ten sites per BOSSANOVA interval
71
72#endif /*DEFS_HPP_*/
Note: See TracBrowser for help on using the repository browser.