Chombo + EB  3.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
EBFluxFAB Class Reference

A EBFaceFAB-like container for edge-centered fluxes. More...

#include <EBFluxFAB.H>

Public Member Functions

 EBFluxFAB ()
 default constructor More...
 
 ~EBFluxFAB ()
 destructor More...
 
void clear ()
 this function returns the EBFluxFAB to the undefined state More...
 
EBFluxFABoperator+= (const EBFluxFAB &a_ebfab)
 
EBFluxFABoperator-= (const EBFluxFAB &a_ebfab)
 
EBFluxFABoperator*= (const EBFluxFAB &a_ebfab)
 
EBFluxFABoperator/= (const EBFluxFAB &a_ebfab)
 
const Boxbox () const
 
void define (const EBFluxFAB &a_fb)
 
Real max (int a_dir, int a_comp=0) const
 
Real min (int a_dir, int a_comp=0) const
 
int nComp () const
 { access functions} More...
 
const BoxgetRegion () const
 returns cell-centered box which defines fluxBox More...
 
EBFaceFABoperator[] (const int dir)
 returns EBFaceFAB in direction dir More...
 
const EBFaceFABoperator[] (const int dir) const
 constant version More...
 
void setVal (const Real &val)
 
void clone (const EBFluxFAB &a_input)
 defines this from input and copies the values More...
 
void copy (const Box &Rfrom, const Interval &Cdest, const Box &Rto, const EBFluxFAB &src, const Interval &Csrc)
 
bool isDefined () const
 
 EBFluxFAB (const EBISBox &a_ebisBox, const Box &bx, int n)
 
void define (const EBISBox &a_ebisBox, const Box &bx, int n)
 
int size (const Box &R, const Interval &comps) const
 
void linearOut (void *buf, const Box &R, const Interval &comps) const
 
void linearIn (void *buf, const Box &R, const Interval &comps)
 
void alias (Vector< EBFaceFAB *> a_inputFAB)
 
 EBFluxFAB (const Box &bx, int n)
 Invalid but necessary for LevelData<EBFluxFAB> to compile. More...
 
EBISBox getEBISBox () const
 

Static Public Member Functions

static int preAllocatable ()
 

Protected Member Functions

void setDefaultValues ()
 

Protected Attributes

bool m_aliased
 true if facefabs set by hand, false otherwise More...
 
Box m_region
 
EBISBox m_ebisBox
 
int m_nComp
 
bool m_isDefined
 
Tuple< EBFaceFAB *, CH_SPACEDIMm_fluxes
 CH_SPACEDIM EBFaceFABes which hold fluxes. More...
 

Private Member Functions

 EBFluxFAB (const EBFluxFAB &)
 these are disallowed More...
 
void operator= (const EBFluxFAB &)
 

Detailed Description

A EBFaceFAB-like container for edge-centered fluxes.

This is a class to contain face-centered fluxes on a box.

Constructor & Destructor Documentation

◆ EBFluxFAB() [1/4]

EBFluxFAB::EBFluxFAB ( )

default constructor

Referenced by min(), and preAllocatable().

◆ ~EBFluxFAB()

EBFluxFAB::~EBFluxFAB ( )

destructor

Referenced by preAllocatable().

◆ EBFluxFAB() [2/4]

EBFluxFAB::EBFluxFAB ( const EBISBox a_ebisBox,
const Box bx,
int  n 
)

◆ EBFluxFAB() [3/4]

EBFluxFAB::EBFluxFAB ( const Box bx,
int  n 
)
inline

Invalid but necessary for LevelData<EBFluxFAB> to compile.

References MayDay::Error().

◆ EBFluxFAB() [4/4]

EBFluxFAB::EBFluxFAB ( const EBFluxFAB )
inlineprivate

these are disallowed

References MayDay::Error().

Member Function Documentation

◆ preAllocatable()

static int EBFluxFAB::preAllocatable ( )
inlinestatic

This stuff required by LevelData in parallel:

References clear(), EBFluxFAB(), and ~EBFluxFAB().

◆ clear()

void EBFluxFAB::clear ( )

this function returns the EBFluxFAB to the undefined state

Referenced by preAllocatable().

◆ operator+=()

EBFluxFAB& EBFluxFAB::operator+= ( const EBFluxFAB a_ebfab)
inline

References m_fluxes, and SpaceDim.

◆ operator-=()

EBFluxFAB& EBFluxFAB::operator-= ( const EBFluxFAB a_ebfab)
inline

References m_fluxes, and SpaceDim.

◆ operator*=()

EBFluxFAB& EBFluxFAB::operator*= ( const EBFluxFAB a_ebfab)
inline

References m_fluxes, and SpaceDim.

◆ operator/=()

EBFluxFAB& EBFluxFAB::operator/= ( const EBFluxFAB a_ebfab)
inline

References m_fluxes, and SpaceDim.

◆ box()

const Box& EBFluxFAB::box ( ) const
inline

References getRegion().

Referenced by define().

◆ define() [1/2]

void EBFluxFAB::define ( const EBFluxFAB a_fb)
inline

References box(), getEBISBox(), and nComp().

Referenced by min().

◆ max()

Real EBFluxFAB::max ( int  a_dir,
int  a_comp = 0 
) const
inline

Returns the maximum value for the given component in the FAB for the given direction.

Parameters
a_dirThe direction in which the maximum value will be returned.
a_compThe component whose maximum value will be returned.

References m_fluxes.

◆ min()

Real EBFluxFAB::min ( int  a_dir,
int  a_comp = 0 
) const
inline

Returns the minimum value for the given component in the FAB for the given direction.

Parameters
a_dirThe direction in which the minimum value will be returned.
a_compThe component whose minimum value will be returned.

References alias(), clone(), copy(), define(), EBFluxFAB(), getRegion(), isDefined(), linearIn(), linearOut(), m_fluxes, nComp(), operator[](), setVal(), and size().

◆ nComp()

int EBFluxFAB::nComp ( ) const

{ access functions}

number of components

Referenced by define(), and min().

◆ getRegion()

const Box& EBFluxFAB::getRegion ( ) const

returns cell-centered box which defines fluxBox

Referenced by box(), and min().

◆ operator[]() [1/2]

EBFaceFAB& EBFluxFAB::operator[] ( const int  dir)

returns EBFaceFAB in direction dir

Referenced by min().

◆ operator[]() [2/2]

const EBFaceFAB& EBFluxFAB::operator[] ( const int  dir) const

constant version

◆ setVal()

void EBFluxFAB::setVal ( const Real val)

Referenced by min().

◆ clone()

void EBFluxFAB::clone ( const EBFluxFAB a_input)

defines this from input and copies the values

Referenced by min().

◆ copy()

void EBFluxFAB::copy ( const Box Rfrom,
const Interval Cdest,
const Box Rto,
const EBFluxFAB src,
const Interval Csrc 
)

Copies from a subsection of one box into another. Assumes the boxes are both in the same index space, and that box R is completely contained in both the src and destination boxes. This function equired by BoxLayoutData

Referenced by min().

◆ isDefined()

bool EBFluxFAB::isDefined ( ) const

Referenced by min().

◆ define() [2/2]

void EBFluxFAB::define ( const EBISBox a_ebisBox,
const Box bx,
int  n 
)

◆ size()

int EBFluxFAB::size ( const Box R,
const Interval comps 
) const

Referenced by min().

◆ linearOut()

void EBFluxFAB::linearOut ( void *  buf,
const Box R,
const Interval comps 
) const

Referenced by min().

◆ linearIn()

void EBFluxFAB::linearIn ( void *  buf,
const Box R,
const Interval comps 
)

Referenced by min().

◆ alias()

void EBFluxFAB::alias ( Vector< EBFaceFAB *>  a_inputFAB)

Can only be used for an undefined ebfluxfab. Turns off deletion of pointers.

Referenced by min().

◆ getEBISBox()

EBISBox EBFluxFAB::getEBISBox ( ) const
inline

References m_ebisBox, and setDefaultValues().

Referenced by define().

◆ setDefaultValues()

void EBFluxFAB::setDefaultValues ( )
protected

Referenced by getEBISBox().

◆ operator=()

void EBFluxFAB::operator= ( const EBFluxFAB )
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_aliased

bool EBFluxFAB::m_aliased
protected

true if facefabs set by hand, false otherwise

◆ m_region

Box EBFluxFAB::m_region
protected

◆ m_ebisBox

EBISBox EBFluxFAB::m_ebisBox
protected

Referenced by getEBISBox().

◆ m_nComp

int EBFluxFAB::m_nComp
protected

◆ m_isDefined

bool EBFluxFAB::m_isDefined
protected

◆ m_fluxes

Tuple<EBFaceFAB*, CH_SPACEDIM> EBFluxFAB::m_fluxes
protected

CH_SPACEDIM EBFaceFABes which hold fluxes.

Referenced by max(), min(), operator*=(), operator+=(), operator-=(), and operator/=().


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