Loading [MathJax]/extensions/tex2jax.js
Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked > Class Template Reference

#include <GenericPressureValveBoundary.hpp>

Public Member Functions

 GenericPressureValveBoundary (const EulerEquation &equation, KineticState< EulerEquation > initial_compressor_state, InflowFunction fn, const GenericPressureValveBoundaryOptions &options={})
 
void FillBoundary (::amrex::MultiFab &mf, const GriddingAlgorithm &gridding, int level)
 
void FillBoundary (::amrex::MultiFab &mf, const GriddingAlgorithm &gridding, int level, Direction dir)
 
std::optional< DurationGetTimePointWhenOpened () const noexcept
 
const std::shared_ptr< KineticState< EulerEquation > > & GetSharedCompressorState () const noexcept
 

Private Member Functions

void ChangeTOpened (double inner_pressure, const GriddingAlgorithm &gridding, int level)
 

Private Attributes

EulerEquation equation_
 
GenericPressureValveBoundaryOptions options_
 
ConstantBoundary< EulerEquation > constant_boundary_
 
ReflectiveBoundary< execution::SequentialTag, EulerEquation > reflective_boundary_
 
std::shared_ptr< KineticState< EulerEquation > > compressor_state_
 
IndexMapping< EulerEquation > comps_
 
std::optional< Durationt_opened_
 
InflowFunction inflow_function_
 
ChangeTOpenedT change_t_opened_
 
IsBlocked is_blocked_
 

Constructor & Destructor Documentation

◆ GenericPressureValveBoundary()

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpened , typename IsBlocked >
fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpened, IsBlocked >::GenericPressureValveBoundary ( const EulerEquation &  equation,
KineticState< EulerEquation >  initial_compressor_state,
InflowFunction  fn,
const GenericPressureValveBoundaryOptions options = {} 
)

Member Function Documentation

◆ ChangeTOpened()

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked >
void fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::ChangeTOpened ( double  inner_pressure,
const GriddingAlgorithm gridding,
int  level 
)
private

◆ FillBoundary() [1/2]

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked >
void fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::FillBoundary ( ::amrex::MultiFab &  mf,
const GriddingAlgorithm gridding,
int  level 
)

◆ FillBoundary() [2/2]

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpened , typename IsBlocked >
void fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpened, IsBlocked >::FillBoundary ( ::amrex::MultiFab &  mf,
const GriddingAlgorithm gridding,
int  level,
Direction  dir 
)

◆ GetSharedCompressorState()

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
const std::shared_ptr<KineticState<EulerEquation> >& fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::GetSharedCompressorState ( ) const
inlinenoexcept

◆ GetTimePointWhenOpened()

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
std::optional<Duration> fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::GetTimePointWhenOpened ( ) const
inlinenoexcept

Member Data Documentation

◆ change_t_opened_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
ChangeTOpenedT fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::change_t_opened_
private

◆ compressor_state_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
std::shared_ptr<KineticState<EulerEquation> > fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::compressor_state_
private

◆ comps_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
IndexMapping<EulerEquation> fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::comps_
private

◆ constant_boundary_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
ConstantBoundary<EulerEquation> fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::constant_boundary_
private

◆ equation_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
EulerEquation fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::equation_
private

◆ inflow_function_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
InflowFunction fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::inflow_function_
private

◆ is_blocked_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
IsBlocked fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::is_blocked_
private

◆ options_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
GenericPressureValveBoundaryOptions fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::options_
private

◆ reflective_boundary_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
ReflectiveBoundary<execution::SequentialTag, EulerEquation> fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::reflective_boundary_
private

◆ t_opened_

template<typename EulerEquation , typename InflowFunction , typename ChangeTOpenedT , typename IsBlocked = IsBlockedIfLargePressure>
std::optional<Duration> fub::amrex::GenericPressureValveBoundary< EulerEquation, InflowFunction, ChangeTOpenedT, IsBlocked >::t_opened_
private

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