FArrayBox Class Reference

#include <FArrayBox.H>

Inheritance diagram for FArrayBox:

Inheritance graph
[legend]
Collaboration diagram for FArrayBox:

Collaboration graph
[legend]

List of all members.


Detailed Description

Fortran Array Boxes (generally called FABs) are objects constructed to interface with arrays in Fortran. Useful operations can be performed upon FABs in C++, and they provide a convenient interface to Fortran when it is necessary to retreat into that language for doing arithmetic operations when performance matters.

FArrayBox is derived from BaseFab<Real>. FArrayBox adds additional useful capabilities which make sense for Real types, such as I/O and L**p norms.

The C pre-processor macro `CH_SPACEDIM' must be defined to use this class. The internal precision of FArrayBox objects is set by defining either `CH_USE_FLOAT' or `CH_USE_DOUBLE'

This class does NOT provide a copy constructor or assignment operator.

Public Member Functions

 FArrayBox ()
 FArrayBox (const Box &a_box, int a_ncomp, Real *a_alias=NULL)
 FArrayBox (const Interval &a_comps, FArrayBox &a_original)
virtual void define (const Box &a_box, int a_ncomp, Real *a_alias=NULL)
virtual ~FArrayBox ()
virtual void define (const Interval &a_comps, FArrayBox &a_original)
virtual void define (const Interval &a_comps, BaseFab< Real > &a_original)
 FArrayBox (std::istream &a_is)
virtual Real norm (const Box &a_subbox, int a_p=2, int a_comp=0, int a_numcomp=1) const
virtual Real norm (int a_p=2, int a_comp=0, int a_numcomp=1) const
virtual Real sumPow (const Box &a_subbox, int a_p=2, int a_comp=0, int a_numcomp=1) const
Real dotProduct (const FArrayBox &a_fab2) const
 Return the dot product of this FArrayBox with another.
Real dotProduct (const FArrayBox &a_fab2, const Box &a_box) const
 Return the dot product of this FArrayBox with another.
Real min (int a_comp=0) const
Real min (const Box &a_subbox, int a_comp=0) const
Real max (int a_comp=0) const
Real max (const Box &a_subbox, int a_comp=0) const
IntVect minIndex (int a_comp=0) const
IntVect minIndex (const Box &a_subbox, int a_comp=0) const
IntVect maxIndex (int a_comp=0) const
IntVect maxIndex (const Box &a_subbox, int a_comp=0) const
int maskLT (BaseFab< int > &a_mask, Real a_val, int a_comp=0) const
int maskLE (BaseFab< int > &a_mask, Real a_val, int a_comp=0) const
int maskEQ (BaseFab< int > &a_mask, Real a_val, int a_comp=0) const
int maskGT (BaseFab< int > &a_mask, Real a_val, int a_comp=0) const
int maskGE (BaseFab< int > &a_mask, Real a_val, int a_comp=0) const
void abs ()
void abs (int a_comp, int a_numcomp=1)
void abs (const Box &a_subbox, int a_comp=0, int a_numcomp=1)
Real sum (int a_comp, int a_numcomp=1) const
Real sum (const Box &a_subbox, int a_comp, int a_numcomp=1) const
FArrayBoxinvert (Real a_r)
FArrayBoxinvert (Real a_r, int a_comp, int a_numcomp=1)
FArrayBoxinvert (Real a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
FArrayBoxnegate (const Box &a_subbox, int a_comp=0, int a_numcomp=1)
FArrayBoxnegate (int a_comp, int a_numcomp=1)
FArrayBoxnegate ()
FArrayBoxplus (Real a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
FArrayBoxplus (Real a_r, int a_comp, int a_numcomp=1)
FArrayBoxoperator+= (Real a_r)
FArrayBoxoperator+= (const FArrayBox &a_x)
FArrayBoxplus (Real a_r)
FArrayBoxplus_real (Real a_r)
FArrayBoxplus (const FArrayBox &a_x)
FArrayBoxplus (const FArrayBox &a_src, const Real &a_scale)
FArrayBoxplus (const FArrayBox &a_src, const Real &a_scale, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxplus (const FArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxplus (const FArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxplus (const FArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxplus (const FArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, const Real &a_scale, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxoperator-= (Real a_r)
FArrayBoxoperator-= (const FArrayBox &a_x)
FArrayBoxminus (const FArrayBox &a_x)
FArrayBoxminus (const FArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxminus (const FArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxminus (const FArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxoperator*= (Real a_r)
FArrayBoxmult (Real a_r)
FArrayBoxmult (Real a_r, int a_comp, int a_numcomp=1)
FArrayBoxmult (Real a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
FArrayBoxoperator*= (const FArrayBox &a_x)
FArrayBoxmult (const FArrayBox &a_x)
FArrayBoxmult (const FArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxmult (const FArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxmult (const FArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxoperator/= (Real a_r)
FArrayBoxdivide (Real a_r)
FArrayBoxdivide (Real a_r, int a_comp, int a_numcomp=1)
FArrayBoxdivide (Real a_r, const Box &a_subbox, int a_comp=0, int a_numcomp=1)
FArrayBoxoperator/= (const FArrayBox &a_x)
FArrayBoxdivide (const FArrayBox &a_x)
FArrayBoxdivide (const FArrayBox &a_src, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxdivide (const FArrayBox &a_src, const Box &a_subbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
FArrayBoxdivide (const FArrayBox &a_src, const Box &a_srcbox, const Box &a_destbox, int a_srccomp, int a_destcomp, int a_numcomp=1)
Real get (const IntVect &a_iv, int a_comp) const
void set (const IntVect &a_iv, int a_comp, Real a_val)

Protected Member Functions

virtual void performCopy (const BaseFab< Real > &a_src, const Box &a_srcbox, int a_srccomp, const Box &a_destbox, int a_destcomp, int a_numcomp)

Private Member Functions

 FArrayBox (const FArrayBox &)
FArrayBoxoperator= (const FArrayBox &)


Constructor & Destructor Documentation

FArrayBox::FArrayBox (  ) 

Constructs an invalid FArrayBox with no memory.

FArrayBox::FArrayBox ( const Box a_box,
int  a_ncomp,
Real a_alias = NULL 
)

Constructs an initial FArrayBox with the data space allocated but not inititialized. a_ncomp is the number of components (variables) at each data point in the Box.

FArrayBox::FArrayBox ( const Interval a_comps,
FArrayBox a_original 
) [inline]

Construct an aliaed FArrayBox. See BaseFab class for details.

virtual FArrayBox::~FArrayBox (  )  [virtual]

The (virtual) destructor.

FArrayBox::FArrayBox ( std::istream &  a_is  )  [explicit]

Constructs FArrayBox by reading it from istream.

FArrayBox::FArrayBox ( const FArrayBox  )  [private]


Member Function Documentation

virtual void FArrayBox::define ( const Box a_box,
int  a_ncomp,
Real a_alias = NULL 
) [inline, virtual]

Defines FArrayBox with the data space allocated but not inititialized. a_ncomp is the number of components (variables) at each data point in the Box.

References BaseFab< T >::resize().

virtual void FArrayBox::define ( const Interval a_comps,
FArrayBox a_original 
) [inline, virtual]

Constructs an 'aliased' BaseFab of the requested interval of the argument BaseFab. This BaseFab does not allocate any memory, but sets its data pointer into the memory pointed to by the argument BaseFab. It is the users responsiblity to ensure this aliased BaseFab is not used after the original BaseFab has deleted its data ptr (resize, define(..) called, or destruction, etc.).

This aliased BaseFab will also generate side effects (modifying the values of data in one will modify the other's data).

This aliased BaseFab will have a_comps.size() components, starting at zero.

References BaseFab< T >::define().

virtual void FArrayBox::define ( const Interval a_comps,
BaseFab< Real > &  a_original 
) [inline, virtual]

This is here only to make the Intel compiler stop warning about partial override.

References BaseFab< T >::define().

virtual Real FArrayBox::norm ( const Box a_subbox,
int  a_p = 2,
int  a_comp = 0,
int  a_numcomp = 1 
) const [virtual]

Returns the Lp-norm of this FAB using components (a_comp : a_comp+a_numcomp-1) and within the a_subbox. a_p < 0 -> ERROR a_p = 0 -> infinity norm (max norm) a_p = 1 -> sum of ABS(FAB) a_p > 1 -> Lp-norm

Referenced by NodeFArrayBox::norm().

virtual Real FArrayBox::norm ( int  a_p = 2,
int  a_comp = 0,
int  a_numcomp = 1 
) const [virtual]

Returns the Lp-norm of this FAB using components (a_comp : a_comp+a_numcomp-1). a_p < 0 -> ERROR a_p = 0 -> infinity norm (max norm) a_p = 1 -> sum of ABS(FAB) a_p > 1 -> Lp-norm

virtual Real FArrayBox::sumPow ( const Box a_subbox,
int  a_p = 2,
int  a_comp = 0,
int  a_numcomp = 1 
) const [virtual]

Returns sum of pow(fab[i,c],p): i in a_subbox, a_comp <= c < a_comp+a_numcomp, a_p >= 2 only

Referenced by NodeFArrayBox::sumPow().

Real FArrayBox::dotProduct ( const FArrayBox a_fab2  )  const

Return the dot product of this FArrayBox with another.

Return the dot product of this FArrayBox and "a_fab2" over their common box and all components.

Referenced by NodeFArrayBox::dotProduct().

Real FArrayBox::dotProduct ( const FArrayBox a_fab2,
const Box a_box 
) const

Return the dot product of this FArrayBox with another.

Return the dot product of this FArrayBox and "a_fab2" over the a_box box and all components.

Real FArrayBox::min ( int  a_comp = 0  )  const

Returns the minimum value of given component of this FArrayBox.

Referenced by NodeFArrayBox::min().

Real FArrayBox::min ( const Box a_subbox,
int  a_comp = 0 
) const

Returns the minimum value of given component of this FArrayBox in given a_subbox.

Real FArrayBox::max ( int  a_comp = 0  )  const

Returns the maximum value of given component of this FArrayBox.

Referenced by NodeFArrayBox::max().

Real FArrayBox::max ( const Box a_subbox,
int  a_comp = 0 
) const

Returns the maximum value of given component of this FArrayBox in given a_subbox.

IntVect FArrayBox::minIndex ( int  a_comp = 0  )  const

Finds location of minimum value in given component of this FArrayBox.

Referenced by NodeFArrayBox::minIndex().

IntVect FArrayBox::minIndex ( const Box a_subbox,
int  a_comp = 0 
) const

Returns location of minimum value in given component of this FArrayBox in given a_subbox.

IntVect FArrayBox::maxIndex ( int  a_comp = 0  )  const

Returns location of maximum value in given component of this FArrayBox.

Referenced by NodeFArrayBox::maxIndex().

IntVect FArrayBox::maxIndex ( const Box a_subbox,
int  a_comp = 0 
) const

Returns location of maximum value in given component of this FArrayBox in given a_subbox.

int FArrayBox::maskLT ( BaseFab< int > &  a_mask,
Real  a_val,
int  a_comp = 0 
) const

Computes a_mask array with value of 1 in cells where this FArrayBox has value less than a_val, 0 otherwise. a_mask is resized by this function. The number of cells marked with 1 returned.

Referenced by NodeFArrayBox::maskLT().

int FArrayBox::maskLE ( BaseFab< int > &  a_mask,
Real  a_val,
int  a_comp = 0 
) const

Computes a_mask array with value of 1 in cells where this FArrayBox has value less than or equal to a_val, 0 otherwise. a_mask is resized by this function. The number of cells marked with 1 returned.

Referenced by NodeFArrayBox::maskLE().

int FArrayBox::maskEQ ( BaseFab< int > &  a_mask,
Real  a_val,
int  a_comp = 0 
) const

Computes a_mask array with value of 1 in cells where this FArrayBox has value equal to a_val, 0 otherwise. a_mask is resized by this function. The number of cells marked with 1 returned.

Referenced by NodeFArrayBox::maskEQ().

int FArrayBox::maskGT ( BaseFab< int > &  a_mask,
Real  a_val,
int  a_comp = 0 
) const

Computes a_mask array with value of 1 in cells where this FArrayBox has value greater than a_val, 0 otherwise. a_mask is resized by this function. The number of cells marked with 1 returned.

Referenced by NodeFArrayBox::maskGT().

int FArrayBox::maskGE ( BaseFab< int > &  a_mask,
Real  a_val,
int  a_comp = 0 
) const

Computes a_mask array with value of 1 in cells where this FArrayBox has value greater than or equal to a_val, 0 otherwise. a_mask is resized by this function. The number of cells marked with 1 returned.

Referenced by NodeFArrayBox::maskGE().

void FArrayBox::abs (  ) 

Modifies this FArrayBox by replacing each value with its absolute value.

Referenced by NodeFArrayBox::abs().

void FArrayBox::abs ( int  a_comp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by replacing each value with its absolute value, for components (a_comp : a_comp+a_numcomp-1).

void FArrayBox::abs ( const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this FArrayBox by replacing eahc value with its absolute value, for components (a_comp : a_comp+a_numcomp-1) and within the a_subbox.

Real FArrayBox::sum ( int  a_comp,
int  a_numcomp = 1 
) const

Returns sum of given component of FArrayBox.

Referenced by NodeFArrayBox::sum().

Real FArrayBox::sum ( const Box a_subbox,
int  a_comp,
int  a_numcomp = 1 
) const

Returns sum of component of this FArrayBox in given a_subbox.

FArrayBox& FArrayBox::invert ( Real  a_r  ) 

Modifies this FArrayBox by replacing each value x with a_r/x.

Referenced by NodeFArrayBox::invert().

FArrayBox& FArrayBox::invert ( Real  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by replacing each value x with a_r/x. For given range of components.

FArrayBox& FArrayBox::invert ( Real  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this FArrayBox by replacing each value x with a_r/x. For given range of components and within given a_subbox.

FArrayBox& FArrayBox::negate ( const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this FArrayBox by replacing each value with its additive inverse. For given range of components and within given a_subbox.

Referenced by NodeFArrayBox::negate().

FArrayBox& FArrayBox::negate ( int  a_comp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by replacing each value with its additive inverse. For given range of components.

FArrayBox& FArrayBox::negate (  ) 

Modifies this FArrayBox by replacing each value with its additive inverse.

FArrayBox& FArrayBox::plus ( Real  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this FArrayBox by adding the scalar Real a_r to all values. For given range of components and within given a_subbox.

Referenced by NodeFArrayBox::plus(), and plus_real().

FArrayBox& FArrayBox::plus ( Real  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by adding the scalar Real a_r to all values. For given range of components.

FArrayBox& FArrayBox::operator+= ( Real  a_r  ) 

Modifies this FArrayBox by adding the scalar Real a_r to all values.

FArrayBox& FArrayBox::operator+= ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise addition of the values of the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match.

FArrayBox& FArrayBox::plus ( Real  a_r  ) 

Modifies this FArrayBox by adding the scalar Real a_r to all values.

FArrayBox& FArrayBox::plus_real ( Real  a_r  )  [inline]

References plus().

FArrayBox& FArrayBox::plus ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise addition of the values of the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match. The same as += operator.

FArrayBox& FArrayBox::plus ( const FArrayBox a_src,
const Real a_scale 
)

Modifies this FArrayBox by pointwise scaled addition of the argument FArrayBox (a[i] <- a[i] + a_scale * a_src[i]). Uses domain of the intersection of these two FArrayBoxes.

FArrayBox& FArrayBox::plus ( const FArrayBox a_src,
const Real a_scale,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise scaled addition of the argument FArrayBox (a[i] <- a[i] + a_scale * a_src[i]). Uses domain of the intersection of these two FArrayBoxes.

FArrayBox& FArrayBox::plus ( const FArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise addition of values in the argument FArrayBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) to this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domains of the two FArrayBoxes intersect.

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

Modifies this FArrayBox by pointwise addition of values in the argument FArrayBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) to this FArrayBox's components (a_destcomp : a_destcomp+numcomp-1) where the domain of this FArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

FArrayBox& FArrayBox::plus ( const FArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise addition of values in the argument FArrayBox. Adds src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox to this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox. Corresponding locations within the two FArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest FArrayBoxes are the same and the a_srcbox and a_destbox overlap.

FArrayBox& FArrayBox::plus ( const FArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
const Real a_scale,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

FArrayBox& FArrayBox::operator-= ( Real  a_r  ) 

Modifies this FArrayBox by subtracting the scalar Real a_r to all values. Note: use plus(-a_r) for more general operations.

FArrayBox& FArrayBox::operator-= ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise subtraction of the values of the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match.

FArrayBox& FArrayBox::minus ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise subtraction of the values of the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match. The same as -= operator.

Referenced by NodeFArrayBox::minus().

FArrayBox& FArrayBox::minus ( const FArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise subtraction of values in the argument FArrayBox. Subtracts a_src's components (a_srccomp : a_srccomp+a_numcomp-1) from this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domains of the two FArrayBoxes intersect.

FArrayBox& FArrayBox::minus ( const FArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise subtraction of values in the argument FArrayBox. Subtracts a_src's components (a_srccomp : a_srccomp+a_numcomp-1) from this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domain of this FArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

FArrayBox& FArrayBox::minus ( const FArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise subtraction of values in the argument FArrayBox. Subtracts a_src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox from this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox. Corresponding locations within the two FArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest FArrayBoxes are the same and the a_srcbox and a_destbox overlap.

FArrayBox& FArrayBox::operator*= ( Real  a_r  ) 

Modifies this FArrayBox by multiplying all values by the scalar Real a_r.

FArrayBox& FArrayBox::mult ( Real  a_r  ) 

Modifies this FArrayBox by multiplying all values by the scalar Real a_r.

Referenced by NodeFArrayBox::mult().

FArrayBox& FArrayBox::mult ( Real  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by multiplying all values by the scalar Real a_r. For given range of components.

FArrayBox& FArrayBox::mult ( Real  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this FArrayBox by multiplying all values by the scalar Real a_r. For given range of components and within given a_subbox.

FArrayBox& FArrayBox::operator*= ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise multiplication of the values by the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match.

FArrayBox& FArrayBox::mult ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise multiplication by the values in the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match. The same as the *= operator.

FArrayBox& FArrayBox::mult ( const FArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise multiplication by values in the argument FArrayBox. Multiplies a_src's components (a_srccomp : a_srccomp+a_numcomp-1) by this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domains of the two FArrayBoxes intersect.

FArrayBox& FArrayBox::mult ( const FArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise multiplication by values in the argument FArrayBox. Multiplies a_src's components (a_srccomp : a_srccomp+a_numcomp-1) by this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) where the domain of this FArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

FArrayBox& FArrayBox::mult ( const FArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise multiplication by values in the argument FArrayBox. Multiplies a_src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox by this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox. Corresponding locations within the two FArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest FArrayBoxes are the same and the a_srcbox and a_destbox overlap.

FArrayBox& FArrayBox::operator/= ( Real  a_r  ) 

Modifies this FArrayBox by dividing all values by the scalar Real a_r.

FArrayBox& FArrayBox::divide ( Real  a_r  ) 

Modifies this FArrayBox by dividing all values by the scalar Real a_r.

Referenced by NodeFArrayBox::divide().

FArrayBox& FArrayBox::divide ( Real  a_r,
int  a_comp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by dividing all values by the scalar Real a_r. For given range of components.

FArrayBox& FArrayBox::divide ( Real  a_r,
const Box a_subbox,
int  a_comp = 0,
int  a_numcomp = 1 
)

Modifies this FArrayBox by dividing all values by the scalar Real a_r. For given range of components and within given a_subbox.

FArrayBox& FArrayBox::operator/= ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise division of the values by the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match.

FArrayBox& FArrayBox::divide ( const FArrayBox a_x  ) 

Modifies this FArrayBox by pointwise division by the values in the argument FArrayBox. You might come to grief if the domains of the FArrayBoxes don't match. The same as the /= operator.

FArrayBox& FArrayBox::divide ( const FArrayBox a_src,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise division by values in the argument FArrayBox. Divides this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) by a_src's components (a_srccomp : a_srccomp+a_numcomp-1) where the domains of the two FArrayBoxes intersect.

FArrayBox& FArrayBox::divide ( const FArrayBox a_src,
const Box a_subbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise division by values in the argument FArrayBox. Divides this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) by a_src's components (a_srccomp : a_srccomp+a_numcomp-1) where the domain of this FArrayBox intersects the a_subbox. NOTE: a_subbox must be contained in this FAB.

FArrayBox& FArrayBox::divide ( const FArrayBox a_src,
const Box a_srcbox,
const Box a_destbox,
int  a_srccomp,
int  a_destcomp,
int  a_numcomp = 1 
)

Modifies this FArrayBox by pointwise division by values in the argument FArrayBox. Divides this FArrayBox's components (a_destcomp : a_destcomp+a_numcomp-1) in the Box a_destbox by a_src's components (a_srccomp : a_srccomp+a_numcomp-1) in the Box a_srcbox. Corresponding locations within the two FArrayBoxes are indexed relative to a_srcbox and a_destbox, and will in general not be the same. The a_srcbox and a_destbox must be same size. The results are UNDEFINED if the a_src and dest FArrayBoxes are the same and the a_srcbox and a_destbox overlap.

Real FArrayBox::get ( const IntVect a_iv,
int  a_comp 
) const [inline]

void FArrayBox::set ( const IntVect a_iv,
int  a_comp,
Real  a_val 
) [inline]

virtual void FArrayBox::performCopy ( const BaseFab< Real > &  a_src,
const Box a_srcbox,
int  a_srccomp,
const Box a_destbox,
int  a_destcomp,
int  a_numcomp 
) [protected, virtual]

FArrayBox& FArrayBox::operator= ( const FArrayBox  )  [private]


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

Generated on Tue Apr 14 14:23:34 2009 for Chombo + EB by  doxygen 1.5.5