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

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

refinement ratio between this and the next coarser level

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

has full define function been called?

has boundary condition been defined?

mesh spacing at this (fine) level

mesh spacing at coarsest level refined by 2

CELL-centered physical domain of coarsest level refined by 2

boundary conditions

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

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.

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

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 Tue Apr 14 14:23:52 2009 for Chombo + EB by  doxygen 1.5.5