| 
    Molecular Dynamics Simulation
    1.0
    
   | 
 
Contains all parameters needed to run a simulation. More...
#include <SimulationParams.h>

Classes | |
| struct | DirectSumType | 
| Struct to specify the type of the particle container as DirectSumType.  More... | |
| struct | LinkedCellsType | 
| Struct to specify the type of the particle container as LinkedCellsType (needs domain_size and cutoff_radius)  More... | |
Public Member Functions | |
| SimulationParams (const std::filesystem::path &input_file_path, double delta_t, double end_time, const std::variant< DirectSumType, LinkedCellsType > &container_type, const std::vector< std::shared_ptr< SimulationInterceptor >> &interceptors, const std::vector< std::shared_ptr< SimpleForceSource >> &simple_forces, const std::vector< std::shared_ptr< PairwiseForceSource >> &pairwise_forces, const std::vector< std::shared_ptr< TargettedForceSource >> &targetted_forces, bool fresh=false, const std::filesystem::path &base_path="./output", size_t start_iteration=0) | |
| Construct a new SimulationParams object.  More... | |
| void | logSummary (int depth=0) const | 
| Prints a summary of the simulation parameters to the console.  More... | |
Public Attributes | |
| std::filesystem::path | input_file_path | 
| Path to the input file of the simulation.  More... | |
| std::size_t | input_file_hash | 
| Hash of the input file of the simulation.  More... | |
| std::filesystem::path | output_dir_path | 
| Path to the directory in which to save the simulation output.  More... | |
| double | delta_t | 
| Time step of a single simulation iteration.  More... | |
| double | end_time | 
| End time of the simulation.  More... | |
| std::vector< std::shared_ptr< SimulationInterceptor > > | interceptors | 
| List of interceptors to be used in the simulation.  More... | |
| std::variant< DirectSumType, LinkedCellsType > | container_type | 
| Type of the particle container.  More... | |
| std::vector< std::shared_ptr< SimpleForceSource > > | simple_forces | 
| Simple Forces to be applied to the particles.  More... | |
| std::vector< std::shared_ptr< PairwiseForceSource > > | pairwise_forces | 
| Pairwise Forces to be applied to the particles.  More... | |
| std::vector< std::shared_ptr< TargettedForceSource > > | targetted_forces | 
| Targetted Forces to be applied to the particles.  More... | |
| size_t | num_particles | 
| Number of particles in the simulation.  More... | |
| bool | fresh | 
| Flag to indicate whether the simulation should be run from scratch, or whether cached data should be used.  More... | |
| size_t | start_iteration | 
| Start iteration of the simulation.  More... | |
Contains all parameters needed to run a simulation.
This class is used to pass the parameters from the input file / CLI to the Simulation class.
Definition at line 22 of file SimulationParams.h.
| SimulationParams::SimulationParams | ( | const std::filesystem::path & | input_file_path, | 
| double | delta_t, | ||
| double | end_time, | ||
| const std::variant< DirectSumType, LinkedCellsType > & | container_type, | ||
| const std::vector< std::shared_ptr< SimulationInterceptor >> & | interceptors, | ||
| const std::vector< std::shared_ptr< SimpleForceSource >> & | simple_forces, | ||
| const std::vector< std::shared_ptr< PairwiseForceSource >> & | pairwise_forces, | ||
| const std::vector< std::shared_ptr< TargettedForceSource >> & | targetted_forces, | ||
| bool | fresh = false,  | 
        ||
| const std::filesystem::path & | base_path = "./output",  | 
        ||
| size_t | start_iteration = 0  | 
        ||
| ) | 
Construct a new SimulationParams object.
| input_file_path | Path to the input file of the simulation | 
| delta_t | Time step of a single simulation iteration | 
| end_time | End time of the simulation | 
| container_type | Type of the particle container | 
| interceptors | List of interceptors to be used in the simulation | 
| simple_forces | Simple Forces to be applied to the particles | 
| pairwise_forces | Forces to be applied to the particles | 
| targetted_forces | Targetted Forces to be applied to the particles | 
| fresh | Flag to indicate whether the simulation should be run from scratch, or whether cached data should be used | 
| base_path | Base path to the output directory. This is used to construct the output directory path if none is given explicitly. Defaults to "./output/" | 
| start_iteration | Start iteration of the simulation | 
Definition at line 27 of file SimulationParams.cpp.
| void SimulationParams::logSummary | ( | int | depth = 0 | ) | const | 
Prints a summary of the simulation parameters to the console.
| depth | determines the indentation of the log message | 
Definition at line 60 of file SimulationParams.cpp.
| std::variant<DirectSumType, LinkedCellsType> SimulationParams::container_type | 
Type of the particle container.
Definition at line 89 of file SimulationParams.h.
| double SimulationParams::delta_t | 
Time step of a single simulation iteration.
Definition at line 74 of file SimulationParams.h.
| double SimulationParams::end_time | 
End time of the simulation.
Definition at line 79 of file SimulationParams.h.
| bool SimulationParams::fresh | 
Flag to indicate whether the simulation should be run from scratch, or whether cached data should be used.
Definition at line 114 of file SimulationParams.h.
| std::size_t SimulationParams::input_file_hash | 
Hash of the input file of the simulation.
Definition at line 64 of file SimulationParams.h.
| std::filesystem::path SimulationParams::input_file_path | 
Path to the input file of the simulation.
Definition at line 59 of file SimulationParams.h.
| std::vector<std::shared_ptr<SimulationInterceptor> > SimulationParams::interceptors | 
List of interceptors to be used in the simulation.
Definition at line 84 of file SimulationParams.h.
| size_t SimulationParams::num_particles | 
Number of particles in the simulation.
Definition at line 109 of file SimulationParams.h.
| std::filesystem::path SimulationParams::output_dir_path | 
Path to the directory in which to save the simulation output.
Definition at line 69 of file SimulationParams.h.
| std::vector<std::shared_ptr<PairwiseForceSource> > SimulationParams::pairwise_forces | 
Pairwise Forces to be applied to the particles.
Definition at line 99 of file SimulationParams.h.
| std::vector<std::shared_ptr<SimpleForceSource> > SimulationParams::simple_forces | 
Simple Forces to be applied to the particles.
Definition at line 94 of file SimulationParams.h.
| size_t SimulationParams::start_iteration | 
Start iteration of the simulation.
Definition at line 119 of file SimulationParams.h.
| std::vector<std::shared_ptr<TargettedForceSource> > SimulationParams::targetted_forces | 
Targetted Forces to be applied to the particles.
Definition at line 104 of file SimulationParams.h.