Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
This class is a polymoprhic value type which stores components to initialize a gridding algorithm during its initialization procedure. More...
#include <AnyInitialData.hpp>
Public Types | |
using | PatchLevel = typename GridTraits< GriddingAlgorithm >::PatchLevel |
Public Member Functions | |
Constructors | |
AnyInitialData ()=default | |
Constructs an empty object that does no initialization. More... | |
template<typename T , typename = std::enable_if_t< !decays_to<T, AnyInitialData<GriddingAlgorithm>>()>> | |
AnyInitialData (T &&initial_data) | |
Stores and wraps the initial_data object. More... | |
AnyInitialData (const AnyInitialData &other) | |
Copies the other implementation and invokes a memory allocation. More... | |
AnyInitialData & | operator= (const AnyInitialData &other) |
Copies the other implementation and invokes a memory allocation. More... | |
AnyInitialData (AnyInitialData &&) noexcept=default | |
Moves the other implementation without allocation and leaves an empty object. More... | |
AnyInitialData & | operator= (AnyInitialData &&) noexcept=default |
Moves the other implementation without allocation and leaves an empty object. More... | |
Actions | |
void | InitializeData (PatchLevel &patch_level, const GriddingAlgorithm &grid, int level, Duration time) |
Initializes a patch level within a gridding algorithm. More... | |
Private Attributes | |
std::unique_ptr< detail::InitialDataStrategy< GriddingAlgorithm > > | initial_data_ |
This class is a polymoprhic value type which stores components to initialize a gridding algorithm during its initialization procedure.
using fub::AnyInitialData< GriddingAlgorithm >::PatchLevel = typename GridTraits<GriddingAlgorithm>::PatchLevel |
|
default |
Constructs an empty object that does no initialization.
fub::AnyInitialData< GriddingAlgorithm >::AnyInitialData | ( | T && | initial_data | ) |
Stores and wraps the initial_data
object.
fub::AnyInitialData< GriddingAlgorithm >::AnyInitialData | ( | const AnyInitialData< GriddingAlgorithm > & | other | ) |
Copies the other
implementation and invokes a memory allocation.
|
defaultnoexcept |
Moves the other
implementation without allocation and leaves an empty object.
void fub::AnyInitialData< GriddingAlgorithm >::InitializeData | ( | PatchLevel & | patch_level, |
const GriddingAlgorithm & | grid, | ||
int | level, | ||
Duration | time | ||
) |
Initializes a patch level within a gridding algorithm.
|
defaultnoexcept |
Moves the other
implementation without allocation and leaves an empty object.
AnyInitialData< GriddingAlgorithm > & fub::AnyInitialData< GriddingAlgorithm >::operator= | ( | const AnyInitialData< GriddingAlgorithm > & | other | ) |
Copies the other
implementation and invokes a memory allocation.
|
private |