Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

NodeQuadCFInterp Class Reference

Class to interpolate quadratically at coarse/fine interface. More...

#include <NodeQuadCFInterp.H>

Collaboration diagram for NodeQuadCFInterp:

Collaboration graph
[legend]
List of all members.

Public Methods

 NodeQuadCFInterp ()
 {\bf constructors, destructor and defines}

 NodeQuadCFInterp (const DisjointBoxLayout &a_grids, Real a_dx, const ProblemDomain &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, int a_interpolationDegree=2, int a_ncomp=1)
 NodeQuadCFInterp (const DisjointBoxLayout &a_grids, Real a_dx, const Box &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, int a_interpolationDegree=2, int a_ncomp=1)
 ~NodeQuadCFInterp ()
void define (const DisjointBoxLayout &a_grids, Real a_dx, const ProblemDomain &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, int a_interpolationDegree=2, int a_ncomp=1)
void define (const DisjointBoxLayout &a_grids, Real a_dx, const Box &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, int a_interpolationDegree=2, int a_ncomp=1)
void setDomainNodeBC (const DomainNodeBC &a_dombcIn)
bool isDefined () const
void coarseFineInterp (LevelData< NodeFArrayBox > &a_phiFine, const LevelData< NodeFArrayBox > &a_phiCoarse, bool a_inhomogeneous)
 {\bf data modification functions}


Protected Attributes

DisjointBoxLayout m_grids
int m_ncomp
int m_refToCoarse
int m_coarsenings
bool m_isDefined
bool m_isBCDefined
Real m_dx
Real m_dxPenultimate
ProblemDomain m_domainPenultimate
DomainNodeBC m_dombc
Vector< LevelData< NodeFArrayBox > * > m_inter
Vector< NodeQuadCFInterp2 * > m_qcfi2
Vector< LayoutData< NodeCFIVS > * > m_loCFIVScoarser
Vector< LayoutData< NodeCFIVS > * > m_hiCFIVScoarser

Detailed Description

Class to interpolate quadratically at coarse/fine interface.


Constructor & Destructor Documentation

NodeQuadCFInterp::NodeQuadCFInterp  
 

{\bf constructors, destructor and defines}

Default constructor. User must subsequently call define().

NodeQuadCFInterp::NodeQuadCFInterp const DisjointBoxLayout &    a_grids,
Real    a_dx,
const ProblemDomain &    a_domain,
const LayoutData< NodeCFIVS > *const    a_loCFIVS,
const LayoutData< NodeCFIVS > *const    a_hiCFIVS,
int    a_refToCoarse,
int    a_interpolationDegree = 2,
int    a_ncomp = 1
 

Constructor calls setDefaultValues() and then calls define() with the same arguments.

NodeQuadCFInterp::NodeQuadCFInterp const DisjointBoxLayout &    a_grids,
Real    a_dx,
const Box &    a_domain,
const LayoutData< NodeCFIVS > *const    a_loCFIVS,
const LayoutData< NodeCFIVS > *const    a_hiCFIVS,
int    a_refToCoarse,
int    a_interpolationDegree = 2,
int    a_ncomp = 1
 

NodeQuadCFInterp::~NodeQuadCFInterp  
 

Destructor.


Member Function Documentation

void NodeQuadCFInterp::coarseFineInterp LevelData< NodeFArrayBox > &    a_phiFine,
const LevelData< NodeFArrayBox > &    a_phiCoarse,
bool    a_inhomogeneous
 

{\bf data modification functions}

Coarse / Fine (inhomogeneous) interpolation operator. Fill the nodes of a_phi on the coarse/fine interface with interpolated data from a_phiCoarse.

{\bf Arguments:}\ a_phi (modified): the data at this level.\ a_phiCoarse (not modified): the data at the next coarser level.\ a_inhomogeneous: apply inhomogeneous physical boundary conditions?\

void NodeQuadCFInterp::define const DisjointBoxLayout &    a_grids,
Real    a_dx,
const Box &    a_domain,
const LayoutData< NodeCFIVS > *const    a_loCFIVS,
const LayoutData< NodeCFIVS > *const    a_hiCFIVS,
int    a_refToCoarse,
int    a_interpolationDegree = 2,
int    a_ncomp = 1
 

void NodeQuadCFInterp::define const DisjointBoxLayout &    a_grids,
Real    a_dx,
const ProblemDomain &    a_domain,
const LayoutData< NodeCFIVS > *const    a_loCFIVS,
const LayoutData< NodeCFIVS > *const    a_hiCFIVS,
int    a_refToCoarse,
int    a_interpolationDegree = 2,
int    a_ncomp = 1
 

Full define function. Makes all coarse-fine information and sets internal variables. The current level is taken to be the fine level.

{\bf Arguments:}\ a_grids: domain of this level.\ a_dx: mesh spacing at this level.\ a_domain: CELL-centered physical domain at this level.\ a_loCFIVS, a_hiCFIVS: pointers to objects used for figuring out which nodes lie on interface with the next coarser level. \ a_refToCoarse: refinement ratio between this and next coarser level.\ a_interpolationDegree: degree of interpolation, 1 or 2.\ a_ncomp: number of components.\

bool NodeQuadCFInterp::isDefined   const
 

Returns true if this object was created with the defining constructor or if define() has been called.

void NodeQuadCFInterp::setDomainNodeBC const DomainNodeBC   a_dombcIn
 

Sets external boundary condition for physical domain. You need this if the refinement ratio is more than 2, because you are composing refinements.


Member Data Documentation

int NodeQuadCFInterp::m_coarsenings [protected]
 

ProblemDomain NodeQuadCFInterp::m_domainPenultimate [protected]
 

DomainNodeBC NodeQuadCFInterp::m_dombc [protected]
 

Real NodeQuadCFInterp::m_dx [protected]
 

Real NodeQuadCFInterp::m_dxPenultimate [protected]
 

DisjointBoxLayout NodeQuadCFInterp::m_grids [protected]
 

Vector< LayoutData<NodeCFIVS>* > NodeQuadCFInterp::m_hiCFIVScoarser [protected]
 

Vector< LevelData<NodeFArrayBox>* > NodeQuadCFInterp::m_inter [protected]
 

bool NodeQuadCFInterp::m_isBCDefined [protected]
 

bool NodeQuadCFInterp::m_isDefined [protected]
 

Vector< LayoutData<NodeCFIVS>* > NodeQuadCFInterp::m_loCFIVScoarser [protected]
 

int NodeQuadCFInterp::m_ncomp [protected]
 

Vector< NodeQuadCFInterp2* > NodeQuadCFInterp::m_qcfi2 [protected]
 

int NodeQuadCFInterp::m_refToCoarse [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Apr 15 18:34:55 2003 for AMRNodeElliptic by doxygen1.2.16