Changeset 47d041 for src/Thermostats
- Timestamp:
- Nov 3, 2011, 7:44:01 PM (13 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:
- 41a467
- Parents:
- 50e4e5
- git-author:
- Frederik Heber <heber@…> (10/27/11 11:53:58)
- git-committer:
- Frederik Heber <heber@…> (11/03/11 19:44:01)
- Location:
- src/Thermostats
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Thermostats/Berendsen.cpp
r50e4e5 r47d041 60 60 template <class ForwardIterator> 61 61 double Berendsen::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){ 62 DoLog(2) && (Log() << Verbose(2) << "Applying Berendsen-VanGunsteren thermostat..." << endl);62 LOG(2, "Applying Berendsen-VanGunsteren thermostat..."); 63 63 double ekin=0; 64 64 double ScaleTempFactor = getContainer().TargetTemp/ActualTemp; -
src/Thermostats/GaussianThermostat.cpp
r50e4e5 r47d041 65 65 template <class ForwardIterator> 66 66 double GaussianThermostat::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){ 67 DoLog(2) && (Log() << Verbose(2) << "Applying Gaussian thermostat..." << endl);67 LOG(2, "Applying Gaussian thermostat..."); 68 68 init(step,begin,end); 69 69 double G_over_E = G/E; 70 DoLog(1) && (Log() << Verbose(1) << "Gaussian Least Constraint constant is " << G_over_E << "." << endl);70 LOG(1, "Gaussian Least Constraint constant is " << G_over_E << "."); 71 71 double ekin =0; 72 72 for(ForwardIterator iter=begin;iter!=end;++iter){ -
src/Thermostats/Langevin.cpp
r50e4e5 r47d041 60 60 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read gamma 61 61 if (ParseForParameter(verbose,fb,"Thermostat", 0, 3, 1, double_type, &alpha, 1, optional)) { 62 DoLog(2) && (Log() << Verbose(2) << "Extended Stochastic Thermostat detected with interpolation coefficient " << alpha << "." << endl);62 LOG(2, "Extended Stochastic Thermostat detected with interpolation coefficient " << alpha << "."); 63 63 } else { 64 64 alpha = 1.; … … 81 81 template <class ForwardIterator> 82 82 double Langevin::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){ 83 DoLog(2) && (Log() << Verbose(2) << "Applying Langevin thermostat..." << endl);83 LOG(2, "Applying Langevin thermostat..."); 84 84 RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator("mt19937", "normal_distribution"); 85 85 const double rng_min = random.min(); … … 94 94 // throw a dice to determine whether it gets hit by a heat bath particle 95 95 if (((((random()/(rng_max-rng_min)))*TempFrequency) < 1.)) { 96 DoLog(3) && (Log() << Verbose(3) << "Particle " << (**iter) << " was hit (sigma " << sigma << "): " << U.Norm() << " -> ");97 96 // pick three random numbers from a Boltzmann distribution around the desired temperature T for each momenta axis 98 for (int d=0; d<NDIM; d++) { 97 const double oldNorm = U.Norm(); 98 for (int d=0; d<NDIM; d++) 99 99 U[d] = rng(); 100 } 101 DoLog(2) && (Log() << Verbose(2) << U.Norm() << endl); 100 LOG(3, "Particle " << (**iter) << " was hit (sigma " << sigma << "): " << oldNorm << " -> " << U.Norm()); 102 101 } 103 102 ekin += 0.5*(*iter)->getType()->getMass() * U.NormSquared(); -
src/Thermostats/NoseHoover.cpp
r50e4e5 r47d041 62 62 template <class ForwardIterator> 63 63 double NoseHoover::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){ 64 DoLog(2) && (Log() << Verbose(2) << "Applying Nose-Hoover thermostat..." << endl);64 LOG(2, "Applying Nose-Hoover thermostat..."); 65 65 init(step,begin,end); 66 66 delta_alpha = (delta_alpha - (3.*count+1.) * getContainer().TargetTemp)/(HooverMass*Units2Electronmass); 67 67 alpha += delta_alpha*World::getInstance().getConfig()->Deltat; 68 DoLog(3) && (Log() << Verbose(3) << "alpha = " << delta_alpha << " * " << World::getInstance().getConfig()->Deltat << " = " << alpha << "." << endl);68 LOG(3, "alpha = " << delta_alpha << " * " << World::getInstance().getConfig()->Deltat << " = " << alpha << "."); 69 69 double ekin =0; 70 70 for(ForwardIterator iter=begin;iter!=end;++iter){ -
src/Thermostats/Woodcock.cpp
r50e4e5 r47d041 65 65 if ((ScaleTempStep > 0) && ((step-1) % ScaleTempStep == 0)) { 66 66 double ScaleTempFactor = sqrt(getContainer().TargetTemp/ActualTemp); 67 DoLog(2) && (Log() << Verbose(2) << "Applying Woodcock thermostat..." << endl);67 LOG(2, "Applying Woodcock thermostat..."); 68 68 double ekin; 69 69 for (ForwardIterator iter = begin; iter!=end;++iter){
Note:
See TracChangeset
for help on using the changeset viewer.