Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Member Functions | Protected Attributes | List of all members
fub::OutputAtFrequencyOrInterval< GriddingAlgorithm > Class Template Referenceabstract

#include <OutputAtFrequencyOrInterval.hpp>

Public Member Functions

 OutputAtFrequencyOrInterval ()=default
 
 OutputAtFrequencyOrInterval (const std::map< std::string, pybind11::object > &options)
 Initialize this module by a program options map. More...
 
 OutputAtFrequencyOrInterval (std::vector< std::ptrdiff_t > frequencies, std::vector< fub::Duration > intervals, Duration smallest_time_step_size=Duration(1e-12))
 
Duration NextOutputTime (Duration time_point) override
 Returns the time point at which the simulation shall stop to do some output. More...
 
bool ShallOutputNow (const GriddingAlgorithm &grid) override
 Returns true if this output class shall be invoked at the specified time point. More...
 
template<typename Log >
void Print (Log &log)
 
virtual void operator() (const GriddingAlgorithm &grid)=0
 Invoke the actual output logic. More...
 

Protected Attributes

std::vector< std::ptrdiff_t > frequencies_
 
std::vector< fub::Durationintervals_
 
Duration smallest_time_step_size_
 

Constructor & Destructor Documentation

◆ OutputAtFrequencyOrInterval() [1/3]

template<typename GriddingAlgorithm >
fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::OutputAtFrequencyOrInterval ( )
default

◆ OutputAtFrequencyOrInterval() [2/3]

template<typename GriddingAlgorithm >
fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::OutputAtFrequencyOrInterval ( const std::map< std::string, pybind11::object > &  options)
inline

Initialize this module by a program options map.

◆ OutputAtFrequencyOrInterval() [3/3]

template<typename GriddingAlgorithm >
fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::OutputAtFrequencyOrInterval ( std::vector< std::ptrdiff_t >  frequencies,
std::vector< fub::Duration intervals,
Duration  smallest_time_step_size = Duration(1e-12) 
)
inline

Member Function Documentation

◆ NextOutputTime()

template<typename GriddingAlgorithm >
Duration fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::NextOutputTime ( Duration  time_point)
inlineoverridevirtual

Returns the time point at which the simulation shall stop to do some output.

Implements fub::BasicOutput< GriddingAlgorithm >.

◆ operator()()

template<typename GriddingAlgorithm >
virtual void fub::BasicOutput< GriddingAlgorithm >::operator() ( const GriddingAlgorithm &  grid)
pure virtualinherited

◆ Print()

template<typename GriddingAlgorithm >
template<typename Log >
void fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::Print ( Log log)
inline

◆ ShallOutputNow()

template<typename GriddingAlgorithm >
bool fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::ShallOutputNow ( const GriddingAlgorithm &  grid)
inlineoverridevirtual

Returns true if this output class shall be invoked at the specified time point.

Implements fub::BasicOutput< GriddingAlgorithm >.

Member Data Documentation

◆ frequencies_

template<typename GriddingAlgorithm >
std::vector<std::ptrdiff_t> fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::frequencies_
protected

◆ intervals_

template<typename GriddingAlgorithm >
std::vector<fub::Duration> fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::intervals_
protected

◆ smallest_time_step_size_

template<typename GriddingAlgorithm >
Duration fub::OutputAtFrequencyOrInterval< GriddingAlgorithm >::smallest_time_step_size_
protected

The documentation for this class was generated from the following file: