#include <LevelGridMetrics.H>
The objective of this class is to average down information from A^(l+1) to C^(l) but only on the intersection of A^(l+1) and B^(l+1). This class is designed to support class 'LevelGridMetrics' where A is the snapback flux on the old fine mesh, B is the new mesh, and C (= A^l) is the snapback flux on the old coarse mesh. These are the steps (Cr is coarsen operator):
Public Member Functions | |
| IntersectionAverageFace (const LevelData< FluxBox > &a_A, const int a_nRef) | |
| Constructor. | |
| void | copyTo (LevelData< FluxBox > &a_C, const DisjointBoxLayout &a_dblB) |
| Copy the average using a mask. | |
Protected Attributes | |
| const int | m_nComp |
| Number of components in A (same as C). | |
| const int | m_nRef |
| Refinement between A & C. | |
| DisjointBoxLayout | m_crDblA |
| Coarsened layout for A. | |
| CoarseAverageFace | m_averager |
Private Member Functions | |
| IntersectionAverageFace (const IntersectionAverageFace &) | |
| IntersectionAverageFace & | operator= (const IntersectionAverageFace &) |
| IntersectionAverageFace::IntersectionAverageFace | ( | const LevelData< FluxBox > & | a_A, | |
| const int | a_nRef | |||
| ) |
Constructor.
| IntersectionAverageFace::IntersectionAverageFace | ( | const IntersectionAverageFace & | ) | [private] |
| void IntersectionAverageFace::copyTo | ( | LevelData< FluxBox > & | a_C, | |
| const DisjointBoxLayout & | a_dblB | |||
| ) |
Copy the average using a mask.
| IntersectionAverageFace& IntersectionAverageFace::operator= | ( | const IntersectionAverageFace & | ) | [private] |
const int IntersectionAverageFace::m_nComp [protected] |
Number of components in A (same as C).
const int IntersectionAverageFace::m_nRef [protected] |
Refinement between A & C.
DisjointBoxLayout IntersectionAverageFace::m_crDblA [protected] |
Coarsened layout for A.
CoarseAverageFace IntersectionAverageFace::m_averager [protected] |
The averager itself stores the averaged data between averaging and copying
1.5.5