34     virtual void scaleTemperature(
const std::unique_ptr<ParticleContainer>& particle_container) 
const = 0;
 
   52     void setTemperature(
double new_temperature, 
const std::unique_ptr<ParticleContainer>& particle_container);
 
ThirdDimension
Enum class to define the dimension count of the simulation (2D or 3D). Affects primarily the dimensio...
 
Class to represent a particle.
 
A thermostat that can be used to control the temperature of a particle container. Allows for gradual ...
 
Thermostat(double target_temperature, double max_temperature_change, ThirdDimension third_dimension)
Construct a new Thermostat object.
 
const double max_temperature_change
The maximum temperature change allowed per thermostat application.
 
virtual void scaleTemperature(const std::unique_ptr< ParticleContainer > &particle_container) const =0
Scale the temperature of a particle container towards the target temperature. Capped by the maximum t...
 
ThirdDimension getThirdDimension() const
Get if the third dimension is enabled on this thermostat or not.
 
virtual ~Thermostat()=default
Destroy the Thermostat object.
 
const double target_temperature
The target temperature for thermostat applications.
 
virtual double getCurrentContainerTemperature(const std::unique_ptr< ParticleContainer > &particle_container) const =0
Get the current temperature of a particle container.
 
void setTemperature(double new_temperature, const std::unique_ptr< ParticleContainer > &particle_container)
Set the initial temperature of a particle container. This function sets the velocity of all particles...
 
double getMaxTemperatureChange() const
Get the maximum temperature change of the thermostat.
 
const ThirdDimension third_dimension
Defines whether the third dimension is enabled.
 
static void setParticleTemperature(double new_temperature, Particle &particle, ThirdDimension third_dimension)
Set the temperature of a particle. This method adds a random velocity to the particle according to th...
 
double getTargetTemperature() const
Get the target temperature of the thermostat.