NodeQCFI Class Reference

#include <NodeQCFI.H>

Collaboration diagram for NodeQCFI:

Collaboration graph
[legend]

List of all members.


Detailed Description

Class to interpolate quadratically at coarse/fine interface.

Public Member Functions

Constructors, destructor and defines
 NodeQCFI ()
 NodeQCFI (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, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false)
 NodeQCFI (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, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false)
 ~NodeQCFI ()
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, NodeBCFunc a_bc, 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, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false)
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

NodeBCFunc m_bc
DisjointBoxLayout m_grids
int m_ncomp
int m_refToCoarse
int m_coarsenings
bool m_isDefined
Real m_dx
Real m_dxPenultimate
ProblemDomain m_domainPenultimate
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

NodeQCFI::NodeQCFI (  ) 

Default constructor. User must subsequently call define().

NodeQCFI::NodeQCFI ( 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,
NodeBCFunc  a_bc,
int  a_interpolationDegree = 2,
int  a_ncomp = 1,
bool  a_verbose = false 
)

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

NodeQCFI::NodeQCFI ( 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,
NodeBCFunc  a_bc,
int  a_interpolationDegree = 2,
int  a_ncomp = 1,
bool  a_verbose = false 
)

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

NodeQCFI::~NodeQCFI (  ) 

Destructor.


Member Function Documentation

void NodeQCFI::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,
NodeBCFunc  a_bc,
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 NodeQCFI::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,
NodeBCFunc  a_bc,
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

bool NodeQCFI::isDefined (  )  const

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

void NodeQCFI::setVerbose ( bool  a_verbose  ) 

Set whether to give output. Default is false.

void NodeQCFI::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 NodeQCFI::clearMemory (  )  [private]

void NodeQCFI::setDefaultValues (  )  [private]


Member Data Documentation

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

int NodeQCFI::m_ncomp [protected]

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

int NodeQCFI::m_refToCoarse [protected]

refinement ratio between this and the next coarser level

int NodeQCFI::m_coarsenings [protected]

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

bool NodeQCFI::m_isDefined [protected]

has full define function been called?

Real NodeQCFI::m_dx [protected]

mesh spacing at this (fine) level

mesh spacing at coarsest level refined by 2

CELL-centered physical domain of coarsest level refined by 2

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