Chombo + EB  3.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CFStencil Class Reference

Class to encapsulate coarse-fine information for AMR operations. More...

#include <CFStencil.H>

Public Member Functions

bool isDefined () const
 { Access functions} More...
 
bool isEmpty () const
 
bool isPacked () const
 
const BoxpackedBox () const
 
const IntVectSetgetFineIVS () const
 
const IntVectSetgetCoarIVS () const
 
CFStenciloperator= (const CFStencil &cfs_in)
 
 CFStencil (const CFStencil &cfs_in)
 
 CFStencil (const Box &a_b, int a_nComp)
 
void define (const Box &a_b, int a_nComp)
 
 CFStencil ()
 
 ~CFStencil ()
 
 CFStencil (const Box &FineDomain, const Box &grid, const DisjointBoxLayout &Levboxes, const DisjointBoxLayout &LevCBoxes, int RefRatio, int Direction, Side::LoHiSide hiorlo)
 
 CFStencil (const ProblemDomain &FineDomain, const Box &grid, const DisjointBoxLayout &Levboxes, const DisjointBoxLayout &LevCBoxes, int RefRatio, int Direction, Side::LoHiSide hiorlo)
 
void define (const Box &FineDomain, const Box &grid, const DisjointBoxLayout &fine_boxes, const DisjointBoxLayout &coar_boxes, int Refratio, int Direction, Side::LoHiSide hiorlo)
 
void define (const ProblemDomain &FineDomain, const Box &grid, const DisjointBoxLayout &fine_boxes, const DisjointBoxLayout &coar_boxes, int Refratio, int Direction, Side::LoHiSide hiorlo)
 
void define (const ProblemDomain &a_fineDomain, const Box &a_grid, const Vector< Box > &a_periodicVector, int a_refRatio, int a_direction, Side::LoHiSide a_hiorlo)
 faster define function that uses a sorted periodic vector More...
 
void clear ()
 

Static Public Member Functions

static void buildPeriodicVector (Vector< Box > &a_periodicVector, const ProblemDomain &a_fineDomain, const DisjointBoxLayout &a_fineBoxes)
 

Protected Member Functions

void setDefaultValues ()
 

Protected Attributes

int m_direction
 
Side::LoHiSide m_hiorlo
 
DataIndex m_dataIndex
 
IntVectSet m_fineIVS
 
IntVectSet m_coarIVS
 
bool m_isDefined
 
bool m_isPacked
 
Box m_packedBox
 

Detailed Description

Class to encapsulate coarse-fine information for AMR operations.

CFStencil is a wrapper around a bunch of things that allow one to do coarse-fine interpolation. This class should be considered internal to QuadCFInterp and should not be considered part of the Chombo API.

Constructor & Destructor Documentation

◆ CFStencil() [1/5]

CFStencil::CFStencil ( const CFStencil cfs_in)

◆ CFStencil() [2/5]

CFStencil::CFStencil ( const Box a_b,
int  a_nComp 
)

◆ CFStencil() [3/5]

CFStencil::CFStencil ( )

Referenced by packedBox().

◆ ~CFStencil()

CFStencil::~CFStencil ( )

Referenced by packedBox().

◆ CFStencil() [4/5]

CFStencil::CFStencil ( const Box FineDomain,
const Box grid,
const DisjointBoxLayout Levboxes,
const DisjointBoxLayout LevCBoxes,
int  RefRatio,
int  Direction,
Side::LoHiSide  hiorlo 
)

◆ CFStencil() [5/5]

CFStencil::CFStencil ( const ProblemDomain FineDomain,
const Box grid,
const DisjointBoxLayout Levboxes,
const DisjointBoxLayout LevCBoxes,
int  RefRatio,
int  Direction,
Side::LoHiSide  hiorlo 
)

Member Function Documentation

◆ setDefaultValues()

void CFStencil::setDefaultValues ( )
protected

◆ isDefined()

bool CFStencil::isDefined ( ) const

{ Access functions}

returns true if CFStencil is defined

Referenced by QuadCFStencil::getCoarIVS(), QuadCFStencil::getFineIVS(), and QuadCFStencil::isEmpty().

◆ isEmpty()

bool CFStencil::isEmpty ( ) const

are there any interpolation points? \ returns false if so.

Referenced by QuadCFStencil::isEmpty().

◆ isPacked()

bool CFStencil::isPacked ( ) const
inline

References m_isPacked.

Referenced by QuadCFStencil::finePacked().

◆ packedBox()

const Box& CFStencil::packedBox ( ) const
inline

◆ getFineIVS()

const IntVectSet& CFStencil::getFineIVS ( ) const

get fine intvects which need to be interpolated \ This will be empty if isEmpty() returns true

Referenced by QuadCFStencil::getFineIVS(), and packedBox().

◆ getCoarIVS()

const IntVectSet& CFStencil::getCoarIVS ( ) const

get coarse intvects that underly fiinterpivs. This will be empty if isEmpty() returns true this is the same as getCoarInterpIVS

Referenced by QuadCFStencil::getCoarIVS(), and packedBox().

◆ operator=()

CFStencil& CFStencil::operator= ( const CFStencil cfs_in)

Referenced by packedBox().

◆ define() [1/4]

void CFStencil::define ( const Box a_b,
int  a_nComp 
)

Referenced by packedBox().

◆ define() [2/4]

void CFStencil::define ( const Box FineDomain,
const Box grid,
const DisjointBoxLayout fine_boxes,
const DisjointBoxLayout coar_boxes,
int  Refratio,
int  Direction,
Side::LoHiSide  hiorlo 
)

◆ define() [3/4]

void CFStencil::define ( const ProblemDomain FineDomain,
const Box grid,
const DisjointBoxLayout fine_boxes,
const DisjointBoxLayout coar_boxes,
int  Refratio,
int  Direction,
Side::LoHiSide  hiorlo 
)

◆ define() [4/4]

void CFStencil::define ( const ProblemDomain a_fineDomain,
const Box a_grid,
const Vector< Box > &  a_periodicVector,
int  a_refRatio,
int  a_direction,
Side::LoHiSide  a_hiorlo 
)

faster define function that uses a sorted periodic vector

user calls the helper function "buildPeriodicVector", then uses that returned Vector<Box> in the subsequent calls to this define.

◆ clear()

void CFStencil::clear ( )

Referenced by packedBox().

◆ buildPeriodicVector()

static void CFStencil::buildPeriodicVector ( Vector< Box > &  a_periodicVector,
const ProblemDomain a_fineDomain,
const DisjointBoxLayout a_fineBoxes 
)
static

Referenced by packedBox().

Member Data Documentation

◆ m_direction

int CFStencil::m_direction
protected

◆ m_hiorlo

Side::LoHiSide CFStencil::m_hiorlo
protected

◆ m_dataIndex

DataIndex CFStencil::m_dataIndex
protected

◆ m_fineIVS

IntVectSet CFStencil::m_fineIVS
protected

◆ m_coarIVS

IntVectSet CFStencil::m_coarIVS
protected

◆ m_isDefined

bool CFStencil::m_isDefined
protected

◆ m_isPacked

bool CFStencil::m_isPacked
protected

Referenced by isPacked().

◆ m_packedBox

Box CFStencil::m_packedBox
protected

Referenced by packedBox().


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