IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SAMRAI::xfer::StandardRefineTransactionFactory< DIM > Class Template Reference

Concrete subclass of RefineTransactionFactory<DIM> base class that allocates RefineCopyTransaction<DIM> and RefineTimeTransaction<DIM> objects for a RefineSchedule<DIM> object. More...

#include <StandardRefineTransactionFactory.h>

Inheritance diagram for SAMRAI::xfer::StandardRefineTransactionFactory< DIM >:
Inheritance graph
[legend]

Public Member Functions

 StandardRefineTransactionFactory ()
 Default constructor. More...
 
virtual ~StandardRefineTransactionFactory ()
 Virtual destructor. More...
 
void setRefineItems (const typename RefineClasses< DIM >::Data **refine_items, int num_refine_items)
 Set the array of RefineClass::Data items used by the transactions. More...
 
void unsetRefineItems ()
 Clear the array of RefineClass::Data items used by the transactions. More...
 
void setTransactionTime (double fill_time)
 Set simulation time used by the refine time transaction objects. More...
 
tbox::Pointer< tbox::Transactionallocate (tbox::Pointer< hier::PatchLevel< DIM > > dst_level, tbox::Pointer< hier::PatchLevel< DIM > > src_level, tbox::Pointer< hier::BoxOverlap< DIM > > overlap, int dst_patch_id, int src_patch_id, int ritem_id, const hier::Box< DIM > &box=hier::Box< DIM >(), bool use_time_interpolation=false, tbox::Pointer< tbox::Arena > pool=(tbox::Arena *) NULL) const
 Allocate an appropriate refine copy or time transaction object. When time interpolation flag is passed as true a RefineTimeTransaction<DIM> object will be created. Otherwise, a RefineCopyTransaction<DIM> aill be created. More...
 
virtual void preprocessScratchSpace (tbox::Pointer< hier::PatchLevel< DIM > > level, double fill_time, const hier::ComponentSelector &preprocess_vector) const
 Virtual function allowing transaction factory to preprocess scratch space data before transactactions use it if they need to. This function is optional for the concrete transaction factory object.
The default implementation is a no-op. More...
 

Private Member Functions

 StandardRefineTransactionFactory (const StandardRefineTransactionFactory< DIM > &)
 
void operator= (const StandardRefineTransactionFactory< DIM > &)
 

Private Attributes

const RefineClasses< DIM >::Data ** d_refine_items
 
int d_num_refine_items
 

Detailed Description

template<int DIM>
class SAMRAI::xfer::StandardRefineTransactionFactory< DIM >

See also
xfer::RefineCopyTransaction
xfer::RefineTimeTransaction
xfer::RefineTransactionFactory

Constructor & Destructor Documentation

◆ StandardRefineTransactionFactory() [1/2]

◆ ~StandardRefineTransactionFactory()

◆ StandardRefineTransactionFactory() [2/2]

Member Function Documentation

◆ setRefineItems()

template<int DIM>
void SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::setRefineItems ( const typename RefineClasses< DIM >::Data **  refine_items,
int  num_refine_items 
)
virtual

◆ unsetRefineItems()

template<int DIM>
void SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::unsetRefineItems ( )
virtual

◆ setTransactionTime()

template<int DIM>
void SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::setTransactionTime ( double  fill_time)
virtual

◆ allocate()

template<int DIM>
tbox::Pointer<tbox::Transaction> SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::allocate ( tbox::Pointer< hier::PatchLevel< DIM > >  dst_level,
tbox::Pointer< hier::PatchLevel< DIM > >  src_level,
tbox::Pointer< hier::BoxOverlap< DIM > >  overlap,
int  dst_patch_id,
int  src_patch_id,
int  ritem_id,
const hier::Box< DIM > &  box = hier::Box< DIM >(),
bool  use_time_interpolation = false,
tbox::Pointer< tbox::Arena pool = (tbox::Arena *) NULL 
) const
virtual
Parameters
dst_leveltbox::Pointer to destination patch level.
src_leveltbox::Pointer to source patch level.
overlaptbox::Pointer to overlap region between patches.
dst_patch_idInteger index of destination patch in destination patch level.
src_patch_idInteger index of source patch in source patch level.
ritem_idInteger index of RefineClass::Data item associated with transaction.
boxOptional const reference to box defining region of refine transaction. Default is an empty box.
use_time_interpolationOptional boolean flag indicating whether the refine transaction involves time interpolation. Default is false.
poolOptional pointer to memory pool from which the refine transaction may be allocated. Default is null.

Implements SAMRAI::xfer::RefineTransactionFactory< DIM >.

◆ operator=()

template<int DIM>
void SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::operator= ( const StandardRefineTransactionFactory< DIM > &  )
private

◆ preprocessScratchSpace()

template<int DIM>
virtual void SAMRAI::xfer::RefineTransactionFactory< DIM >::preprocessScratchSpace ( tbox::Pointer< hier::PatchLevel< DIM > >  level,
double  fill_time,
const hier::ComponentSelector preprocess_vector 
) const
virtualinherited
Parameters
leveltbox::Pointer to patch level holding scratch data.
fill_timeDouble value of simulation time corresponding to RefineSchedule<DIM> operations.
preprocess_vectorConst reference to ComponentSelector that indicates patch data array indices of scratch patch data objects to preprocess.

Reimplemented in SAMRAI::algs::OuternodeSumTransactionFactory< DIM >, and SAMRAI::algs::OuteredgeSumTransactionFactory< DIM >.

Member Data Documentation

◆ d_refine_items

template<int DIM>
const RefineClasses<DIM>::Data** SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::d_refine_items
private

◆ d_num_refine_items

template<int DIM>
int SAMRAI::xfer::StandardRefineTransactionFactory< DIM >::d_num_refine_items
private

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