|
MolSim
|
Class defining a time-integration simulation. More...
#include <Simulation.h>
Public Member Functions | |
| Simulation (ParticleContainer &pc, Arguments &args, Thermostat &t, FlowSimulationAnalyzer &analyzer) | |
| Constructs a new Simulation. | |
| virtual | ~Simulation () |
| Destroys the current Simulation object. | |
| virtual void | runSimulation () |
| Main function for running the simulation. | |
| ParticleContainer & | getParticles () |
| Gets a reference to the ParticleContainer storing the simulation's particles. | |
Protected Member Functions | |
| void | initializeBase () |
| Base function for initializing Simulation parameters. | |
| void | runSimulationLoop (CellContainer *lc=nullptr) |
| Runs a basic simulation loop. | |
Protected Attributes | |
| ParticleContainer & | m_particles |
| Reference to the ParticleContainer containing the particles used in the simulation. | |
| Arguments & | m_args |
| Reference to the Arguments struct containing simulation parameters. | |
| Thermostat & | m_thermostat |
| Reference to the Thermostat, for temperature regulation. | |
| FlowSimulationAnalyzer & | m_analyzer |
| Reference to the FlowSimulationAnalyzer, for statistics computation. | |
| int | m_totalIt |
| The total number of iterations for which the simulation will run. | |
| std::unique_ptr< FileWriter > | m_writer |
| A pointer to the FileWriter object used for writing file output. | |
| TimeIntegrationFuncs::VFunc | m_calculateV |
| Function for calculating the Particle velocities. | |
| TimeIntegrationFuncs::XFunc | m_calculateX |
| Function for calculating the Particle positions. | |
| StrategyFactory::FFunc | m_calculateF |
| Function for calculating the force effective on each Particle. | |
| Timer | m_timer |
| Timer used to measure simulation runtime and log molecule updates per second (MUPS). | |
Class defining a time-integration simulation.
| Simulation::Simulation | ( | ParticleContainer & | pc, |
| Arguments & | args, | ||
| Thermostat & | t, | ||
| FlowSimulationAnalyzer & | analyzer | ||
| ) |
Constructs a new Simulation.
| pc | The ParticleContainer containing the simulation molecules. |
| args | The Arguments struct containing the simulation metadata. |
| t | The Thermostat used for temperature regulation. |
| analyzer | The Anlayzer used for statistics computation. |
|
virtual |
Destroys the current Simulation object.
| ParticleContainer & Simulation::getParticles | ( | ) |
Gets a reference to the ParticleContainer storing the simulation's particles.
|
protected |
Base function for initializing Simulation parameters.
|
virtual |
Main function for running the simulation.
Reimplemented in SimulationLC.
|
protected |
Runs a basic simulation loop.
The particle container must not be empty.
| lc | An optional parameter for linked cell algorithms. |
|
protected |
Reference to the FlowSimulationAnalyzer, for statistics computation.
|
protected |
Reference to the Arguments struct containing simulation parameters.
|
protected |
Function for calculating the force effective on each Particle.
|
protected |
Function for calculating the Particle velocities.
|
protected |
Function for calculating the Particle positions.
|
protected |
Reference to the ParticleContainer containing the particles used in the simulation.
|
protected |
Reference to the Thermostat, for temperature regulation.
|
protected |
Timer used to measure simulation runtime and log molecule updates per second (MUPS).
|
protected |
The total number of iterations for which the simulation will run.
|
protected |
A pointer to the FileWriter object used for writing file output.