Chombo + EB
3.0
|
#include "LevelData.H"
#include "NodeFArrayBox.H"
#include "Vector.H"
#include "IntVectSet.H"
#include "NamespaceHeader.H"
#include "NamespaceFooter.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... | |
#define _NODEINTEGRALS_H_ |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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);
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 |
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);
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 |
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();
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 |
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();
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 |