Molecular Dynamics Simulation
1.0
|
#include <TemperatureSensorInterceptor.h>
Public Member Functions | |
TemperatureSensorInterceptor (std::shared_ptr< Thermostat > thermostat, double sample_every_x_percent) | |
Construct a new TemperatureSensor Interceptor object. More... | |
void | onSimulationStart (Simulation &simulation) override |
This function is empty as the thermostat doesnt need initialization. More... | |
void | operator() (size_t iteration, Simulation &simulation) override |
This function is called on every nth iteration. It scales the temperature of the particles in accordance with the thermostat. More... | |
void | onSimulationEnd (size_t iteration, Simulation &simulation) override |
This function is empty as the thermostat doesnt need to do anything at the end of the simulation. More... | |
operator std::string () const override | |
The string representation of this interceptor. More... | |
void | logSummary (int depth) const override |
Logs the summary of the thermostat. More... | |
Public Member Functions inherited from SimulationInterceptor | |
virtual | ~SimulationInterceptor ()=default |
Destroy the Simulation Interceptor object. More... | |
void | notify (size_t iteration, Simulation &simulation) |
This function is called by the simulation loop on every iteration. Whenever the iteration is a multiple of every_nth_iteration, the operator() function is called. More... | |
Private Attributes | |
std::unique_ptr< CSVWriter > | csv_writer |
std::shared_ptr< Thermostat > | thermostat |
The thermostat that is used to scale the temperature. More... | |
double | sample_every_x_percent |
Additional Inherited Members | |
Protected Attributes inherited from SimulationInterceptor | |
size_t | every_nth_iteration = 1 |
Definition at line 8 of file TemperatureSensorInterceptor.h.
|
inlineexplicit |
Construct a new TemperatureSensor Interceptor object.
Definition at line 13 of file TemperatureSensorInterceptor.h.
|
overridevirtual |
Logs the summary of the thermostat.
Implements SimulationInterceptor.
Definition at line 34 of file TemperatureSensorInterceptor.cpp.
|
overridevirtual |
This function is empty as the thermostat doesnt need to do anything at the end of the simulation.
iteration | The current iteration |
simulation | The simulation object |
Implements SimulationInterceptor.
Definition at line 28 of file TemperatureSensorInterceptor.cpp.
|
overridevirtual |
This function is empty as the thermostat doesnt need initialization.
simulation | The simulation object |
Implements SimulationInterceptor.
Definition at line 6 of file TemperatureSensorInterceptor.cpp.
|
explicitoverridevirtual |
The string representation of this interceptor.
This is used to write the final summary of the Interceptors to the console.
Implements SimulationInterceptor.
Definition at line 41 of file TemperatureSensorInterceptor.cpp.
|
overridevirtual |
This function is called on every nth iteration. It scales the temperature of the particles in accordance with the thermostat.
iteration | The current iteration |
simulation | The simulation object |
Implements SimulationInterceptor.
Definition at line 22 of file TemperatureSensorInterceptor.cpp.
|
private |
Definition at line 57 of file TemperatureSensorInterceptor.h.
|
private |
Definition at line 64 of file TemperatureSensorInterceptor.h.
|
private |
The thermostat that is used to scale the temperature.
Definition at line 62 of file TemperatureSensorInterceptor.h.