Changeset 4b2207


Ignore:
Timestamp:
May 24, 2021, 7:30:29 PM (4 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Candidate_v1.7.0, stable
Children:
889067e
Parents:
20fc6f
Message:

FIX: SaveEnergiesAction did not use correct units.

  • temperature was off by about 1e-4 due to that.
  • kinetic energy lacked factor of 0.5.
Location:
src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Atom/atom_atominfo.cpp

    r20fc6f r4b2207  
    467467double AtomInfo::getKineticEnergy(const unsigned int _step) const
    468468{
    469   return getMass() * getAtomicVelocityAtStep(_step).NormSquared();
     469  return .5 * getMass() * getAtomicVelocityAtStep(_step).NormSquared();
    470470}
    471471
  • src/Dynamics/OutputEnergies.hpp

    r20fc6f r4b2207  
    5858      abs_force = atoms.totalAbsoluteForceAtStep(step);
    5959      *output << step
    60           << "\t" << temperature*AtomicEnergyToKelvin
    61           << "\t" << temperature
    62           << "\t" << momentum.Norm()
    63           << "\t" << abs_momentum.Norm()
     60          << "\t" << temperature*AtomicMassUnitsAngstroemOverAtomictimeSquaredToHt*AtomicEnergyToKelvin
     61          << "\t" << temperature*AtomicMassUnitsAngstroemOverAtomictimeSquaredToHt
     62          << "\t" << momentum.Norm()*AtomicMassUnitsAngstroemOverAtomictimeToAtomicMomentum
     63          << "\t" << abs_momentum.Norm()*AtomicMassUnitsAngstroemOverAtomictimeToAtomicMomentum
    6464          << "\t" << force.Norm()
    6565          << "\t" << abs_force.Norm()
  • src/Helpers/defs.cpp

    r20fc6f r4b2207  
    4848const double Units2Electronmass = (AtomicMassUnitsToeV/ElectronMass_eV); //!< atomic mass unit in eV/ electron mass in eV = 1 822.88863
    4949const double Atomictime2Femtoseconds = 0.024188843;     //!< Atomictime in fs
     50const double AtomicMassUnitsAngstroemOverAtomictimeSquaredToHt = 0.00015361802; //!< atomicmassunit*(angstrom/atomictime)**2 in hartree
     51const double AtomicMassUnitsAngstroemOverAtomictimeToAtomicMomentum = 0.012394274; //!< sqrt(atomicenergy/atomicmassunit*atomictime**2/angstrom**2)
    5052
    5153const char* VERSIONSTRING = "v1.0";
  • src/Helpers/defs.hpp

    r20fc6f r4b2207  
    2727extern "C" const double Units2Electronmass; //!< atomic mass unit in eV/ electron mass in eV = 1 822.88863
    2828extern "C" const double Atomictime2Femtoseconds;     //!< Atomictime in fs
     29extern "C" const double AtomicMassUnitsAngstroemOverAtomictimeSquaredToHt;     //!< atomicmassunit*(angstrom/atomictime)**2 in hartree
     30extern "C" const double AtomicMassUnitsAngstroemOverAtomictimeToAtomicMomentum;     //!< sqrt(atomicenergy/atomicmassunit*atomictime**2/angstrom**2)
    2931
    3032extern "C" const char* VERSIONSTRING;
Note: See TracChangeset for help on using the changeset viewer.