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 | Private Attributes | List of all members
fub::AnyOutput< Grid > Class Template Reference

#include <AsOutput.hpp>

Public Member Functions

 AnyOutput (std::vector< std::ptrdiff_t > frequencies, std::vector< Duration > intervals, std::function< void(const Grid &)> fn)
 
 AnyOutput (const std::map< std::string, pybind11::object > &vm, std::function< void(const Grid &)> fn)
 
void operator() (const Grid &grid) override
 Invoke the actual output logic. More...
 
Duration NextOutputTime (Duration time_point) override
 Returns the time point at which the simulation shall stop to do some output. More...
 
bool ShallOutputNow (const Grid &grid) override
 Returns true if this output class shall be invoked at the specified time point. More...
 
void Print (Log &log)
 

Protected Attributes

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

Private Attributes

std::function< void(const Grid &)> fn_
 

Constructor & Destructor Documentation

◆ AnyOutput() [1/2]

template<typename Grid >
fub::AnyOutput< Grid >::AnyOutput ( std::vector< std::ptrdiff_t >  frequencies,
std::vector< Duration intervals,
std::function< void(const Grid &)>  fn 
)
inline

◆ AnyOutput() [2/2]

template<typename Grid >
fub::AnyOutput< Grid >::AnyOutput ( const std::map< std::string, pybind11::object > &  vm,
std::function< void(const Grid &)>  fn 
)
inline

Member Function Documentation

◆ NextOutputTime()

Duration fub::OutputAtFrequencyOrInterval< Grid >::NextOutputTime ( Duration  time_point)
inlineoverridevirtualinherited

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

Implements fub::BasicOutput< Grid >.

◆ operator()()

template<typename Grid >
void fub::AnyOutput< Grid >::operator() ( const Grid &  grid)
inlineoverridevirtual

Invoke the actual output logic.

Implements fub::BasicOutput< Grid >.

◆ Print()

void fub::OutputAtFrequencyOrInterval< Grid >::Print ( Log &  log)
inlineinherited

◆ ShallOutputNow()

bool fub::OutputAtFrequencyOrInterval< Grid >::ShallOutputNow ( const GriddingAlgorithm &  grid)
inlineoverridevirtualinherited

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

Implements fub::BasicOutput< Grid >.

Member Data Documentation

◆ fn_

template<typename Grid >
std::function<void(const Grid&)> fub::AnyOutput< Grid >::fn_
private

◆ frequencies_

std::vector<std::ptrdiff_t> fub::OutputAtFrequencyOrInterval< Grid >::frequencies_
protectedinherited

◆ intervals_

std::vector<fub::Duration> fub::OutputAtFrequencyOrInterval< Grid >::intervals_
protectedinherited

◆ smallest_time_step_size_

Duration fub::OutputAtFrequencyOrInterval< Grid >::smallest_time_step_size_
protectedinherited

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