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.