Ignore:
Timestamp:
Apr 23, 2021, 8:31:23 PM (5 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Candidate_v1.7.0, stable
Children:
61cc0f
Parents:
cbbb6a
git-author:
Frederik Heber <frederik.heber@…> (04/28/19 22:01:20)
git-committer:
Frederik Heber <frederik.heber@…> (04/23/21 20:31:23)
Message:

OutputTemperature -> OutputEnergies, SaveTemperature -> SaveEnergies.

  • added force and momentum calculation.
  • TESTS: adapted test.ekin test file and integration/MolecularDynamics tests.
  • DOCU: Adapted userguide for changed action.
File:
1 moved

Legend:

Unmodified
Added
Removed
  • src/Dynamics/OutputEnergies.hpp

    rcbbb6a rd40189  
    11/*
    2  * OutputTemperature.hpp
     2 * OutputEnergies.hpp
    33 *
    44 *  Created on: Feb 23, 2011
     
    1717
    1818template <class T>
    19 class OutputTemperature
     19class OutputEnergies
    2020{
    2121public:
    22   OutputTemperature(AtomSetMixin<T> &_atoms) :
     22  OutputEnergies(AtomSetMixin<T> &_atoms) :
    2323    atoms(_atoms)
    2424  {}
    25   ~OutputTemperature()
     25  ~OutputEnergies()
    2626  {}
    2727
     
    3737  {
    3838    double temperature;
     39    Vector force, abs_force;
     40    Vector momentum, abs_momentum;
    3941    // test stream
    4042    if (output == NULL)
    4143      return false;
    4244    else
    43       *output << "# Step Temperature [K] Temperature [a.u.]" << endl;
     45      *output << "# Step"
     46        << "\tTemperature [K]"
     47        << "\tTemperature [a.u.]"
     48        << "\tMomentum"
     49        << "\tAbolute Momentum"
     50        << "\tForce"
     51        << "\tAbsolute Force"
     52        << endl;
    4453    for (int step=startstep;step < endstep; step++) { // loop over all time steps
    4554      temperature = atoms.totalTemperatureAtStep(step);
    46       *output << step << "\t" << temperature*AtomicEnergyToKelvin << "\t" << temperature << endl;
     55      momentum = atoms.totalMomentumAtStep(step);
     56      force = atoms.totalForceAtStep(step);
     57      abs_momentum = atoms.totalAbsoluteMomentumAtStep(step);
     58      abs_force = atoms.totalAbsoluteForceAtStep(step);
     59      *output << step
     60          << "\t" << temperature*AtomicEnergyToKelvin
     61          << "\t" << temperature
     62          << "\t" << momentum.Norm()
     63          << "\t" << abs_momentum.Norm()
     64          << "\t" << force.Norm()
     65          << "\t" << abs_force.Norm()
     66          << endl;
    4767    }
    4868    return true;
Note: See TracChangeset for help on using the changeset viewer.