Molecular Dynamics Simulation  1.0
IntegrationFunctor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 
7 
15  public:
19  virtual ~IntegrationFunctor() = default;
20 
31  virtual void step(std::unique_ptr<ParticleContainer>& particle_container,
32  const std::vector<std::shared_ptr<SimpleForceSource>>& simple_force_sources,
33  const std::vector<std::shared_ptr<PairwiseForceSource>>& pairwise_force_sources,
34  const std::vector<std::shared_ptr<TargettedForceSource>>& targetted_force_sources, double delta_t,
35  double curr_simulation_time) const = 0;
36 };
Interface for numerical integration methods.
virtual ~IntegrationFunctor()=default
Virtual default destructor for the interface.
virtual void step(std::unique_ptr< ParticleContainer > &particle_container, const std::vector< std::shared_ptr< SimpleForceSource >> &simple_force_sources, const std::vector< std::shared_ptr< PairwiseForceSource >> &pairwise_force_sources, const std::vector< std::shared_ptr< TargettedForceSource >> &targetted_force_sources, double delta_t, double curr_simulation_time) const =0
Performs one step with the respective integration method.