template<typename ParticleSys, typename OdeIterator>
hub::Simulator class

Template parameters
ParticleSys Any implementation of concept system::ParticleSystem.
OdeIterator Any implementation of concept ode::OdeIterator.

Wrapper to integrate the particle system and ode-iterator to perform the simulation.

Public types

using RunArgs = hub::RunArgs<ParticleSys>
using Particle = typename ParticleSys::Particle

Constructors, destructors, conversion operators

Simulator() deleted
Simulator(Simulator const&) defaulted
Simulator(Simulator&&) defaulted
template<typename STL>
Simulator(Scalar time, STL const& particles_set)
template<typename... T>
Simulator(Scalar time, T const&... particle) explicit

Public functions

auto particles() const -> ParticleSys const & noexcept
auto operator=(Simulator const&) -> Simulator& defaulted
auto operator=(Simulator&&) -> Simulator& defaulted
void run(RunArgs const& run_args)

Typedef documentation

template<typename ParticleSys, typename OdeIterator>
using hub::Simulator<ParticleSys, OdeIterator>::RunArgs = hub::RunArgs<ParticleSys>

Run arguments that is used to set all arguments needed by Simulator.

template<typename ParticleSys, typename OdeIterator>
using hub::Simulator<ParticleSys, OdeIterator>::Particle = typename ParticleSys::Particle

Particle type that is used to create the initial conditions to initialize the Simulator.

Function documentation

template<typename ParticleSys, typename OdeIterator>
hub::Simulator<ParticleSys, OdeIterator>::Simulator() deleted

Default constructor.

template<typename ParticleSys, typename OdeIterator>
hub::Simulator<ParticleSys, OdeIterator>::Simulator(Simulator const&) defaulted

Default copy constructor.

template<typename ParticleSys, typename OdeIterator>
hub::Simulator<ParticleSys, OdeIterator>::Simulator(Simulator&&) defaulted

Default move constructor

template<typename ParticleSys, typename OdeIterator> template<typename STL>
hub::Simulator<ParticleSys, OdeIterator>::Simulator(Scalar time, STL const& particles_set)

Template parameters
STL Iterable Particle Container.
Parameters
time in Initial time of the particle system.
particles_set in Particle container.

Initialize the Simulator with an iterable Particle Container.

template<typename ParticleSys, typename OdeIterator> template<typename... T>
hub::Simulator<ParticleSys, OdeIterator>::Simulator(Scalar time, T const&... particle) explicit

Template parameters
T Any particle type that has the same interfaces of type member Particle.
Parameters
time in Initial time of the particle system.
particle in Initial particles.

Initialize the Simulator with an given particles.

template<typename ParticleSys, typename OdeIterator>
ParticleSys const & hub::Simulator<ParticleSys, OdeIterator>::particles() const noexcept

The getter interface of member particles_ in name of particles.

template<typename ParticleSys, typename OdeIterator>
Simulator& hub::Simulator<ParticleSys, OdeIterator>::operator=(Simulator const&) defaulted

Default copy assignment operator

template<typename ParticleSys, typename OdeIterator>
Simulator& hub::Simulator<ParticleSys, OdeIterator>::operator=(Simulator&&) defaulted

Default move assignment operator

template<typename ParticleSys, typename OdeIterator>
void hub::Simulator<ParticleSys, OdeIterator>::run(RunArgs const& run_args)

Parameters
run_args in Run arguments.

Run the simulation with given arguments.