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

This boundary condition provides wall boundary which acts only on a specified subset of ghost cells. More...

#include <ReflectiveBoundary2.hpp>

Public Member Functions

 ReflectiveBoundary2 (Tag, const Equation &equation, Direction dir, int side, const ::amrex::Box &boundary_section)
 Constructs the boundary condition with respective execution tag. More...
 
 ReflectiveBoundary2 (const Equation &equation, Direction dir, int side, const ::amrex::Box &boundary_section)
 Delegates the construction to the tag constructor. More...
 
void FillBoundary (::amrex::MultiFab &mf, const GriddingAlgorithm &gridding, int level)
 Fill the boundary section with reflected states. More...
 
void FillBoundary (::amrex::MultiFab &mf, const GriddingAlgorithm &gridding, int level, Direction dir)
 Conditionally fill the boundary section with reflected states, if dir == dir_. More...
 

Private Attributes

Local< Tag, Equation > equation_
 The equation defines how to reflect states. More...
 
Direction dir_
 
int side_
 
::amrex::Box boundary_section_
 

Detailed Description

template<typename Tag, typename Equation>
class fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >

This boundary condition provides wall boundary which acts only on a specified subset of ghost cells.

Constructor & Destructor Documentation

◆ ReflectiveBoundary2() [1/2]

template<typename Tag , typename Equation >
fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::ReflectiveBoundary2 ( Tag  ,
const Equation &  equation,
Direction  dir,
int  side,
const ::amrex::Box &  boundary_section 
)

Constructs the boundary condition with respective execution tag.

◆ ReflectiveBoundary2() [2/2]

template<typename Tag , typename Equation >
fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::ReflectiveBoundary2 ( const Equation &  equation,
Direction  dir,
int  side,
const ::amrex::Box &  boundary_section 
)
inline

Delegates the construction to the tag constructor.

Member Function Documentation

◆ FillBoundary() [1/2]

template<typename Tag , typename Equation >
void fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::FillBoundary ( ::amrex::MultiFab &  mf,
const GriddingAlgorithm gridding,
int  level 
)

Fill the boundary section with reflected states.

The reflected state is taken from a mirrored index by given direction and side.

◆ FillBoundary() [2/2]

template<typename Tag , typename Equation >
void fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::FillBoundary ( ::amrex::MultiFab &  mf,
const GriddingAlgorithm gridding,
int  level,
Direction  dir 
)

Conditionally fill the boundary section with reflected states, if dir == dir_.

The reflected state is taken from a mirrored index by given direction and side.

Member Data Documentation

◆ boundary_section_

template<typename Tag , typename Equation >
::amrex::Box fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::boundary_section_
private

◆ dir_

template<typename Tag , typename Equation >
Direction fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::dir_
private

◆ equation_

template<typename Tag , typename Equation >
Local<Tag, Equation> fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::equation_
private

The equation defines how to reflect states.

This needs to be Local'ized because the implementation might use OpenMP.

◆ side_

template<typename Tag , typename Equation >
int fub::amrex::cutcell::ReflectiveBoundary2< Tag, Equation >::side_
private

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