Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Classes | Namespaces | Typedefs | Functions
Equation.hpp File Reference
#include "fub/Direction.hpp"
#include "fub/State.hpp"
#include "fub/StateArray.hpp"
#include "fub/core/type_traits.hpp"
#include "fub/ext/Eigen.hpp"
#include <fmt/format.h>

Go to the source code of this file.

Classes

struct  fub::HasScalarFlux< Equation >
 
struct  fub::HasVectorizedFlux< Equation, N >
 
struct  fub::HasScalarReconstruction< Equation >
 
struct  fub::HasVectorizedReconstruction< Equation, N >
 
struct  fub::HasReconstruction< Equation >
 

Namespaces

 fub
 The fub namespace.
 

Typedefs

template<typename Eq , typename... Args>
using fub::FluxT = decltype(std::declval< Eq >().Flux(std::declval< Args >()...))
 
template<typename Eq >
using fub::ScalarFluxT = decltype(std::declval< const Eq & >().Flux(std::declval< Conservative< Eq > & >(), std::declval< const Complete< Eq > & >(), Direction::X))
 
template<typename Eq , typename N = int_constant<kDefaultChunkSize>>
using fub::VectorizedFluxT = decltype(std::declval< const Eq & >().Flux(std::declval< ConservativeArray< Eq, N::value > & >(), std::declval< const CompleteArray< Eq, N::value > & >(), Direction::X))
 
template<typename Eq >
using fub::ScalarReconstructT = decltype(std::declval< const Eq & >().Reconstruct(std::declval< Complete< Eq > & >(), std::declval< const Conservative< Eq > & >()))
 
template<typename Eq , typename N = int_constant<kDefaultChunkSize>>
using fub::VectorizedReconstructT = decltype(std::declval< const Eq & >().Reconstruct(std::declval< CompleteArray< Eq, N::value > & >(), std::declval< const ConservativeArray< Eq, N::value > & >()))
 

Functions

template<typename Extent >
auto fub::Shrink (const layout_left::mapping< Extent > &layout, Direction dir, std::ptrdiff_t n=1)
 
template<typename State , typename Layout , int Rank>
View< State > fub::Subview (const BasicView< State, Layout, Rank > &state, const IndexBox< Rank > &box)
 
template<typename Eq , typename Equation = std::decay_t<Eq>>
void fub::Flux (Eq &&equation, Conservative< Equation > &flux, const Complete< Equation > &state, Direction dir, [[maybe_unused]] double x=0.0)
 
template<typename Eq , typename Equation = std::decay_t<Eq>>
void fub::Flux (Eq &&equation, ConservativeArray< Equation > &flux, const CompleteArray< Equation > &state, Direction dir, [[maybe_unused]] double x=0.0)
 
template<typename Eq , typename Equation = std::decay_t<Eq>>
void fub::Flux (Eq &&equation, ConservativeArray< Equation > &flux, const CompleteArray< Equation > &state, MaskArray mask, Direction dir, [[maybe_unused]] double x=0.0)
 
template<typename State , typename ReturnType , typename Equation >
ReturnType fub::VarNames (const Equation &equation)