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

This is a polymorphic value type that wraps any BoundaryCondition object. More...

#include <AnyBoundaryCondition.hpp>

Public Types

using DataReference = typename GridTraits< GriddingAlgorithm >::DataReference
 

Public Member Functions

Constructors
 AnyBoundaryCondition ()=default
 This constructs a method that does nothing on invocation. More...
 
template<typename BC , typename = std::enable_if_t<!decays_to<BC, AnyBoundaryCondition>()>>
 AnyBoundaryCondition (BC &&bc)
 Stores any object which satisfies the BoundaryCondition concept. More...
 
 AnyBoundaryCondition (const AnyBoundaryCondition &other)
 Copies the implementation. More...
 
AnyBoundaryConditionoperator= (const AnyBoundaryCondition &other)
 Copies the implementation. More...
 
 AnyBoundaryCondition (AnyBoundaryCondition &&)=default
 Moves the other object without allocating and leaves an empty method. More...
 
AnyBoundaryConditionoperator= (AnyBoundaryCondition &&)=default
 Moves the other object without allocating and leaves an empty method. More...
 
Actions
void FillBoundary (DataReference data, const GriddingAlgorithm &gridding, int level)
 Fill the boundary layer of data. More...
 
void FillBoundary (DataReference data, const GriddingAlgorithm &gridding, int level, Direction dir)
 Fill the boundary layer of data in direction dir only. More...
 

Private Attributes

std::unique_ptr< detail::BoundaryConditionBase< GriddingAlgorithm > > boundary_condition_
 

Detailed Description

template<typename GriddingAlgorithm>
class fub::AnyBoundaryCondition< GriddingAlgorithm >

This is a polymorphic value type that wraps any BoundaryCondition object.

Member Typedef Documentation

◆ DataReference

template<typename GriddingAlgorithm >
using fub::AnyBoundaryCondition< GriddingAlgorithm >::DataReference = typename GridTraits<GriddingAlgorithm>::DataReference

Constructor & Destructor Documentation

◆ AnyBoundaryCondition() [1/4]

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

This constructs a method that does nothing on invocation.

Exceptions
Nothing.

◆ AnyBoundaryCondition() [2/4]

template<typename GriddingAlgorithm >
template<typename BC , typename >
fub::AnyBoundaryCondition< GriddingAlgorithm >::AnyBoundaryCondition ( BC &&  bc)

Stores any object which satisfies the BoundaryCondition concept.

◆ AnyBoundaryCondition() [3/4]

template<typename GriddingAlgorithm >
fub::AnyBoundaryCondition< GriddingAlgorithm >::AnyBoundaryCondition ( const AnyBoundaryCondition< GriddingAlgorithm > &  other)

Copies the implementation.

◆ AnyBoundaryCondition() [4/4]

template<typename GriddingAlgorithm >
fub::AnyBoundaryCondition< GriddingAlgorithm >::AnyBoundaryCondition ( AnyBoundaryCondition< GriddingAlgorithm > &&  )
default

Moves the other object without allocating and leaves an empty method.

Member Function Documentation

◆ FillBoundary() [1/2]

template<typename GriddingAlgorithm >
void fub::AnyBoundaryCondition< GriddingAlgorithm >::FillBoundary ( DataReference  data,
const GriddingAlgorithm &  gridding,
int  level 
)

Fill the boundary layer of data.

◆ FillBoundary() [2/2]

template<typename GriddingAlgorithm >
void fub::AnyBoundaryCondition< GriddingAlgorithm >::FillBoundary ( DataReference  data,
const GriddingAlgorithm &  gridding,
int  level,
Direction  dir 
)

Fill the boundary layer of data in direction dir only.

◆ operator=() [1/2]

template<typename GriddingAlgorithm >
AnyBoundaryCondition& fub::AnyBoundaryCondition< GriddingAlgorithm >::operator= ( AnyBoundaryCondition< GriddingAlgorithm > &&  )
default

Moves the other object without allocating and leaves an empty method.

◆ operator=() [2/2]

template<typename GriddingAlgorithm >
AnyBoundaryCondition< GriddingAlgorithm > & fub::AnyBoundaryCondition< GriddingAlgorithm >::operator= ( const AnyBoundaryCondition< GriddingAlgorithm > &  other)

Copies the implementation.

Member Data Documentation

◆ boundary_condition_

template<typename GriddingAlgorithm >
std::unique_ptr<detail::BoundaryConditionBase<GriddingAlgorithm> > fub::AnyBoundaryCondition< GriddingAlgorithm >::boundary_condition_
private

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