#include <src/simulator.hpp>
          template<typename ParticleSys>
          RunArgs class
        
        | Template parameters | |
|---|---|
| ParticleSys | Any implementation of concept ParticleSystem. | 
Contents
- Reference
 
Run arguments that is used to set all arguments needed by Simulator.
The pre_operations(), post_operations(), stop_
... auto sys; // particle system that is going to be evolved. for( ;check_stops(sys);){ pre_operations(sys); ...//step integration. post_operations(sys); } stop_operations(sys); ...
Public types
Public functions
- void operations(ParticleSys& particle_sys, Scalar step_size) const
 - void stop_operations(ParticleSys& particle_sys, Scalar step_size) const
 - void start_operations(ParticleSys& particle_sys, Scalar step_size) const
 - auto check_stops(ParticleSys& particle_sys, Scalar step_size) const -> bool
 - 
              template<typename Func, typename... Args>void add_operation(Func func, Args && ... args)
 - 
              template<typename Func, typename... Args>void add_stop_point_operation(Func func, Args && ... args)
 - 
              template<typename Func, typename... Args>void add_start_point_operation(Func func, Args && ... args)
 - 
              template<typename Func, typename... Args>void add_stop_condition(Func func, Args && ... args)
 - void add_stop_condition(Scalar end)
 - auto is_end_time_set() const -> bool
 - auto is_stop_condition_set() const -> bool
 
Public variables
Typedef documentation
Function documentation
              
                template<typename ParticleSys>
              
              void hub:: RunArgs<ParticleSys>:: operations(ParticleSys& particle_sys,
              Scalar step_size) const
            
            | Parameters | |
|---|---|
| particle_sys in/out | The particle system that is going to be operated. | 
| step_size in | The current step size. | 
Call the all registered operation functions by sequence.
              
                template<typename ParticleSys>
              
              void hub:: RunArgs<ParticleSys>:: stop_operations(ParticleSys& particle_sys,
              Scalar step_size) const
            
            | Parameters | |
|---|---|
| particle_sys in/out | The particle system that is going to be operated. | 
| step_size in | The current step size. | 
Call the all registered stop-operation functions by sequence.
              
                template<typename ParticleSys>
              
              void hub:: RunArgs<ParticleSys>:: start_operations(ParticleSys& particle_sys,
              Scalar step_size) const
            
            | Parameters | |
|---|---|
| particle_sys in/out | The particle system that is going to be operated. | 
| step_size in | The current step size. | 
Call the all registered start-operation functions by sequence.
              
                template<typename ParticleSys>
              
              bool hub:: RunArgs<ParticleSys>:: check_stops(ParticleSys& particle_sys,
              Scalar step_size) const
            
            | Parameters | |
|---|---|
| particle_sys in | The particle system that is going to be checked | 
| step_size in | The current step size. | 
Check the all registered stop condition functions by sequence. If any of them is satisfied, return true.
              
                template<typename ParticleSys>
                template<typename Func, typename... Args>
              
              void hub:: RunArgs<ParticleSys>:: add_operation(Func func,
              Args && ... args)
            
            | Template parameters | |
|---|---|
| Func | Callable type that is convertible to member type Callback. | 
| Args | Type of the binding arguments. | 
| Parameters | |
| func in | Callable object. | 
| args in | Binding arguments.If func accepts more than one arguments, you can bind the rest arguments here. | 
Register a callable object(function pointer, functor, lambda,etc...) to start point and every post-step.
              
                template<typename ParticleSys>
                template<typename Func, typename... Args>
              
              void hub:: RunArgs<ParticleSys>:: add_stop_point_operation(Func func,
              Args && ... args)
            
            | Template parameters | |
|---|---|
| Func | Callable type that is convertible to member type Callback. | 
| Args | Type of the binding arguments. | 
| Parameters | |
| func in | Callable object. | 
| args in | Binding arguments. If func accepts more than one arguments, you can bind the rest arguments here. | 
Register a callable object(function pointer, functor, lambda,etc...) to stop-point-operations.
              
                template<typename ParticleSys>
                template<typename Func, typename... Args>
              
              void hub:: RunArgs<ParticleSys>:: add_start_point_operation(Func func,
              Args && ... args)
            
            | Template parameters | |
|---|---|
| Func | Callable type that is convertible to member type Callback. | 
| Args | Type of the binding arguments. | 
| Parameters | |
| func in | Callable object. | 
| args in | Binding arguments. If func accepts more than one arguments, you can bind the rest arguments here. | 
Register a callable object(function pointer, functor, lambda,etc...) to start-point-operations.
              
                template<typename ParticleSys>
                template<typename Func, typename... Args>
              
              void hub:: RunArgs<ParticleSys>:: add_stop_condition(Func func,
              Args && ... args)
            
            | Template parameters | |
|---|---|
| Func | Callable type that is convertible to member type Stopback. | 
| Args | Type of the binding arguments. | 
| Parameters | |
| func in | Callable object. | 
| args in | Binding arguments. If func accepts more than one arguments, you can bind the rest arguments here. | 
Register a callable object(function pointer, functor, lambda,etc...) to stop conditions.
              
                template<typename ParticleSys>
              
              void hub:: RunArgs<ParticleSys>:: add_stop_condition(Scalar end)
            
            | Parameters | |
|---|---|
| end in | Duration time of the integration. | 
Add the duration time of the integration as a stop condition.
              
                template<typename ParticleSys>
              
              bool hub:: RunArgs<ParticleSys>:: is_end_time_set() const
            
            | Returns | boolean | 
|---|
Check if the integration duration time is set.
              
                template<typename ParticleSys>
              
              bool hub:: RunArgs<ParticleSys>:: is_stop_condition_set() const
            
            | Returns | boolean | 
|---|
Check if any of the stop condition(except the duration time) is set.