Molecular Dynamics  v0.4
Project for the Practical hosted by the Scientific Computing Chair
DirectSum.h
Go to the documentation of this file.
1 //
2 // Created by daniel on 22.05.24.
3 //
4 
5 #pragma once
6 
7 #include "../Model.h"
9 
13 class DirectSum final : public Model {
14 private:
19 
20 public:
30  DirectSum(Force &force, double deltaT, FileHandler::outputFormat outputFormat, bool gravityOn, std::array<double, 3> g = {});
31 
37  void step(int iteration) override;
38 
42  void initializeForces() override;
43 };
Container to store the particles for simulation using the direct sum algorithm.
Definition: DefaultParticleContainer.h:19
Model that implements the direct sum algorithm.
Definition: DirectSum.h:13
void step(int iteration) override
Perform one time step in the direct sum model.
Definition: DirectSum.cpp:11
DefaultParticleContainer particles
Definition: DirectSum.h:18
DirectSum(Force &force, double deltaT, FileHandler::outputFormat outputFormat, bool gravityOn, std::array< double, 3 > g={})
Construct a new Direct Sum model.
Definition: DirectSum.cpp:7
void initializeForces() override
Calculate forces at the beginning of the simulation that the old force is not 0.
Definition: DirectSum.cpp:20
outputFormat
Supported output formats.
Definition: FileHandler.h:31
Interface representing the force that the source exerts on the target.
Definition: Force.h:14
Abstract base class for any model for molecule simulation.
Definition: Model.h:17
FileHandler::outputFormat outputFormat
Definition: Model.h:25
std::array< double, 3 > g
Definition: Model.h:32
bool gravityOn
Definition: Model.h:31
double deltaT
Definition: Model.h:30
Enumeration class corresponding to the force schema type.
Definition: ConfigurationFile.h:6026