21 #ifndef FUB_BOUNDARY_CONDITION_REFLECTIVE_BOUNDARY_HPP 
   22 #define FUB_BOUNDARY_CONDITION_REFLECTIVE_BOUNDARY_HPP 
   38   static constexpr 
int Rank = Equation::Rank();
 
   53 template <
typename Equation>
 
   55     : equation_{equation} {}
 
   57 template <
typename Equation>
 
   61   const Eigen::Matrix<double, Rank, 1> unit = UnitVector<Rank>(dir);
 
   65     Load(state_, states, src);
 
   66     Reflect(reflected_, state_, unit, equation_);
 
   67     Store(states, reflected_, dest);
 
Definition: boundary_condition/ReflectiveBoundary.hpp:35
 
Complete reflected_
Definition: boundary_condition/ReflectiveBoundary.hpp:50
 
void FillBoundary(const View< Complete > &states, const IndexBox< Rank > &box_to_fill, Direction dir, int side)
Definition: boundary_condition/ReflectiveBoundary.hpp:58
 
static constexpr int Rank
Definition: boundary_condition/ReflectiveBoundary.hpp:38
 
const Equation & GetEquation() const noexcept
Definition: boundary_condition/ReflectiveBoundary.hpp:45
 
ReflectiveBoundary(const Equation &equation)
Definition: boundary_condition/ReflectiveBoundary.hpp:54
 
Equation equation_
Definition: boundary_condition/ReflectiveBoundary.hpp:48
 
Complete state_
Definition: boundary_condition/ReflectiveBoundary.hpp:49
 
Function ForEachIndex(const layout_left::mapping< Extents > &mapping, Function function)
Iterate through the multi-dimensional index space descibed by mapping and invoke function for each su...
Definition: ForEach.hpp:74
 
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
 
Index< 1 > ReflectIndex(Index< 1 > i, const IndexBox< 1 > &domain, Direction dir, int side)
 
void Load(State &state, const BasicView< const State, Layout, Rank > &view, const std::array< std::ptrdiff_t, State::Equation::Rank()> &index)
Definition: State.hpp:640
 
Direction
This is a type safe type to denote a dimensional split direction.
Definition: Direction.hpp:30
 
std::array< std::ptrdiff_t, static_cast< std::size_t >(Rank)> Index
Definition: PatchDataView.hpp:34
 
void Reflect(Complete< IdealGasMix< 1 >> &reflected, const Complete< IdealGasMix< 1 >> &state, const Eigen::Matrix< double, 1, 1 > &normal, const IdealGasMix< 1 > &gas)
 
void Store(const BasicView< Conservative< Eq >, Layout, Eq::Rank()> &view, const Conservative< Eq > &state, const std::array< std::ptrdiff_t, Eq::Rank()> &index)
Definition: State.hpp:663
 
Definition: State.hpp:403
 
Definition: PatchDataView.hpp:56