Alamo
Public Member Functions | Static Public Member Functions | Private Attributes
BC::Expression Class Reference
Inheritance diagram for BC::Expression:
[legend]
Collaboration diagram for BC::Expression:
[legend]

Public Member Functions

 Expression (int a_ncomp)
 
 Expression (int a_ncomp, IO::ParmParse &pp, std::string name)
 
virtual ~Expression ()
 
virtual void FillBoundary (amrex::BaseFab< Set::Scalar > &in, const amrex::Box &box, int ngrow, int dcomp, int ncomp, amrex::Real time, Orientation face=Orientation::All, const amrex::Mask *mask=nullptr) override
 
amrex::BCRec GetBCRec () override
 
virtual amrex::Array< int, AMREX_SPACEDIM > IsPeriodic () override
 
virtual amrex::Periodicity Periodicity () const override
 
virtual amrex::Periodicity Periodicity (const amrex::Box &b) override
 
template<class T >
const amrex::Array< amrex::Array< T, AMREX_SPACEDIM >, 2 > GetBCTypes ()
 
virtual void FillBoundary (amrex::BaseFab< T > &in, const amrex::Box &box, int ngrow, int dcomp, int ncomp, amrex::Real time, Orientation face=Orientation::All, const amrex::Mask *mask=nullptr)=0
 
virtual void FillBoundary (amrex::FabArray< amrex::BaseFab< T >> &mf, int dcomp, int ncomp, amrex::Real time, int)
 
virtual void FillBoundary (amrex::FabArray< amrex::BaseFab< T >> &mf, int dcomp, int ncomp, amrex::IntVect const &, amrex::Real time, int bccomp)
 
template<class Q = T>
std::enable_if< std::is_same< Q, amrex::Real >::value >::type FillBoundary (amrex::MultiFab &mf, int dcomp, int ncomp, amrex::Real time, int)
 
- Public Member Functions inherited from BC::BC< Set::Scalar >
virtual ~BC ()
 
void define (const amrex::Geometry &a_geom)
 
virtual void FillBoundary (amrex::FabArray< amrex::BaseFab< Set::Scalar >> &mf, int dcomp, int ncomp, amrex::Real time, int)
 
virtual void FillBoundary (amrex::FabArray< amrex::BaseFab< Set::Scalar >> &mf, int dcomp, int ncomp, amrex::IntVect const &, amrex::Real time, int bccomp)
 
std::enable_if< std::is_same< Q, amrex::Real >::value >::type FillBoundary (amrex::MultiFab &mf, int dcomp, int ncomp, amrex::Real time, int)
 
void operator() (amrex::FabArray< amrex::BaseFab< Set::Scalar >> &mf, int dcomp, int ncomp, amrex::IntVect const &, amrex::Real time, int bccomp)
 
std::enable_if< std::is_same< Q, amrex::Real >::value >::type operator() (amrex::MultiFab &mf, int dcomp, int ncomp, amrex::IntVect const &, amrex::Real time, int bccomp)
 
virtual amrex::Periodicity Periodicity () const
 

Static Public Member Functions

static void Parse (Expression &value, IO::ParmParse &pp)
 

Private Attributes

unsigned int m_ncomp = 0
 
std::array< std::vector< int >, m_nfaces > m_bc_type
 
std::array< std::vector< amrex::Parser >, m_nfaces > m_bc_func_parser
 
std::array< std::vector< amrex::ParserExecutor< 4 > >, m_nfaces > m_bc_func
 

Additional Inherited Members

- Protected Attributes inherited from BC::BC< Set::Scalar >
amrex::Geometry m_geom
 

Detailed Description

Definition at line 20 of file Expression.H.

Constructor & Destructor Documentation

◆ Expression() [1/2]

BC::Expression::Expression ( int  a_ncomp)
inline

Definition at line 49 of file Expression.H.

◆ Expression() [2/2]

BC::Expression::Expression ( int  a_ncomp,
IO::ParmParse pp,
std::string  name 
)
inline

Definition at line 50 of file Expression.H.

◆ ~Expression()

virtual BC::Expression::~Expression ( )
inlinevirtual

Definition at line 55 of file Expression.H.

Member Function Documentation

◆ FillBoundary() [1/5]

void BC::Expression::FillBoundary ( amrex::BaseFab< Set::Scalar > &  in,
const amrex::Box &  box,
int  ngrow,
int  dcomp,
int  ncomp,
amrex::Real  time,
Orientation  face = Orientation::All,
const amrex::Mask *  mask = nullptr 
)
overridevirtual

Implements BC::BC< Set::Scalar >.

Definition at line 7 of file Expression.cpp.

Here is the call graph for this function:

◆ FillBoundary() [2/5]

virtual void BC::BC< T >::FillBoundary

◆ FillBoundary() [3/5]

virtual void BC::BC< T >::FillBoundary
inline

Definition at line 71 of file BC.H.

◆ FillBoundary() [4/5]

virtual void BC::BC< T >::FillBoundary
inline

Definition at line 58 of file BC.H.

◆ FillBoundary() [5/5]

template<class Q = T>
std::enable_if<std::is_same<Q, amrex::Real>::value>::type BC::BC< T >::FillBoundary ( class Q  = T)
inline

Definition at line 89 of file BC.H.

◆ GetBCRec()

amrex::BCRec BC::Expression::GetBCRec ( )
overridevirtual

Implements BC::BC< Set::Scalar >.

Definition at line 135 of file Expression.cpp.

◆ GetBCTypes()

template<class T >
const amrex::Array<amrex::Array<T, AMREX_SPACEDIM>, 2> BC::Expression::GetBCTypes ( )
inline

Definition at line 72 of file Expression.H.

◆ IsPeriodic()

amrex::Array< int, AMREX_SPACEDIM > BC::Expression::IsPeriodic ( )
overridevirtual

Reimplemented from BC::BC< Set::Scalar >.

Definition at line 144 of file Expression.cpp.

Here is the call graph for this function:

◆ Parse()

static void BC::Expression::Parse ( Expression value,
IO::ParmParse pp 
)
inlinestatic

Definition at line 95 of file Expression.H.

Here is the call graph for this function:

◆ Periodicity() [1/2]

amrex::Periodicity BC::Expression::Periodicity ( ) const
overridevirtual

Definition at line 150 of file Expression.cpp.

Here is the call graph for this function:

◆ Periodicity() [2/2]

amrex::Periodicity BC::Expression::Periodicity ( const amrex::Box &  b)
overridevirtual

Reimplemented from BC::BC< Set::Scalar >.

Definition at line 156 of file Expression.cpp.

Here is the call graph for this function:

Field Documentation

◆ m_bc_func

std::array<std::vector<amrex::ParserExecutor<4> >, m_nfaces> BC::Expression::m_bc_func
private

Definition at line 90 of file Expression.H.

◆ m_bc_func_parser

std::array<std::vector<amrex::Parser>, m_nfaces> BC::Expression::m_bc_func_parser
private

Definition at line 89 of file Expression.H.

◆ m_bc_type

std::array<std::vector<int>, m_nfaces> BC::Expression::m_bc_type
private

Definition at line 88 of file Expression.H.

◆ m_ncomp

unsigned int BC::Expression::m_ncomp = 0
private

Definition at line 86 of file Expression.H.


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