Chombo + EB + MF  3.2
NodeIntegrals.H File Reference
`#include "LevelData.H"`
`#include "NodeFArrayBox.H"`
`#include "Vector.H"`
`#include "IntVectSet.H"`
`#include "NamespaceHeader.H"`
`#include "NamespaceFooter.H"`
Include dependency graph for NodeIntegrals.H:

Go to the source code of this file.

## Macros

#define _NODEINTEGRALS_H_

## Functions

Real integral (const NodeFArrayBox &a_nfab, const Real a_dx, const Box &a_subbox, const int a_startComp=0, const int a_numComp=1)
Computes integral of a subbox of a NodeFArrayBox. More...

Real integral (const NodeFArrayBox &a_nfab, const Real a_dx, const int a_startComp=0, const int a_numComp=1)
Computes integral of a NodeFArrayBox. More...

Real integral (const BoxLayoutData< NodeFArrayBox > &a_layout, const Real a_dx, const Interval &a_interval, bool a_verbose=true)
Computes integral of a BoxLayoutData<NodeFArrayBox>. More...

Real integral (const Vector< LevelData< NodeFArrayBox > * > &a_phi, const Vector< ProblemDomain > &a_domain, const Vector< int > &a_nRefFine, const Real a_dxCrse, const Interval a_comps, const int a_lBase, bool a_verbose=true)
Computes integral of multilevel array, counting only valid nodes at each level. More...

Real integral (const Vector< LevelData< NodeFArrayBox > * > &a_phi, const Vector< Box > &a_domain, const Vector< int > &a_nRefFine, const Real a_dxCrse, const Interval a_comps, const int a_lBase, bool a_verbose=true)
Computes integral of multilevel array, counting only valid nodes at each level. More...

Real integral (const LevelData< NodeFArrayBox > &a_phi, const ProblemDomain &a_domain, const DisjointBoxLayout *a_finerGridsPtr, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose=true)
Computes integral of single-level array, counting only valid nodes. More...

Real integral (const LevelData< NodeFArrayBox > &a_phi, const Box &a_domain, const DisjointBoxLayout *a_finerGridsPtr, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose=true)
Computes integral of single-level array, counting only valid nodes. More...

Real integral (const LevelData< NodeFArrayBox > &a_phi, const ProblemDomain &a_domain, const DisjointBoxLayout &a_finerGridsCoarsened, const LayoutData< Vector< IntVectSet > > &a_IVSVext, const LayoutData< Vector< IntVectSet > > &a_IVSVintFinerCoarsened, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose=true)
Computes integral of single-level array, counting only valid nodes. More...

Real integral (const LevelData< NodeFArrayBox > &a_phi, const Box &a_domain, const DisjointBoxLayout &a_finerGridsCoarsened, const LayoutData< Vector< IntVectSet > > &a_IVSVext, const LayoutData< Vector< IntVectSet > > &a_IVSVintFinerCoarsened, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose=true)
Computes integral of single-level array, counting only valid nodes. More...

Real integral (const LevelData< NodeFArrayBox > &a_phi, const ProblemDomain &a_domain, const LayoutData< Vector< IntVectSet > > &a_IVSVext, const Real a_dx, const Interval a_comps, bool a_verbose=true)
Computes integral of single-level array, counting only valid nodes, with no finer level. More...

Real integral (const LevelData< NodeFArrayBox > &a_phi, const Box &a_domain, const LayoutData< Vector< IntVectSet > > &a_IVSVext, const Real a_dx, const Interval a_comps, bool a_verbose=true)
Computes integral of single-level array, counting only valid nodes, with no finer level. More...

## ◆ _NODEINTEGRALS_H_

 #define _NODEINTEGRALS_H_

## ◆ integral() [1/11]

 Real integral ( const NodeFArrayBox & a_nfab, const Real a_dx, const Box & a_subbox, const int a_startComp = `0`, const int a_numComp = `1` )

Computes integral of a subbox of a NodeFArrayBox.

Computes integral of the data in a subbox of a_nfab.

Parameters
 a_nfab the data on which to take the integral a_dx mesh spacing at this level a_subbox CELL-centered subbox over which to take integral a_startComp starting component a_numComp number of components

Referenced by OneDIntegrator::~OneDIntegrator().

## ◆ integral() [2/11]

 Real integral ( const NodeFArrayBox & a_nfab, const Real a_dx, const int a_startComp = `0`, const int a_numComp = `1` )

Computes integral of a NodeFArrayBox.

Computes integral of the data in a_nfab.

Parameters
 a_nfab the data on which to take the integral a_dx mesh spacing at this level a_startComp starting component a_numComp number of components

## ◆ integral() [3/11]

 Real integral ( const BoxLayoutData< NodeFArrayBox > & a_layout, const Real a_dx, const Interval & a_interval, bool a_verbose = `true` )

Computes integral of a BoxLayoutData<NodeFArrayBox>.

Computes integral of a_layout. Ignores ghost cells for LevelData.

This is an internal function that should NOT normally be called by the user.

Parameters
 a_layout the data on which to take the norm a_dx mesh spacing at this level a_interval interval of components to use a_verbose verbosity, whether to print norms of each box

## ◆ integral() [4/11]

 Real integral ( const Vector< LevelData< NodeFArrayBox > * > & a_phi, const Vector< ProblemDomain > & a_domain, const Vector< int > & a_nRefFine, const Real a_dxCrse, const Interval a_comps, const int a_lBase, bool a_verbose = `true` )

Computes integral of multilevel array, counting only valid nodes at each level.

Computes integral of multilevel array a_phi. Only the valid nodes at each level are counted. The valid nodes at a level are those that are not covered by the interior of any finer level.

Parameters
 a_phi multilevel data on which to take the norm a_domain CELL-centered physical domain on each level a_nRefFine refinement ratios between successive levels a_dxCrse mesh spacing at base level a_lBase a_comps components to use in computing norm a_lBase index of base level to use in Vectors a_verbose verbosity, whether to print norms of each box

## ◆ integral() [5/11]

 Real integral ( const Vector< LevelData< NodeFArrayBox > * > & a_phi, const Vector< Box > & a_domain, const Vector< int > & a_nRefFine, const Real a_dxCrse, const Interval a_comps, const int a_lBase, bool a_verbose = `true` )

Computes integral of multilevel array, counting only valid nodes at each level.

Computes integral of multilevel array a_phi. Only the valid nodes at each level are counted. The valid nodes at a level are those that are not covered by the interior of any finer level.

Parameters
 a_phi multilevel data on which to take the norm a_domain CELL-centered physical domain on each level a_nRefFine refinement ratios between successive levels a_dxCrse mesh spacing at base level a_lBase a_comps components to use in computing norm a_lBase index of base level to use in Vectors a_verbose verbosity, whether to print norms of each box

## ◆ integral() [6/11]

 Real integral ( const LevelData< NodeFArrayBox > & a_phi, const ProblemDomain & a_domain, const DisjointBoxLayout * a_finerGridsPtr, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose = `true` )

Computes integral of single-level array, counting only valid nodes.

Computes integral of single-level array a_phi. Only the valid nodes at this level are counted. The valid nodes are the interior nodes of this level that are not projections of interior nodes of the finer level, if any.

This function computes exterior boundary nodes, and interior boundary nodes of the coarsened finer level, if any. It is more efficient to precompute these boundary-node objects and call one of the other integral functions below.

Parameters
 a_phi the data on which to take the norm a_domain CELL-centered physical domain on each level a_finerGridsPtr pointer to CELL-centered grids on the next finer level, or NULL if there is none. a_nRefFine refinement ratio to next finer level a_dx mesh spacing at this level a_comps interval of components to use a_verbose verbosity, whether to print norms of each box

## ◆ integral() [7/11]

 Real integral ( const LevelData< NodeFArrayBox > & a_phi, const Box & a_domain, const DisjointBoxLayout * a_finerGridsPtr, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose = `true` )

Computes integral of single-level array, counting only valid nodes.

Computes integral of single-level array a_phi. Only the valid nodes at this level are counted. The valid nodes are the interior nodes of this level that are not projections of interior nodes of the finer level, if any.

This function computes exterior boundary nodes, and interior boundary nodes of the coarsened finer level, if any. It is more efficient to precompute these boundary-node objects and call one of the other integral functions below.

Parameters
 a_phi the data on which to take the norm a_domain CELL-centered physical domain on each level a_finerGridsPtr pointer to CELL-centered grids on the next finer level, or NULL if there is none. a_nRefFine refinement ratio to next finer level a_dx mesh spacing at this level a_comps interval of components to use a_verbose verbosity, whether to print norms of each box

## ◆ integral() [8/11]

 Real integral ( const LevelData< NodeFArrayBox > & a_phi, const ProblemDomain & a_domain, const DisjointBoxLayout & a_finerGridsCoarsened, const LayoutData< Vector< IntVectSet > > & a_IVSVext, const LayoutData< Vector< IntVectSet > > & a_IVSVintFinerCoarsened, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose = `true` )

Computes integral of single-level array, counting only valid nodes.

Computes integral of single-level array a_phi. Only the valid nodes at this level are counted. The valid nodes are the interior nodes of this level that are not projections of interior nodes of the finer level, if any.

The a_IVSVext argument is obtained from the calls:
``` interiorBoundaryNodes(IVSVint, a_phi.getBoxes(), a_domain); exteriorBoundaryNodes(a_IVSVext, IVSVint, a_phi.getBoxes(); ```

The a_IVSVintFinerCoarsened argument is obtained from the call:
` interiorBoundaryNodes(a_IVSVintFinerCoarsened, a_phi.getBoxes(), a_finerGridsCoarsened, a_domain); `

Parameters
 a_phi the data on which to take the norm a_domain CELL-centered physical domain on each level a_finerGridsCoarsened CELL-centered grids on the next finer level a_IVSVext exterior boundary nodes of this level a_IVSVintFinerCoarsened interior boundary nodes of coarsened finer-level grids a_nRefFine refinement ratio to next finer level a_dx mesh spacing at this level a_comps interval of components to use a_verbose verbosity, whether to print norms of each box

## ◆ integral() [9/11]

 Real integral ( const LevelData< NodeFArrayBox > & a_phi, const Box & a_domain, const DisjointBoxLayout & a_finerGridsCoarsened, const LayoutData< Vector< IntVectSet > > & a_IVSVext, const LayoutData< Vector< IntVectSet > > & a_IVSVintFinerCoarsened, const int a_nRefFine, const Real a_dx, const Interval a_comps, bool a_verbose = `true` )

Computes integral of single-level array, counting only valid nodes.

Computes integral of single-level array a_phi. Only the valid nodes at this level are counted. The valid nodes are the interior nodes of this level that are not projections of interior nodes of the finer level, if any.

The a_IVSVext argument is obtained from the calls:
``` interiorBoundaryNodes(IVSVint, a_phi.getBoxes(), a_domain); exteriorBoundaryNodes(a_IVSVext, IVSVint, a_phi.getBoxes(); ```

The a_IVSVintFinerCoarsened argument is obtained from the call:
` interiorBoundaryNodes(a_IVSVintFinerCoarsened, a_phi.getBoxes(), a_finerGridsCoarsened, a_domain); `

Parameters
 a_phi the data on which to take the norm a_domain CELL-centered physical domain on each level a_finerGridsCoarsened CELL-centered grids on the next finer level a_IVSVext exterior boundary nodes of this level a_IVSVintFinerCoarsened interior boundary nodes of coarsened finer-level grids a_nRefFine refinement ratio to next finer level a_dx mesh spacing at this level a_comps interval of components to use a_verbose verbosity, whether to print norms of each box

## ◆ integral() [10/11]

 Real integral ( const LevelData< NodeFArrayBox > & a_phi, const ProblemDomain & a_domain, const LayoutData< Vector< IntVectSet > > & a_IVSVext, const Real a_dx, const Interval a_comps, bool a_verbose = `true` )

Computes integral of single-level array, counting only valid nodes, with no finer level.

Computes integral of single-level array a_phi, where there is no finer level. Only the valid nodes at this level are counted. The valid nodes are the interior nodes of this level.

The a_IVSVext argument is obtained from the calls:
``` interiorBoundaryNodes(IVSVint, a_phi.getBoxes(), a_domain); exteriorBoundaryNodes(a_IVSVext, IVSVint, a_phi.getBoxes(); ```

Parameters
 a_phi the data on which to take the norm a_domain CELL-centered physical domain on each level a_IVSVext exterior boundary nodes of this level a_dx mesh spacing at this level a_comps interval of components to use a_verbose verbosity, whether to print norms of each box

## ◆ integral() [11/11]

 Real integral ( const LevelData< NodeFArrayBox > & a_phi, const Box & a_domain, const LayoutData< Vector< IntVectSet > > & a_IVSVext, const Real a_dx, const Interval a_comps, bool a_verbose = `true` )

Computes integral of single-level array, counting only valid nodes, with no finer level.

Computes integral of single-level array a_phi, where there is no finer level. Only the valid nodes at this level are counted. The valid nodes are the interior nodes of this level.

The a_IVSVext argument is obtained from the calls:
``` interiorBoundaryNodes(IVSVint, a_phi.getBoxes(), a_domain); exteriorBoundaryNodes(a_IVSVext, IVSVint, a_phi.getBoxes(); ```

Parameters
 a_phi the data on which to take the norm a_domain CELL-centered physical domain on each level a_IVSVext exterior boundary nodes of this level a_dx mesh spacing at this level a_comps interval of components to use a_verbose verbosity, whether to print norms of each box