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

Average from fine intersections. More...

#include <LevelGridMetrics.H>

Public Member Functions

 IntersectionAverageFace (const LevelData< FluxBox > &a_A, const int a_nRef)
 Constructor. More...
 
void copyTo (LevelData< FluxBox > &a_C, const DisjointBoxLayout &a_dblB)
 Copy the average using a mask. More...
 

Protected Attributes

const int m_nComp
 Number of components in A (same as C) More...
 
const int m_nRef
 Refinement between A & C. More...
 
DisjointBoxLayout m_crDblA
 Coarsened layout for A. More...
 
CoarseAverageFace m_averager
 

Private Member Functions

 IntersectionAverageFace (const IntersectionAverageFace &)
 
IntersectionAverageFaceoperator= (const IntersectionAverageFace &)
 

Detailed Description

Average from fine intersections.

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):

  1. Average A^(l+1) to D^(l) on boxes of Cr(A^(l+1)). This step is performed at level 'l+1'. D and the coarsened box layout of A are saved.
  2. Now at level 'l', copy to E^(l) on boxes of C^(l). These first two steps are done in the averager
  3. Compute mask for each box of C^(l). The mask is the intersection of Cr(A^(l+1)), Cr(B^(l+1)), and C^(l)
  4. Copy from E^(l) to C^(l) using the mask.

Constructor & Destructor Documentation

◆ IntersectionAverageFace() [1/2]

IntersectionAverageFace::IntersectionAverageFace ( const LevelData< FluxBox > &  a_A,
const int  a_nRef 
)

Constructor.

◆ IntersectionAverageFace() [2/2]

IntersectionAverageFace::IntersectionAverageFace ( const IntersectionAverageFace )
private

Member Function Documentation

◆ copyTo()

void IntersectionAverageFace::copyTo ( LevelData< FluxBox > &  a_C,
const DisjointBoxLayout a_dblB 
)

Copy the average using a mask.

◆ operator=()

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

Member Data Documentation

◆ m_nComp

const int IntersectionAverageFace::m_nComp
protected

Number of components in A (same as C)

◆ m_nRef

const int IntersectionAverageFace::m_nRef
protected

Refinement between A & C.

◆ m_crDblA

DisjointBoxLayout IntersectionAverageFace::m_crDblA
protected

Coarsened layout for A.

◆ m_averager

CoarseAverageFace IntersectionAverageFace::m_averager
protected

The averager itself stores the averaged data between averaging and copying


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