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::SideVariable< DIM, TYPE > Class Template Reference

#include <ibamr/AdvDiffHierarchyIntegrator.h>

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

Public Member Functions

 SideVariable (const std::string &name, int depth=1, bool fine_boundary_represents_var=true, int direction=-1)
 Create an side-centered variable object with the given name and depth (i.e., number of data values at each edge index location). A default depth of one is provided. The fine boundary representation boolean argument indicates which values (either coarse or fine) take precedence at coarse-fine mesh boundaries during coarsen and refine operations. The default is that fine data values take precedence on coarse-fine interfaces.
More...
 
virtual ~SideVariable ()
 Virtual destructor for side variable objects. More...
 
const hier::IntVector< DIM > & getDirectionVector () const
 Return constant reference to vector describing which coordinate directions have data associated with this side variable object. More...
 
bool fineBoundaryRepresentsVariable () const
 Return boolean indicating which side data values (coarse or fine) take precedence at coarse-fine mesh interfaces. The value is set in the constructor. More...
 
bool dataLivesOnPatchBorder () const
 Return true indicating that side data on a patch interior exists on the patch boundary. More...
 
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

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

Private Attributes

bool d_fine_boundary_represents_var
 
hier::IntVector< DIM > d_directions
 
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 SAMRAI::pdat::SideVariable< DIM, TYPE >

Class SideVariable<DIM> is a templated variable class used to define side-centered quantities on an AMR mesh. It is a subclass of hier::Variable and is templated on the type of the underlying data (e.g., double, int, bool, etc.). See header file for SideData<DIM> class for a more detailed description of the data layout.

Note that it is possible to create a side data object for managing data at cell sides associated with a single coordinate direction only. See the constructor for more information.

IMPORTANT: The class FaceVariable<DIM> and associated "face data" classes define the same storage as this side variable class, except that the individual array indices are permuted in the face data type.

See also
pdat::SideData
pdat::SideDataFactory
pdat::SideGeometry
hier::Variable

Constructor & Destructor Documentation

◆ SideVariable() [1/2]

template<int DIM, class TYPE >
SAMRAI::pdat::SideVariable< DIM, TYPE >::SideVariable ( const std::string &  name,
int  depth = 1,
bool  fine_boundary_represents_var = true,
int  direction = -1 
)

The default data allocation scheme is that side data will be allocated for all side normal coordinate directions. If this is desired, then the direction argument may be omitted. If an integer direction argument is specified, the only data for the given side normal direction will be maintained and managed for this variable.

◆ ~SideVariable()

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

◆ SideVariable() [2/2]

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

Member Function Documentation

◆ getDirectionVector()

template<int DIM, class TYPE >
const hier::IntVector<DIM>& SAMRAI::pdat::SideVariable< DIM, TYPE >::getDirectionVector ( ) const

A vector entry of zero indicates that there is no data array allocated for the corresponding coordinate direction for side data created via this side variable object. A non-zero value indicates that a valid data array will be allocated for that coordinate direction.

◆ fineBoundaryRepresentsVariable()

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

◆ dataLivesOnPatchBorder()

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

◆ operator=()

template<int DIM, class TYPE >
void SAMRAI::pdat::SideVariable< DIM, TYPE >::operator= ( const SideVariable< DIM, TYPE > &  )
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_fine_boundary_represents_var

template<int DIM, class TYPE >
bool SAMRAI::pdat::SideVariable< DIM, TYPE >::d_fine_boundary_represents_var
private

◆ d_directions

template<int DIM, class TYPE >
hier::IntVector<DIM> SAMRAI::pdat::SideVariable< DIM, TYPE >::d_directions
private

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