Molecular Dynamics  v0.4
Project for the Practical hosted by the Scientific Computing Chair
FlowThermostat.h
Go to the documentation of this file.
1 //
2 // Created by daniel on 29.06.24.
3 //
4 
5 #pragma once
6 #include "../Thermostat.h"
7 
12 class FlowThermostat : public Thermostat{
13 public:
14 
25  FlowThermostat(Model &model, double temperatureInit, double temperatureTarget, double maxTemperatureChange,
26  int dimensions);
27 
33  double calculateKineticEnergy() override;
34 
40  std::array<double, 3> calculateAverageVelocity();
41 
47  double calculateTemperature() override;
48 
54 
60 };
Class for controling the temperature of a flow.
Definition: FlowThermostat.h:12
FlowThermostat(Model &model, double temperatureInit, double temperatureTarget, double maxTemperatureChange, int dimensions)
Construct a flow thermostat for a model.
Definition: FlowThermostat.cpp:7
std::array< double, 3 > calculateAverageVelocity()
Definition: FlowThermostat.cpp:37
double calculateKineticEnergy() override
Helper method to calculate the current kinetic energy of the system. (Fixed particles excluded).
Definition: FlowThermostat.cpp:13
double calculateTemperature() override
Helper method to calculate the current temperature of the system.
Definition: FlowThermostat.cpp:24
void setTemperatureOfTheSystemViaVelocityScaling() override
Set the temperature of the current system to targetTemperature.
Definition: FlowThermostat.cpp:52
void setTemperatureOfTheSystemViaGradualVelocityScaling() override
Set the temperature of the current system to targetTemperature, if the change in temperature does not...
Definition: FlowThermostat.cpp:66
Abstract base class for any model for molecule simulation.
Definition: Model.h:17
Base class for controling the temperature of the simulated system.
Definition: Thermostat.h:13
double maxTemperatureChange
Definition: Thermostat.h:28
int dimensions
Definition: Thermostat.h:29
Class corresponding to the model schema type.
Definition: ConfigurationFile.h:2755