Changeset 14c57a for src/Thermostats
- Timestamp:
- Aug 25, 2010, 12:04:11 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:
- 51c3e4
- Parents:
- 8d1dd4
- Location:
- src/Thermostats
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Thermostats/Berendsen.cpp
r8d1dd4 r14c57a 25 25 {} 26 26 27 ThermostatTraits<class Berendsen>::ThermostatTraits() : 28 name("Berendsen") 29 {} 27 const char *ThermostatTraits<Berendsen>::name = "Berendsen"; 30 28 31 Thermostat *ThermostatTraits<class Berendsen>::make(class ConfigFileBuffer * const fb){ 29 std::string ThermostatTraits<Berendsen>::getName(){ 30 return ThermostatTraits<Berendsen>::name; 31 } 32 33 Thermostat *ThermostatTraits<Berendsen>::make(class ConfigFileBuffer * const fb){ 32 34 double TempFrequency; 33 35 const int verbose = 0; 34 36 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read \tau_T 35 return new classBerendsen(TempFrequency);37 return new Berendsen(TempFrequency); 36 38 } 37 39 … … 51 53 double Berendsen::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){ 52 54 DoLog(2) && (Log() << Verbose(2) << "Applying Berendsen-VanGunsteren thermostat..." << endl); 53 double ekin ;55 double ekin=0; 54 56 double ScaleTempFactor = getContainer().TargetTemp/ActualTemp; 55 57 for(ForwardIterator iter=begin;iter!=end;++iter){ … … 64 66 65 67 std::string Berendsen::name(){ 66 return ThermostatTraits<Berendsen> ().name;68 return ThermostatTraits<Berendsen>::name; 67 69 } 68 70 -
src/Thermostats/Berendsen.hpp
r8d1dd4 r14c57a 36 36 struct ThermostatTraits<class Berendsen> : public ThermostatTraits<Thermostat> 37 37 { 38 ThermostatTraits();39 38 virtual Thermostat *make(class ConfigFileBuffer * const fb); 40 const char* name; 39 virtual std::string getName(); 40 static const char* name; 41 41 }; 42 42 -
src/Thermostats/GaussianThermostat.cpp
r8d1dd4 r14c57a 30 30 {} 31 31 32 ThermostatTraits<GaussianThermostat>::ThermostatTraits() : 33 name("Gaussian") 34 {} 32 const char *ThermostatTraits<GaussianThermostat>::name = "Gaussian"; 33 34 std::string ThermostatTraits<GaussianThermostat>::getName(){ 35 return ThermostatTraits<GaussianThermostat>::name; 36 } 35 37 36 38 Thermostat *ThermostatTraits<GaussianThermostat>::make(class ConfigFileBuffer * const fb){ … … 93 95 94 96 std::string GaussianThermostat::name(){ 95 return ThermostatTraits<GaussianThermostat> ().name;97 return ThermostatTraits<GaussianThermostat>::name; 96 98 } 97 99 -
src/Thermostats/GaussianThermostat.hpp
r8d1dd4 r14c57a 41 41 struct ThermostatTraits<GaussianThermostat> : public ThermostatTraits<Thermostat> 42 42 { 43 ThermostatTraits();44 43 virtual Thermostat *make(class ConfigFileBuffer * const fb); 45 const char* name; 44 virtual std::string getName(); 45 static const char* name; 46 46 }; 47 47 -
src/Thermostats/Langevin.cpp
r8d1dd4 r14c57a 32 32 } 33 33 34 ThermostatTraits<class Langevin>::ThermostatTraits() : 35 name("Langevin") 36 {} 34 const char *ThermostatTraits<Langevin>::name = "Langevin"; 37 35 38 Thermostat *ThermostatTraits<class Langevin>::make(class ConfigFileBuffer * const fb){ 36 std::string ThermostatTraits<Langevin>::getName(){ 37 return ThermostatTraits<Langevin>::name; 38 } 39 40 Thermostat *ThermostatTraits<Langevin>::make(class ConfigFileBuffer * const fb){ 39 41 double TempFrequency; 40 42 double alpha; … … 46 48 alpha = 1.; 47 49 } 48 return new classLangevin(TempFrequency,alpha);50 return new Langevin(TempFrequency,alpha); 49 51 } 50 52 … … 85 87 86 88 std::string Langevin::name(){ 87 return ThermostatTraits<Langevin> ().name;89 return ThermostatTraits<Langevin>::name; 88 90 } 89 91 -
src/Thermostats/Langevin.hpp
r8d1dd4 r14c57a 39 39 struct ThermostatTraits<class Langevin> : public ThermostatTraits<Thermostat> 40 40 { 41 ThermostatTraits();42 41 virtual Thermostat *make(class ConfigFileBuffer * const fb); 43 const char* name; 42 virtual std::string getName(); 43 static const char* name; 44 44 }; 45 45 -
src/Thermostats/NoThermostat.cpp
r8d1dd4 r14c57a 14 14 {} 15 15 16 ThermostatTraits<class NoThermostat>::ThermostatTraits() : 17 name("None") 18 {} 16 const char *ThermostatTraits<NoThermostat>::name = "None"; 19 17 20 Thermostat *ThermostatTraits<class NoThermostat>::make(class ConfigFileBuffer * const fb){ 21 return new class NoThermostat(); 18 std::string ThermostatTraits<NoThermostat>::getName(){ 19 return ThermostatTraits<NoThermostat>::name; 20 } 21 22 Thermostat *ThermostatTraits<NoThermostat>::make(class ConfigFileBuffer * const fb){ 23 return new NoThermostat(); 22 24 } 23 25 … … 35 37 36 38 std::string NoThermostat::name(){ 37 return ThermostatTraits<NoThermostat> ().name;39 return ThermostatTraits<NoThermostat>::name; 38 40 } 39 41 -
src/Thermostats/NoThermostat.hpp
r8d1dd4 r14c57a 28 28 struct ThermostatTraits<class NoThermostat>: public ThermostatTraits<Thermostat> 29 29 { 30 ThermostatTraits();31 30 virtual Thermostat *make(class ConfigFileBuffer * const fb); 32 const char* name; 31 virtual std::string getName(); 32 static const char* name; 33 33 }; 34 34 -
src/Thermostats/NoseHoover.cpp
r8d1dd4 r14c57a 27 27 {} 28 28 29 ThermostatTraits<class NoseHoover>::ThermostatTraits() : 30 name("NoseHoover") 31 {} 29 const char *ThermostatTraits<NoseHoover>::name = "NoseHoover"; 32 30 33 Thermostat *ThermostatTraits<class NoseHoover>::make(class ConfigFileBuffer * const fb){ 31 std::string ThermostatTraits<NoseHoover>::getName(){ 32 return ThermostatTraits<NoseHoover>::name; 33 } 34 35 Thermostat *ThermostatTraits<NoseHoover>::make(class ConfigFileBuffer * const fb){ 34 36 double HooverMass; 35 37 const int verbose = 0; 36 38 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &HooverMass, 1, critical); // read Hoovermass 37 return new classNoseHoover(HooverMass);39 return new NoseHoover(HooverMass); 38 40 } 39 41 … … 82 84 83 85 std::string NoseHoover::name(){ 84 return ThermostatTraits<NoseHoover> ().name;86 return ThermostatTraits<NoseHoover>::name; 85 87 } 86 88 -
src/Thermostats/NoseHoover.hpp
r8d1dd4 r14c57a 40 40 struct ThermostatTraits<class NoseHoover> : public ThermostatTraits<Thermostat> 41 41 { 42 ThermostatTraits();43 42 virtual Thermostat *make(class ConfigFileBuffer * const fb); 44 const char* name; 43 virtual std::string getName(); 44 static const char* name; 45 45 }; 46 46 -
src/Thermostats/Thermostat.cpp
r8d1dd4 r14c57a 17 17 {} 18 18 19 ThermostatTraits<Thermostat>::ThermostatTraits() : 20 name("Base") 21 {} 19 const char *ThermostatTraits<Thermostat>::name = "Base"; 22 20 23 void Thermostat::addToContainer(ThermoStatContainer &_container){ 24 container = &_container; 21 std::string ThermostatTraits<Thermostat>::getName(){ 22 return ThermostatTraits<Thermostat>::name; 23 } 24 25 void Thermostat::addToContainer(ThermoStatContainer *_container){ 26 container = _container; 25 27 } 26 28 -
src/Thermostats/Thermostat.hpp
r8d1dd4 r14c57a 33 33 34 34 virtual std::string writeParams()=0; 35 void addToContainer(ThermoStatContainer *); 35 36 protected: 36 void addToContainer(ThermoStatContainer &);37 37 ThermoStatContainer &getContainer(); 38 38 private: … … 45 45 template <> 46 46 struct ThermostatTraits<Thermostat>{ 47 ThermostatTraits();48 47 virtual Thermostat *make(class ConfigFileBuffer * const fb)=0; 49 const char* name; 48 virtual std::string getName(); 49 static const char* name; 50 50 }; 51 51 -
src/Thermostats/Woodcock.cpp
r8d1dd4 r14c57a 27 27 {} 28 28 29 ThermostatTraits<class Woodcock>::ThermostatTraits() : 30 name("Woodcock") 31 {} 29 const char *ThermostatTraits<Woodcock>::name = "Woodcock"; 32 30 33 Thermostat *ThermostatTraits<class Woodcock>::make(class ConfigFileBuffer * const fb){ 31 std::string ThermostatTraits<Woodcock>::getName(){ 32 return ThermostatTraits<Woodcock>::name; 33 } 34 35 Thermostat *ThermostatTraits<Woodcock>::make(class ConfigFileBuffer * const fb){ 34 36 int ScaleTempStep; 35 37 const int verbose = 0; 36 38 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, int_type, &ScaleTempStep, 1, critical); // read scaling frequency 37 return new classWoodcock(ScaleTempStep);39 return new Woodcock(ScaleTempStep); 38 40 } 39 41 … … 69 71 70 72 std::string Woodcock::name(){ 71 return ThermostatTraits<Woodcock> ().name;73 return ThermostatTraits<Woodcock>::name; 72 74 } 73 75 -
src/Thermostats/Woodcock.hpp
r8d1dd4 r14c57a 36 36 struct ThermostatTraits<class Woodcock> : public ThermostatTraits<Thermostat> 37 37 { 38 ThermostatTraits();39 38 virtual Thermostat *make(class ConfigFileBuffer * const fb); 40 const char* name; 39 virtual std::string getName(); 40 static const char* name; 41 41 }; 42 42
Note:
See TracChangeset
for help on using the changeset viewer.