Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

NodeQuadCFInterp Class Reference

#include <NodeQuadCFInterp.H>

Collaboration diagram for NodeQuadCFInterp:

Collaboration graph
[legend]
List of all members.

Detailed Description

Class to interpolate quadratically at coarse/fine interface.


Public Member Functions

Constructors, destructor and defines
 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, bool a_verbose=false)
 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, bool a_verbose=false)
 ~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, bool a_verbose=false)
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, bool a_verbose=false)
void setDomainNodeBC (const DomainNodeBC &a_dombcIn)
Access functions
bool isDefined () const
Parameter-setting functions
void setVerbose (bool a_verbose)
Data modification functions
void coarseFineInterp (LevelData< NodeFArrayBox > &a_phiFine, const LevelData< NodeFArrayBox > &a_phiCoarse, bool a_inhomogeneous)

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
bool m_verbose

Private Member Functions

void clearMemory ()
void setDefaultValues ()


Constructor & Destructor Documentation

NodeQuadCFInterp::NodeQuadCFInterp  ) 
 

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,
bool  a_verbose = false
 

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,
bool  a_verbose = false
 

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

NodeQuadCFInterp::~NodeQuadCFInterp  ) 
 

Destructor.


Member Function Documentation

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,
bool  a_verbose = false
 

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

Parameters:
a_grids  CELL-centered grids at this level
a_dx  mesh spacing at this level
a_domain  CELL-centered physical domain at this level
a_loCFIVS  pointer to object storing coarse/fine interface nodes
a_hiCFIVS  pointer to object storing coarse/fine interface nodes
a_refToCoarse  refinement ratio between this and next coarser level
a_interpolationDegree  degree of interpolation; 1 for (bi)linear, 2 for (bi)quadratic
a_ncomp  number of components of data
a_verbose  verbose output flag

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,
bool  a_verbose = false
 

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

Parameters:
a_grids  CELL-centered grids at this level
a_dx  mesh spacing at this level
a_domain  CELL-centered physical domain at this level
a_loCFIVS  pointer to object storing coarse/fine interface nodes
a_hiCFIVS  pointer to object storing coarse/fine interface nodes
a_refToCoarse  refinement ratio between this and next coarser level
a_interpolationDegree  degree of interpolation, 1 for (bi)linear, 2 for (bi)quadratic
a_ncomp  number of components of data
a_verbose  verbose output flag

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, and you'll need to set physical boundary conditions at the intermediate level.

bool NodeQuadCFInterp::isDefined  )  const
 

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

void NodeQuadCFInterp::setVerbose bool  a_verbose  ) 
 

Set whether to give output. Default is false.

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

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

Parameters:
a_phiFine  data at this level
a_phiCoarse  data at the next coarser level
a_inhomogeneous  whether to apply inhomogeneous physical boundary conditions?

void NodeQuadCFInterp::clearMemory  )  [private]
 

void NodeQuadCFInterp::setDefaultValues  )  [private]
 


Member Data Documentation

DisjointBoxLayout NodeQuadCFInterp::m_grids [protected]
 

CELL-centered grids at the current level (the finer level)

int NodeQuadCFInterp::m_ncomp [protected]
 

number of components of data, needed for setting size of work array

int NodeQuadCFInterp::m_refToCoarse [protected]
 

refinement ratio between this and the next coarser level

int NodeQuadCFInterp::m_coarsenings [protected]
 

the number of coarsenings to be done: this is log2(m_refToCoarse)

bool NodeQuadCFInterp::m_isDefined [protected]
 

has full define function been called?

bool NodeQuadCFInterp::m_isBCDefined [protected]
 

has boundary condition been defined?

Real NodeQuadCFInterp::m_dx [protected]
 

mesh spacing at this (fine) level

Real NodeQuadCFInterp::m_dxPenultimate [protected]
 

mesh spacing at coarsest level refined by 2

ProblemDomain NodeQuadCFInterp::m_domainPenultimate [protected]
 

CELL-centered physical domain of coarsest level refined by 2

DomainNodeBC NodeQuadCFInterp::m_dombc [protected]
 

boundary conditions

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

data at intermediate coarsening levels; Vector length m_coarsenings-1.

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

Vector of interpolating objects, of length m_coarsenings. m_qcfi2[i] averages refined versions of the SAME grids if i > 1, and in general DIFFERENT grids if i == 0.

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

pointers to objects storing coarse/fine interface nodes between levels of refinement, including intermediate ones

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

pointers to objects storing coarse/fine interface nodes between levels of refinement, including intermediate ones

bool NodeQuadCFInterp::m_verbose [protected]
 

if true, print out extra information


The documentation for this class was generated from the following file:
Generated on Fri Jul 2 17:55:58 2004 for Chombo by doxygen 1.3.2