- Timestamp:
- Aug 7, 2010, 1:46:16 PM (15 years ago)
- Branches:
- 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
- Children:
- 5b4605
- Parents:
- 44de80
- Location:
- src
- Files:
-
- 1 added
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/AnalysisAction/MolecularVolumeAction.cpp
r44de80 r88b400 16 16 #include "Helpers/Log.hpp" 17 17 #include "Helpers/Verbose.hpp" 18 #include "tesselation.hpp" 18 19 #include "World.hpp" 19 20 -
src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp
r44de80 r88b400 18 18 #include "molecule.hpp" 19 19 #include "periodentafel.hpp" 20 #include "tesselation.hpp" 20 21 #include "LinearAlgebra/Vector.hpp" 21 22 #include "World.hpp" -
src/Actions/TesselationAction/ConvexEnvelopeAction.cpp
r44de80 r88b400 15 15 #include "Helpers/Log.hpp" 16 16 #include "molecule.hpp" 17 #include "tesselation.hpp" 17 18 #include "Helpers/Verbose.hpp" 18 19 #include "World.hpp" -
src/Actions/TesselationAction/NonConvexEnvelopeAction.cpp
r44de80 r88b400 14 14 #include "Helpers/Log.hpp" 15 15 #include "molecule.hpp" 16 #include "tesselation.hpp" 16 17 #include "Helpers/Verbose.hpp" 17 18 #include "World.hpp" -
src/BoundaryMaps.hpp
r44de80 r88b400 9 9 #define BOUNDARYMAPS_HPP_ 10 10 11 #define IndexToIndex std::map <int, int> 11 class BoundaryPointSet; 12 class BoundaryLineSet; 13 class BoundaryTriangleSet; 14 class BoundaryPolygonSet; 15 class CandidateForTesselation; 16 class TesselPoint; 12 17 13 #define PointMap std::map < int, class BoundaryPointSet * > 14 #define PointSet std::set < class BoundaryPointSet * > 15 #define PointList std::list < class BoundaryPointSet * > 16 #define PointPair std::pair < int, class BoundaryPointSet * > 17 #define PointTestPair std::pair < PointMap::iterator, bool > 18 #include <list> 19 #include <map> 20 #include <set> 18 21 19 #define CandidateList std::list <class CandidateForTesselation *> 20 #define CandidateMap std::map <class BoundaryLineSet *, class CandidateForTesselation *> 22 typedef std::map <int, int> IndexToIndex; 21 23 22 #define LineMap std::multimap < int, class BoundaryLineSet * > 23 #define LineSet std::set < class BoundaryLineSet * > 24 #define LineList std::list < class BoundaryLineSet * > 25 #define LinePair std::pair < int, class BoundaryLineSet * > 26 #define LineTestPair std::pair < LineMap::iterator, bool > 24 typedef std::map < int, class BoundaryPointSet * > PointMap; 25 typedef std::set < class BoundaryPointSet * > PointSet; 26 typedef std::list < class BoundaryPointSet * > PointList; 27 typedef std::pair < int, class BoundaryPointSet * > PointPair; 28 typedef std::pair < PointMap::iterator, bool > PointTestPair; 27 29 28 #define TriangleMap std::map < int, class BoundaryTriangleSet * > 29 #define TriangleSet std::set < class BoundaryTriangleSet * > 30 #define TriangleList std::list < class BoundaryTriangleSet * > 31 #define TrianglePair std::pair < int, class BoundaryTriangleSet * > 32 #define TriangleTestPair std::pair < TrianglePair::iterator, bool > 30 typedef std::list <class CandidateForTesselation *> CandidateList; 31 typedef std::map <class BoundaryLineSet *, class CandidateForTesselation *> CandidateMap; 33 32 34 #define PolygonMap std::map < int, class BoundaryPolygonSet * > 35 #define PolygonSet std::set < class BoundaryPolygonSet * > 36 #define PolygonList std::list < class BoundaryPolygonSet * > 33 typedef std::multimap < int, class BoundaryLineSet * > LineMap; 34 typedef std::set < class BoundaryLineSet * > LineSet; 35 typedef std::list < class BoundaryLineSet * > LineList; 36 typedef std::pair < int, class BoundaryLineSet * > LinePair; 37 typedef std::pair < LineMap::iterator, bool > LineTestPair; 37 38 38 #define DistanceToPointMap std::multimap <double, class BoundaryPointSet * > 39 #define DistanceToPointPair std::pair <double, class BoundaryPointSet * > 39 typedef std::map < int, class BoundaryTriangleSet * > TriangleMap; 40 typedef std::set < class BoundaryTriangleSet * > TriangleSet; 41 typedef std::list < class BoundaryTriangleSet * > TriangleList; 42 typedef std::pair < int, class BoundaryTriangleSet * > TrianglePair; 43 typedef std::pair < TriangleMap::iterator, bool > TriangleTestPair; 40 44 41 #define DistanceMultiMap std::multimap <double, std::pair < PointMap::iterator, PointMap::iterator> > 42 #define DistanceMultiMapPair std::pair <double, std::pair < PointMap::iterator, PointMap::iterator> > 45 typedef std::map < int, class BoundaryPolygonSet * > PolygonMap; 46 typedef std::set < class BoundaryPolygonSet * > PolygonSet; 47 typedef std::list < class BoundaryPolygonSet * > PolygonList; 43 48 44 #define TesselPointList std::list <TesselPoint *> 45 #define TesselPointSet std::set <TesselPoint *> 49 typedef std::multimap <double, class BoundaryPointSet * > DistanceToPointMap; 50 typedef std::pair <double, class BoundaryPointSet * > DistanceToPointPair; 46 51 47 #define ListOfTesselPointList std::list<std::list <TesselPoint *> *> 52 typedef std::multimap <double, std::pair < PointMap::iterator, PointMap::iterator> > DistanceMultiMap; 53 typedef std::pair <double, std::pair < PointMap::iterator, PointMap::iterator> > DistanceMultiMapPair; 54 55 typedef std::list <TesselPoint *> TesselPointList; 56 typedef std::set <TesselPoint *> TesselPointSet; 57 58 typedef std::list<std::list <TesselPoint *> *> ListOfTesselPointList; 48 59 49 60 enum centers {Opt, OtherOpt}; 50 61 51 #define HULLEPSILON 1e-9 //!< TODO: Get rid of HULLEPSILON, points to numerical instabilities52 62 53 63 -
src/BoundaryTriangleSet.hpp
r44de80 r88b400 11 11 #include "BoundaryMaps.hpp" 12 12 #include "LinearAlgebra/Vector.hpp" 13 14 #include <set>15 13 16 14 class BoundaryLineSet; -
src/CandidateForTesselation.cpp
r44de80 r88b400 25 25 26 26 using namespace std; 27 28 29 const double CandidateForTesselation::HULLEPSILON = 1e-9; 30 27 31 28 32 /** Constructor of class CandidateForTesselation. -
src/CandidateForTesselation.hpp
r44de80 r88b400 38 38 double ShortestAngle; 39 39 double OtherShortestAngle; 40 41 private: 42 static const double HULLEPSILON; //!< TODO: Get rid of HULLEPSILON, points to numerical instabilities 40 43 }; 41 44 -
src/Makefile.am
r44de80 r88b400 157 157 config.cpp \ 158 158 ConfigFileBuffer.cpp \ 159 defs.cpp \ 159 160 element.cpp \ 160 161 elements_db.cpp \ -
src/ThermoStatContainer.hpp
r44de80 r88b400 16 16 class ConfigFileBuffer; 17 17 18 #define MaxThermostats 6//!< maximum number of thermostat entries in Ions#ThermostatNames and Ions#ThermostatImplemented18 enum { MaxThermostats=6 }; //!< maximum number of thermostat entries in Ions#ThermostatNames and Ions#ThermostatImplemented 19 19 enum thermostats { None, Woodcock, Gaussian, Langevin, Berendsen, NoseHoover }; //!< Thermostat names for output 20 20 -
src/analysis_bonds.hpp
r44de80 r88b400 20 20 /*********************************************** defines ***********************************/ 21 21 22 #define HBRIDGEDISTANCE 3.5//!< HBridge distance from PCCP Vol 10. 4802-481322 const double HBRIDGEDISTANCE=3.5; //!< HBridge distance from PCCP Vol 10. 4802-4813 23 23 24 24 /****************************************** forward declarations *****************************/ -
src/bondgraph.cpp
r44de80 r88b400 21 21 #include "periodentafel.hpp" 22 22 #include "LinearAlgebra/Vector.hpp" 23 24 const double BondGraph::BondThreshold = 0.4; //!< CSD threshold in bond check which is the width of the interval whose center is the sum of the covalent radii 23 25 24 26 /** Constructor of class BondGraph. … … 147 149 MinDistance = OtherWalker->getType()->CovalentRadius + Walker->getType()->CovalentRadius; 148 150 MinDistance *= (IsAngstroem) ? 1. : 1. / AtomicLengthToAngstroem; 149 MaxDistance = MinDistance + B ONDTHRESHOLD;150 MinDistance -= B ONDTHRESHOLD;151 MaxDistance = MinDistance + BondThreshold; 152 MinDistance -= BondThreshold; 151 153 }; 152 154 … … 168 170 MinDistance = GetBondLength(Walker->getType()->Z-1, OtherWalker->getType()->Z-1); 169 171 MinDistance *= (IsAngstroem) ? 1. : 1. / AtomicLengthToAngstroem; 170 MaxDistance = MinDistance + B ONDTHRESHOLD;171 MinDistance -= B ONDTHRESHOLD;172 MaxDistance = MinDistance + BondThreshold; 173 MinDistance -= BondThreshold; 172 174 } 173 175 }; -
src/bondgraph.hpp
r44de80 r88b400 20 20 #include <iosfwd> 21 21 22 /*********************************************** defines ***********************************/23 24 #define BONDTHRESHOLD 0.4 //!< CSD threshold in bond check which is the width of the interval whose center is the sum of the covalent radii25 22 26 23 /****************************************** forward declarations *****************************/ … … 48 45 49 46 private: 47 static const double BondThreshold; 48 50 49 MatrixContainer *BondLengthMatrix; 51 50 double max_distance; -
src/boundary.hpp
r44de80 r88b400 34 34 /********************************************** definitions *********************************/ 35 35 36 #define DEBUG 1 37 #define DoSingleStepOutput 0 38 #define SingleStepWidth 10 36 enum { DEBUG=1 }; 37 enum { DoSingleStepOutput=0 }; 38 enum { SingleStepWidth=10 }; 39 39 40 #define DistancePair pair < double, atom* > 41 #define DistanceMap multimap < double, atom* > 42 #define DistanceTestPair pair < DistanceMap::iterator, bool> 40 typedef std::pair < double, class atom* > DistancePair; 41 typedef std::multimap < double, class atom* > DistanceMap; 42 typedef std::pair < DistanceMap::iterator, bool> DistanceTestPair; 43 43 44 #define Boundaries map <double, DistancePair > 45 #define BoundariesPair pair<double, DistancePair > 46 #define BoundariesTestPair pair< Boundaries::iterator, bool> 44 typedef std::map <double, DistancePair > Boundaries; 45 typedef std::pair<double, DistancePair > BoundariesPair; 46 typedef std::pair< Boundaries::iterator, bool> BoundariesTestPair; 47 47 48 48 /********************************************** declarations *******************************/ -
src/defs.hpp
r44de80 r88b400 8 8 #define DEFS_HPP_ 9 9 10 #define MYEPSILON 1e-13 //!< machine epsilon precision 11 #define NDIM 3 //!< number of spatial dimensions 12 #define MAX_ELEMENTS 128 //!< maximum number of elements for certain lookup tables 13 #define AtomicLengthToAngstroem 0.52917721 //!< conversion factor from atomic length/bohrradius to angstroem 14 #define AtomicEnergyToKelvin 315774.67 //!< conversion factor from atomic energy to kelvin via boltzmann factor 15 #define KelvinToAtomicTemperature 3.1668152e-06 //!< conversion factor for Kelvin to atomic temperature (Hartree over k_B) 16 #define KelvinToeV 8.6173422e-05 //!< conversion factor for Kelvin to Ht (k_B * T = energy), thus Boltzmann constant in eV/K 17 #define AtomicMassUnitsToeV 931494088. //!< conversion factor for atomic weight in units to mass in eV 18 #define AtomicMassUnitsToHt 34480864. //!< conversion factor for atomic weight in units to mass in Ht (protonmass/electronmass * electron_mass_in_Ht 19 #define ElectronMass_Ht 18778.865 //!< electron mass in Ht 20 #define ElectronMass_eV 510998.903 //!< electron mass in eV 21 #define Units2Electronmass (AtomicMassUnitsToeV/ElectronMass_eV) //!< atomic mass unit in eV/ electron mass in eV = 1 822.88863 22 #define Atomictime2Femtoseconds 0.024188843 //!< Atomictime in fs 10 enum { NDIM = 3 }; //!< number of spatial dimensions 11 enum { MAX_ELEMENTS = 128}; //!< maximum number of elements for certain lookup tables 23 12 24 #define VERSIONSTRING "v1.0" 13 extern "C" const double MYEPSILON; //!< machine epsilon precision 14 extern "C" const double AtomicLengthToAngstroem; //!< conversion factor from atomic length/bohrradius to angstroem 15 extern "C" const double AtomicEnergyToKelvin; //!< conversion factor from atomic energy to kelvin via boltzmann factor 16 extern "C" const double KelvinToAtomicTemperature; //!< conversion factor for Kelvin to atomic temperature (Hartree over k_B) 17 extern "C" const double KelvinToeV; //!< conversion factor for Kelvin to Ht (k_B * T = energy), thus Boltzmann constant in eV/K 18 extern "C" const double AtomicMassUnitsToeV; //!< conversion factor for atomic weight in units to mass in eV 19 extern "C" const double AtomicMassUnitsToHt; //!< conversion factor for atomic weight in units to mass in Ht (protonmass/electronmass * electron_mass_in_Ht 20 extern "C" const double ElectronMass_Ht; //!< electron mass in Ht 21 extern "C" const double ElectronMass_eV; //!< electron mass in eV 22 extern "C" const double Units2Electronmass; //!< atomic mass unit in eV/ electron mass in eV = 1 822.88863 23 extern "C" const double Atomictime2Femtoseconds; //!< Atomictime in fs 25 24 26 #define LocalPath "./" 25 extern "C" const char* VERSIONSTRING; 26 27 extern "C" const char* LocalPath; 27 28 28 29 //enum BondOrderScheme { NoScheme, BottomUp, TopDown, ANOVA, Combined }; //!< Fragmentation scheme used in BOSS … … 48 49 49 50 // maximum length of any char array 50 #define MAXSTRINGSIZE 255 51 enum { MAXSTRINGSIZE = 255 }; 51 52 52 53 // various standard filenames 53 #define DEFAULTCONFIG "main_pcp_linux"//!< default filename of config file54 #define CONVEXENVELOPE "ConvexEnvelope.dat"//!< default filename of convex envelope tecplot data file55 #define KEYSETFILE "KeySets.dat"//!< default filename of BOSSANOVA key sets file56 #define ADJACENCYFILE "Adjacency.dat"//!< default filename of BOSSANOVA adjacancy file57 #define TEFACTORSFILE "TE-Factors.dat"//!< default filename of BOSSANOVA total energy factors file58 #define FORCESFILE "Forces-Factors.dat"//!< default filename of BOSSANOVA force factors file59 #define HCORRECTIONSUFFIX "Hcorrection.dat"//!< default filename of BOSSANOVA H correction file (unwanted saturation interaction)60 #define FITCONSTANTSUFFIX "FitConstant.dat"//!< suffix of default filename of BOSSANOVA fit constants file (unwanted saturation interaction)61 #define SHIELDINGSUFFIX "sigma_all.csv"//!< default filename of BOSSANOVA shieldings file62 #define SHIELDINGPASSUFFIX "sigma_all_PAS.csv"//!< default filename of BOSSANOVA shieldings PAS file63 #define ORDERATSITEFILE "OrderAtSite.dat"//!< default filename of BOSSANOVA Bond Order at each atom file64 #define ENERGYPERFRAGMENT "EnergyPerFragment"//!< default filename of BOSSANOVA Energy contribution Per Fragment file65 #define FRAGMENTPREFIX "BondFragment" //!< default filename prefix of BOSSANOVA fragment config and directories 66 #define STANDARDCONFIG "unknown.conf"//!< default filename of standard config file67 #define STANDARDELEMENTSDB "elements.db"//!< default filename of elements data base with masses, Z, VanDerWaals radii, ...68 #define STANDARDVALENCEDB "valence.db"//!< default filename of valence number per element database69 #define STANDARDORBITALDB "orbitals.db"//!< default filename of orbitals per element database70 #define STANDARDHBONDDISTANCEDB "Hbonddistance.db"//!< default filename of typial bond distance to hydrogen database71 #define STANDARDHBONDANGLEDB "Hbondangle.db"//!< default filename of typial bond angle to hydrogen database54 extern "C" const char *DEFAULTCONFIG; //!< default filename of config file 55 extern "C" const char *CONVEXENVELOPE; //!< default filename of convex envelope tecplot data file 56 extern "C" const char *KEYSETFILE; //!< default filename of BOSSANOVA key sets file 57 extern "C" const char *ADJACENCYFILE; //!< default filename of BOSSANOVA adjacancy file 58 extern "C" const char *TEFACTORSFILE; //!< default filename of BOSSANOVA total energy factors file 59 extern "C" const char *FORCESFILE; //!< default filename of BOSSANOVA force factors file 60 extern "C" const char *HCORRECTIONSUFFIX; //!< default filename of BOSSANOVA H correction file (unwanted saturation interaction) 61 extern "C" const char *FITCONSTANTSUFFIX; //!< suffix of default filename of BOSSANOVA fit constants file (unwanted saturation interaction) 62 extern "C" const char *SHIELDINGSUFFIX; //!< default filename of BOSSANOVA shieldings file 63 extern "C" const char *SHIELDINGPASSUFFIX; //!< default filename of BOSSANOVA shieldings PAS file 64 extern "C" const char *ORDERATSITEFILE; //!< default filename of BOSSANOVA Bond Order at each atom file 65 extern "C" const char *ENERGYPERFRAGMENT; //!< default filename of BOSSANOVA Energy contribution Per Fragment file 66 extern "C" const char *FRAGMENTPREFIX; //!< default filename prefix of BOSSANOVA fragment config and directories 67 extern "C" const char *STANDARDCONFIG; //!< default filename of standard config file 68 extern "C" const char *STANDARDELEMENTSDB; //!< default filename of elements data base with masses, Z, VanDerWaals radii, ... 69 extern "C" const char *STANDARDVALENCEDB; //!< default filename of valence number per element database 70 extern "C" const char *STANDARDORBITALDB; //!< default filename of orbitals per element database 71 extern "C" const char *STANDARDHBONDDISTANCEDB; //!< default filename of typial bond distance to hydrogen database 72 extern "C" const char *STANDARDHBONDANGLEDB; //!< default filename of typial bond angle to hydrogen database 72 73 73 74 // some values 74 #define SOLVENTDENSITY_A 0.6022142 75 #define SOLVENTDENSITY_a0 0.089238936 75 extern "C" const double SOLVENTDENSITY_A; 76 extern "C" const double SOLVENTDENSITY_a0; 76 77 77 78 78 #define UPDATECOUNT 10//!< update ten sites per BOSSANOVA interval79 extern "C" const int UPDATECOUNT; //!< update ten sites per BOSSANOVA interval 79 80 80 #define STD_MENU_LENGTH 60 81 #define STD_MENU_TITLE_SPACER '=' 82 #define STD_SEPERATOR_SPACER '-' 81 extern "C" const int STD_MENU_LENGTH; 82 extern "C" const char STD_MENU_TITLE_SPACER; 83 extern "C" const char STD_SEPERATOR_SPACER; 83 84 84 #define MOLECUILDER_NAME "Molecuilder" 85 extern "C" const char *MOLECUILDER_NAME; 85 86 86 87 const extern unsigned int MAX_POOL_FRAGMENTATION; -
src/joiner.cpp
r44de80 r88b400 209 209 prefix << dir << ForceFragmentSuffix; 210 210 if (!ForceFragments.WriteTotalFragments(argv[1], (prefix.str()).c_str())) return 1; 211 if (!CreateDataFragment(EnergyFragments, KeySet, argv[1], FRAGMENTPREFIX ENERGYPERFRAGMENT, "fragment energy versus the Fragment No", "today", CreateEnergy)) return 1; 211 { 212 std::string fileprefix(FRAGMENTPREFIX); 213 fileprefix += ENERGYPERFRAGMENT; 214 if (!CreateDataFragment(EnergyFragments, KeySet, argv[1], fileprefix.c_str(), "fragment energy versus the Fragment No", "today", CreateEnergy)) return 1; 215 } 212 216 if (!NoHessian) { 213 217 prefix.str(" "); -
src/molecule.hpp
r44de80 r88b400 24 24 #include "types.hpp" 25 25 #include "graph.hpp" 26 #include " tesselation.hpp"26 #include "PointCloud.hpp" 27 27 #include "Patterns/Observer.hpp" 28 28 #include "Patterns/ObservedIterator.hpp" -
src/moleculelist.cpp
r44de80 r88b400 30 30 #include "molecule.hpp" 31 31 #include "periodentafel.hpp" 32 #include "tesselation.hpp" 32 33 #include "Helpers/Assert.hpp" 33 34 #include "LinearAlgebra/Matrix.hpp" -
src/tesselation.cpp
r44de80 r88b400 34 34 35 35 class molecule; 36 37 const char *TecplotSuffix=".dat"; 38 const char *Raster3DSuffix=".r3d"; 39 const char *VRMLSUffix=".wrl"; 40 41 const double ParallelEpsilon=1e-3; 42 const double Tesselation::HULLEPSILON = 1e-9; 36 43 37 44 /** Constructor of class Tesselation. … … 2125 2132 OtherNewSphereCenter += helper; 2126 2133 DoLog(2) && (Log() << Verbose(2) << "INFO: OtherNewSphereCenter is at " << OtherNewSphereCenter << "." << endl); 2127 alpha = GetPathLengthonCircumCircle(CircleCenter, CirclePlaneNormal, CircleRadius, NewSphereCenter, OldSphereCenter, NormalVector, SearchDirection );2128 Otheralpha = GetPathLengthonCircumCircle(CircleCenter, CirclePlaneNormal, CircleRadius, OtherNewSphereCenter, OldSphereCenter, NormalVector, SearchDirection );2134 alpha = GetPathLengthonCircumCircle(CircleCenter, CirclePlaneNormal, CircleRadius, NewSphereCenter, OldSphereCenter, NormalVector, SearchDirection, HULLEPSILON); 2135 Otheralpha = GetPathLengthonCircumCircle(CircleCenter, CirclePlaneNormal, CircleRadius, OtherNewSphereCenter, OldSphereCenter, NormalVector, SearchDirection, HULLEPSILON); 2129 2136 if ((ThirdPoint != NULL) && (Candidate == ThirdPoint->node)) { // in that case only the other circlecenter is valid 2130 2137 if (OldSphereCenter.DistanceSquared(NewSphereCenter) < OldSphereCenter.DistanceSquared(OtherNewSphereCenter)) -
src/tesselation.hpp
r44de80 r88b400 46 46 /********************************************** definitions *********************************/ 47 47 48 #define DoTecplotOutput 1 49 #define DoRaster3DOutput 1 50 #define DoVRMLOutput 0 51 #define TecplotSuffix ".dat" 52 #define Raster3DSuffix ".r3d" 53 #define VRMLSUffix ".wrl" 48 enum { DoTecplotOutput=1 }; 49 enum { DoRaster3DOutput=1 }; 50 enum { DoVRMLOutput=0 }; 54 51 55 #define ParallelEpsilon 1e-3 52 extern "C" const char *TecplotSuffix; 53 extern "C" const char *Raster3DSuffix; 54 extern "C" const char *VRMLSUffix; 55 56 extern "C" const double ParallelEpsilon; 56 57 57 58 // ======================================================= some template functions ========================================= … … 157 158 158 159 private: 160 static const double HULLEPSILON; //!< TODO: Get rid of HULLEPSILON, points to numerical instabilities 161 159 162 mutable class BoundaryPointSet *TPS[3]; //this is a Storage for pointers to triangle points, this and BPS[2] needed due to AddLine restrictions 160 163 -
src/tesselationhelpers.cpp
r44de80 r88b400 180 180 * \param NormalVector normal vector 181 181 * \param SearchDirection search direction to make angle unique on return. 182 * \param HULLEPSILON machine precision for tesselation points 182 183 * \return Angle between \a NewSphereCenter and \a OldSphereCenter relative to \a CircleCenter, 2.*M_PI if one test fails 183 184 */ 184 double GetPathLengthonCircumCircle(const Vector &CircleCenter, const Vector &CirclePlaneNormal, const double CircleRadius, const Vector &NewSphereCenter, const Vector &OldSphereCenter, const Vector &NormalVector, const Vector &SearchDirection )185 double GetPathLengthonCircumCircle(const Vector &CircleCenter, const Vector &CirclePlaneNormal, const double CircleRadius, const Vector &NewSphereCenter, const Vector &OldSphereCenter, const Vector &NormalVector, const Vector &SearchDirection, const double HULLEPSILON) 185 186 { 186 187 Info FunctionInfo(__func__); -
src/tesselationhelpers.hpp
r44de80 r88b400 22 22 #include <iosfwd> 23 23 24 #include "BoundaryMaps.hpp" 24 25 #include "defs.hpp" 25 26 … … 44 45 void GetCenterOfSphere(Vector& Center, const Vector &a, const Vector &b, const Vector &c, Vector &NewUmkreismittelpunkt, const Vector &Direction, const Vector* const AlternativeDirection, const double HalfplaneIndicator, const double AlternativeIndicator, const double alpha, const double beta, const double gamma, const double RADIUS, const double Umkreisradius); 45 46 void GetCenterofCircumcircle(Vector & Center, const Vector &a, const Vector &b, const Vector &c); 46 double GetPathLengthonCircumCircle(const Vector &CircleCenter, const Vector &CirclePlaneNormal, const double CircleRadius, const Vector &NewSphereCenter, const Vector &OldSphereCenter, const Vector &NormalVector, const Vector &SearchDirection );47 double GetPathLengthonCircumCircle(const Vector &CircleCenter, const Vector &CirclePlaneNormal, const double CircleRadius, const Vector &NewSphereCenter, const Vector &OldSphereCenter, const Vector &NormalVector, const Vector &SearchDirection, const double HULLEPSILON); 47 48 double CalculateVolumeofGeneralTetraeder(const Vector &a, const Vector &b, const Vector &c, const Vector &d); 48 49 double CalculateAreaofGeneralTriangle(const Vector &A, const Vector &B, const Vector &C); -
src/unittests/AtomDescriptorTest.hpp
r44de80 r88b400 13 13 #include "types.hpp" 14 14 15 #define ATOM_COUNT (10) 15 // we prefer enum over define 16 enum { ATOM_COUNT = 10 }; 16 17 17 18 class atom; -
src/unittests/MoleculeDescriptorTest.hpp
r44de80 r88b400 13 13 #include "types.hpp" 14 14 15 #define MOLECULE_COUNT (10) 15 // we prefer enum over define 16 enum { MOLECULE_COUNT = 10 }; 16 17 17 18 class molecule; -
src/unittests/atomsCalculationTest.hpp
r44de80 r88b400 11 11 #include <cppunit/extensions/HelperMacros.h> 12 12 13 #define ATOM_COUNT (10) 13 // we prefer enum over define 14 enum { ATOM_COUNT = 10 }; 14 15 15 16 #include "types.hpp" -
src/unittests/manipulateAtomsTest.hpp
r44de80 r88b400 11 11 #include <cppunit/extensions/HelperMacros.h> 12 12 13 #define ATOM_COUNT (10) 13 // we prefer enum over define 14 enum { ATOM_COUNT = 10 }; 14 15 15 16 class atom; -
src/unittests/tesselation_boundarytriangleunittest.cpp
r44de80 r88b400 27 27 #endif /*HAVE_TESTRUNNER*/ 28 28 29 #define SPHERERADIUS 2. 29 const double TesselationBoundaryTriangleTest::SPHERERADIUS=2.; 30 30 31 31 /********************************************** Test classes **************************************/ -
src/unittests/tesselation_boundarytriangleunittest.hpp
r44de80 r88b400 34 34 35 35 private: 36 static const double SPHERERADIUS; 37 36 38 class BoundaryTriangleSet *triangle; 37 39 class BoundaryLineSet *lines[3]; -
src/unittests/tesselation_insideoutsideunittest.cpp
r44de80 r88b400 27 27 #endif /*HAVE_TESTRUNNER*/ 28 28 29 #define SPHERERADIUS 2. 29 const double TesselationInOutsideTest::SPHERERADIUS=2.; 30 30 31 31 /********************************************** Test classes **************************************/ -
src/unittests/tesselation_insideoutsideunittest.hpp
r44de80 r88b400 30 30 31 31 private: 32 static const double SPHERERADIUS; 33 32 34 class Tesselation *TesselStruct; 33 35 LinkedCell::LinkedNodes Corners; -
src/unittests/tesselationunittest.cpp
r44de80 r88b400 26 26 #endif /*HAVE_TESTRUNNER*/ 27 27 28 #define SPHERERADIUS 2. 28 const double TesselationTest::SPHERERADIUS=2.; 29 29 30 30 /********************************************** Test classes **************************************/ -
src/unittests/tesselationunittest.hpp
r44de80 r88b400 33 33 34 34 private: 35 static const double SPHERERADIUS; 36 35 37 class Tesselation *TesselStruct; 36 38 LinkedCell::LinkedNodes Corners;
Note:
See TracChangeset
for help on using the changeset viewer.