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

#include <MultipleOutputs.hpp>

Public Types

using ProgramOptions = std::map< std::string, pybind11::object >
 

Public Member Functions

 MultipleOutputs ()=default
 
 MultipleOutputs (OutputFactory< Grid > factory, const ProgramOptions &opts)
 
template<typename T >
void AddOutput (std::unique_ptr< T > &&output)
 
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 operator() (const Grid &grid) override
 Invoke the actual output logic. More...
 

Private Attributes

OutputFactory< Grid > factory_
 
std::vector< std::unique_ptr< BasicOutput< Grid > > > outputs_
 

Member Typedef Documentation

◆ ProgramOptions

template<typename Grid >
using fub::MultipleOutputs< Grid >::ProgramOptions = std::map<std::string, pybind11::object>

Constructor & Destructor Documentation

◆ MultipleOutputs() [1/2]

template<typename Grid >
fub::MultipleOutputs< Grid >::MultipleOutputs ( )
default

◆ MultipleOutputs() [2/2]

template<typename Grid >
fub::MultipleOutputs< Grid >::MultipleOutputs ( OutputFactory< Grid >  factory,
const ProgramOptions opts 
)
inline

Member Function Documentation

◆ AddOutput()

template<typename Grid >
template<typename T >
void fub::MultipleOutputs< Grid >::AddOutput ( std::unique_ptr< T > &&  output)
inline

◆ NextOutputTime()

template<typename Grid >
Duration fub::MultipleOutputs< Grid >::NextOutputTime ( Duration  time_point)
inlineoverridevirtual

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

Implements fub::BasicOutput< Grid >.

◆ operator()()

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

Invoke the actual output logic.

Implements fub::BasicOutput< Grid >.

◆ ShallOutputNow()

template<typename Grid >
bool fub::MultipleOutputs< Grid >::ShallOutputNow ( const Grid &  grid)
inlineoverridevirtual

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

Implements fub::BasicOutput< Grid >.

Member Data Documentation

◆ factory_

template<typename Grid >
OutputFactory<Grid> fub::MultipleOutputs< Grid >::factory_
private

◆ outputs_

template<typename Grid >
std::vector<std::unique_ptr<BasicOutput<Grid> > > fub::MultipleOutputs< Grid >::outputs_
private

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