Chombo + EB + MF  3.2
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
EdgeDataBox Class Reference

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

#include <EdgeDataBox.H>

Public Member Functions

 EdgeDataBox ()
 default constructor More...
 
 EdgeDataBox (const Box &bx, int n=1)
 constructs EdgeDataBox on cell-centered box with n components More...
 
 ~EdgeDataBox ()
 destructor More...
 
void define (const Box &bx, int n=1)
 resize EdgeDataBox similar to BaseFab::resize() More...
 
void clear ()
 this function returns the EdgeDataBox to the undefined state More...
 
int nComp () const
 { access functions} More...
 
const Boxbox () const
 returns cell-centered box which defines EdgeDataBox More...
 
FArrayBoxgetData (const int dir)
 returns edge-centered data in direction dir More...
 
const FArrayBoxgetData (const int dir) const
 
FArrayBoxoperator[] (const int dir)
 returns FArrayBox in direction dir More...
 
const FArrayBoxoperator[] (const int dir) const
 constant version More...
 
void setVal (const Real val)
 
void setVal (const Real val, const int dir)
 set fluxes in direction dir to val More...
 
void setVal (const Real val, const int dir, const int startComp, const int nComp)
 more specific setVal More...
 
void setVal (const Real val, const Box &bx)
 sets fluxes on edges surrounding cell-centered box bx More...
 
void setVal (const Real val, const Box &bx, const int dir, const int startComp, const int nComp)
 
void copy (const EdgeDataBox &src)
 copy from src to this EdgeDataBox – sizes must be identical More...
 
void copy (const EdgeDataBox &src, const int srcComp, const int destComp, const int numComp)
 copy on overlap, for all directions More...
 
void copy (const EdgeDataBox &src, const int dir, const int srcComp, const int destComp, const int numComp)
 copy on overlap of EdgeDataBoxes, in direction dir More...
 
void copy (const Box &RegionFrom, const Interval &Cdest, const Box &RegionTo, const EdgeDataBox &src, const Interval &Csrc)
 
EdgeDataBoxplus (const EdgeDataBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
 Modifes this EdgeDataBox by adding src in the CELL-CENTERED sub-box. More...
 
void plus (const Box &srcbox, const Interval &destcomps, const Box &destbox, const EdgeDataBox &src, const Interval &srccomps)
 
size_t size (const Box &bx, const Interval &comps) const
 { Linearization Functions} More...
 
void linearOut (void *buf, const Box &R, const Interval &comps) const
 
void * linearOut2 (void *buf, const Box &R, const Interval &comps) const
 like linearOut, but returns current position in the buffer More...
 
void linearIn (void *buf)
 
void linearIn (void *buf, const Box &R, const Interval &comps)
 read a linear representation of the data over the box R More...
 
void * linearIn2 (void *buf, const Box &R, const Interval &comps)
 like linearIn, but returns current position in the buffer More...
 

Static Public Member Functions

static int preAllocatable ()
 

Protected Attributes

Box m_bx
 
int m_nvar
 
Vector< FArrayBox * > m_data
 BL_SPACEDIM FArrayBoxes which hold fluxes. More...
 

Private Member Functions

 EdgeDataBox (const EdgeDataBox &)
 these are disallowed More...
 
EdgeDataBoxoperator= (const EdgeDataBox &)
 

Detailed Description

A FArrayBox-like container for edge-centered fluxes.

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

Constructor & Destructor Documentation

◆ EdgeDataBox() [1/3]

EdgeDataBox::EdgeDataBox ( )

default constructor

◆ EdgeDataBox() [2/3]

EdgeDataBox::EdgeDataBox ( const Box bx,
int  n = 1 
)

constructs EdgeDataBox on cell-centered box with n components

◆ ~EdgeDataBox()

EdgeDataBox::~EdgeDataBox ( )

destructor

◆ EdgeDataBox() [3/3]

EdgeDataBox::EdgeDataBox ( const EdgeDataBox )
private

these are disallowed

Member Function Documentation

◆ define()

void EdgeDataBox::define ( const Box bx,
int  n = 1 
)

resize EdgeDataBox similar to BaseFab::resize()

◆ clear()

void EdgeDataBox::clear ( )

this function returns the EdgeDataBox to the undefined state

◆ nComp()

int EdgeDataBox::nComp ( ) const

{ access functions}

number of components

◆ box()

const Box& EdgeDataBox::box ( ) const

returns cell-centered box which defines EdgeDataBox

◆ getData() [1/2]

FArrayBox& EdgeDataBox::getData ( const int  dir)

returns edge-centered data in direction dir

◆ getData() [2/2]

const FArrayBox& EdgeDataBox::getData ( const int  dir) const

◆ operator[]() [1/2]

FArrayBox& EdgeDataBox::operator[] ( const int  dir)

returns FArrayBox in direction dir

◆ operator[]() [2/2]

const FArrayBox& EdgeDataBox::operator[] ( const int  dir) const

constant version

◆ setVal() [1/5]

void EdgeDataBox::setVal ( const Real  val)

{ data modification functions} set all fluxes to val

◆ setVal() [2/5]

void EdgeDataBox::setVal ( const Real  val,
const int  dir 
)

set fluxes in direction dir to val

◆ setVal() [3/5]

void EdgeDataBox::setVal ( const Real  val,
const int  dir,
const int  startComp,
const int  nComp 
)

more specific setVal

◆ setVal() [4/5]

void EdgeDataBox::setVal ( const Real  val,
const Box bx 
)

sets fluxes on edges surrounding cell-centered box bx

◆ setVal() [5/5]

void EdgeDataBox::setVal ( const Real  val,
const Box bx,
const int  dir,
const int  startComp,
const int  nComp 
)

◆ copy() [1/4]

void EdgeDataBox::copy ( const EdgeDataBox src)

copy from src to this EdgeDataBox – sizes must be identical

◆ copy() [2/4]

void EdgeDataBox::copy ( const EdgeDataBox src,
const int  srcComp,
const int  destComp,
const int  numComp 
)

copy on overlap, for all directions

◆ copy() [3/4]

void EdgeDataBox::copy ( const EdgeDataBox src,
const int  dir,
const int  srcComp,
const int  destComp,
const int  numComp 
)

copy on overlap of EdgeDataBoxes, in direction dir

◆ copy() [4/4]

void EdgeDataBox::copy ( const Box RegionFrom,
const Interval Cdest,
const Box RegionTo,
const EdgeDataBox src,
const Interval Csrc 
)

◆ plus() [1/2]

EdgeDataBox& EdgeDataBox::plus ( const EdgeDataBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifes this EdgeDataBox by adding src in the CELL-CENTERED sub-box.

Modifies this EdgeDataBox by pointwise addition of values in the argument EdgeDataBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) to this EdgeDataBox's components (a_destcomp : a_destcomp+numcomp-1) where the domain of this EdgeDataBox intersects the a_subbox. The actual directionally-dependent subbox is given by a_subbox.surroundingNodes(); a_subbox.enclosedCells(dir); NOTE: a_subbox must be contained in the cell-centered Box of this EdgeDataBox. Returns *this

◆ plus() [2/2]

void EdgeDataBox::plus ( const Box srcbox,
const Interval destcomps,
const Box destbox,
const EdgeDataBox src,
const Interval srccomps 
)

◆ size()

size_t EdgeDataBox::size ( const Box bx,
const Interval comps 
) const

{ Linearization Functions}

◆ linearOut()

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

◆ linearOut2()

void* EdgeDataBox::linearOut2 ( void *  buf,
const Box R,
const Interval comps 
) const

like linearOut, but returns current position in the buffer

◆ linearIn() [1/2]

void EdgeDataBox::linearIn ( void *  buf)

◆ linearIn() [2/2]

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

read a linear representation of the data over the box R

Reads in the output of LinearOut

◆ linearIn2()

void* EdgeDataBox::linearIn2 ( void *  buf,
const Box R,
const Interval comps 
)

like linearIn, but returns current position in the buffer

◆ preAllocatable()

static int EdgeDataBox::preAllocatable ( )
inlinestatic

◆ operator=()

EdgeDataBox& EdgeDataBox::operator= ( const EdgeDataBox )
private

Member Data Documentation

◆ m_bx

Box EdgeDataBox::m_bx
protected

◆ m_nvar

int EdgeDataBox::m_nvar
protected

◆ m_data

Vector<FArrayBox*> EdgeDataBox::m_data
protected

BL_SPACEDIM FArrayBoxes which hold fluxes.


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