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::CounterOutput< Grid, PrintDuration > Class Template Reference

#include <CounterOutput.hpp>

Public Member Functions

 CounterOutput (const ProgramOptions &po, std::chrono::steady_clock::time_point ref)
 
 CounterOutput (const ProgramOptions &po)
 
 CounterOutput (std::chrono::steady_clock::time_point reference, std::vector< std::ptrdiff_t > frequencies, std::vector< Duration > intervals)
 
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::chrono::steady_clock::time_point reference_
 

Constructor & Destructor Documentation

◆ CounterOutput() [1/3]

template<typename Grid , typename PrintDuration = std::chrono::nanoseconds>
fub::CounterOutput< Grid, PrintDuration >::CounterOutput ( const ProgramOptions po,
std::chrono::steady_clock::time_point  ref 
)
inline

◆ CounterOutput() [2/3]

template<typename Grid , typename PrintDuration = std::chrono::nanoseconds>
fub::CounterOutput< Grid, PrintDuration >::CounterOutput ( const ProgramOptions po)
inline

◆ CounterOutput() [3/3]

template<typename Grid , typename PrintDuration = std::chrono::nanoseconds>
fub::CounterOutput< Grid, PrintDuration >::CounterOutput ( std::chrono::steady_clock::time_point  reference,
std::vector< std::ptrdiff_t >  frequencies,
std::vector< Duration intervals 
)
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 , typename PrintDuration = std::chrono::nanoseconds>
void fub::CounterOutput< Grid, PrintDuration >::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

◆ frequencies_

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

◆ intervals_

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

◆ reference_

template<typename Grid , typename PrintDuration = std::chrono::nanoseconds>
std::chrono::steady_clock::time_point fub::CounterOutput< Grid, PrintDuration >::reference_
private

◆ smallest_time_step_size_

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

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