source: src/defs.hpp@ 390248

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 390248 was 390248, checked in by Frederik Heber <heber@…>, 16 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.