IBAMR  IBAMR version 0.19.
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY > Class Template Reference

#include <IndexVariable.h>

Inheritance diagram for SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >:
Inheritance graph
[legend]

Public Member Functions

 IndexVariable (const std::string &name)
 
virtual ~IndexVariable ()
 
bool fineBoundaryRepresentsVariable () const
 
bool dataLivesOnPatchBorder () const
 
int getInstanceIdentifier () const
 
const std::string & getName () const
 
void setPatchDataFactory (tbox::Pointer< PatchDataFactory< DIM > > factory)
 
tbox::Pointer< PatchDataFactory< DIM > > getPatchDataFactory () const
 

Static Public Member Functions

static int getCurrentMaximumInstanceNumber ()
 

Private Member Functions

 IndexVariable (const IndexVariable< DIM, TYPE, BOX_GEOMETRY > &)
 
void operator= (const IndexVariable< DIM, TYPE, BOX_GEOMETRY > &)
 

Private Attributes

std::string d_name
 
int d_instance
 
tbox::Pointer< PatchDataFactory< DIM > > d_factory
 

Static Private Attributes

static int s_instance_counter
 

Detailed Description

template<int DIM, class TYPE, class BOX_GEOMETRY>
class SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >

Class IndexVariable<DIM,TYPE,BOX_GEOMETRY> is a templated variable class used to define quantities that exist on an irregular cell-centered index set. The template parameter TYPE defines the storage at each index location. For example, this class is used to represent embedded boundary features as a regular patch data type using the BoundaryCell class as the template type. The template parameter BOX_GEOMETRY allows IndexVariables to be instantiated with a provided centering and geometry in index space via a BoxGeometry (e.g. CellGeometry, NodeGeometry).

Please consult the README file in the index data source directory for instructions on using this class to provide other irregular index set types.

See also
pdat::IndexData
pdat::IndexDataFactory
pdat::Variable

Constructor & Destructor Documentation

◆ IndexVariable() [1/2]

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >::IndexVariable ( const std::string &  name)

Create an index variable object with the specified name.

◆ ~IndexVariable()

template<int DIM, class TYPE , class BOX_GEOMETRY >
virtual SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >::~IndexVariable ( )
virtual

Virtual destructor for index variable objects.

◆ IndexVariable() [2/2]

template<int DIM, class TYPE , class BOX_GEOMETRY >
SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >::IndexVariable ( const IndexVariable< DIM, TYPE, BOX_GEOMETRY > &  )
private

Member Function Documentation

◆ fineBoundaryRepresentsVariable()

template<int DIM, class TYPE , class BOX_GEOMETRY >
bool SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >::fineBoundaryRepresentsVariable ( ) const
inlinevirtual

Return true so that the index data quantities will always be treated as cell- centered quantities as far as communication is concerned. Note that this is really artificial since the cell data index space matches the cell-centered index space for AMR patches. Thus, cell data does not live on patch borders and so there is no ambiguity reagrding coarse-fine interface values.

Implements SAMRAI::hier::Variable< DIM >.

◆ dataLivesOnPatchBorder()

template<int DIM, class TYPE , class BOX_GEOMETRY >
bool SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >::dataLivesOnPatchBorder ( ) const
inlinevirtual

Return false since the index data index space matches the cell-centered index space for AMR patches. Thus, index data does not live on patch borders.

Implements SAMRAI::hier::Variable< DIM >.

◆ operator=()

template<int DIM, class TYPE , class BOX_GEOMETRY >
void SAMRAI::pdat::IndexVariable< DIM, TYPE, BOX_GEOMETRY >::operator= ( const IndexVariable< DIM, TYPE, BOX_GEOMETRY > &  )
private

◆ getCurrentMaximumInstanceNumber()

template<int DIM>
static int SAMRAI::hier::Variable< DIM >::getCurrentMaximumInstanceNumber ( )
staticinherited

Return the current maximum instance number over all variable objects. The instance identifier returned from each variable objhect is guaranteed to be between 0 and this number minus one. Note that this number changes as new variable instances are created.

◆ getInstanceIdentifier()

template<int DIM>
int SAMRAI::hier::Variable< DIM >::getInstanceIdentifier ( ) const
inherited

Return the instance identifier for this particular variable object. The instance identifiers are unique integers numbered starting from zero.

◆ getName()

template<int DIM>
const std::string& SAMRAI::hier::Variable< DIM >::getName ( ) const
inherited

Return the name assigned to this variable.

◆ setPatchDataFactory()

template<int DIM>
void SAMRAI::hier::Variable< DIM >::setPatchDataFactory ( tbox::Pointer< PatchDataFactory< DIM > >  factory)
inherited

Set the patch data factory object. Normally, the factory is set in the constructor, but this member function enables the factory to be changed later in the lifetime of the variable.

◆ getPatchDataFactory()

template<int DIM>
tbox::Pointer< PatchDataFactory<DIM> > SAMRAI::hier::Variable< DIM >::getPatchDataFactory ( ) const
inherited

Return a non-const pointer to a patch data factory that will be used to instantiate instances of this variable on the patches. The factory returned will have been set by the variable subclasses.

Member Data Documentation

◆ d_name

template<int DIM>
std::string SAMRAI::hier::Variable< DIM >::d_name
privateinherited

◆ d_instance

template<int DIM>
int SAMRAI::hier::Variable< DIM >::d_instance
privateinherited

◆ d_factory

template<int DIM>
tbox::Pointer< PatchDataFactory<DIM> > SAMRAI::hier::Variable< DIM >::d_factory
privateinherited

◆ s_instance_counter

template<int DIM>
int SAMRAI::hier::Variable< DIM >::s_instance_counter
staticprivateinherited

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