#include <source/transfer/datamovers/locally_active/LocallyActiveDataRefineTransactionFactory.h>
Inheritance diagram for SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >:
Public Member Functions | |
LocallyActiveDataRefineTransactionFactory () | |
Default constructor. | |
virtual | ~LocallyActiveDataRefineTransactionFactory () |
Virtual destructor. | |
virtual void | setRefineItems (const typename RefineClasses< DIM >::Data **refine_items, int num_refine_items)=0 |
Pure virtual function to set the array of RefineClass::Data items associated with the refine schedule. Typical concrete transactions used by the schedule use this information to communicate data. This operation is called by the refine schedule during the execution of the LocallyActiveDataRefineSchedule<DIM>::fillData() routine before data communication operations begin. | |
virtual void | unsetRefineItems ()=0 |
Pure virtual function to clear the array of RefineClass::Data items associated with the refine schedule. This operation is called by the refine schedule after data communication operations are complete. | |
virtual tbox::Pointer< tbox::Transaction > | 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 =0 |
Pure virtual function to allocate a concrete refine transaction object. This routine is called by the refine schedule during construction of the schedule. | |
virtual void | setTransactionTime (double fill_time) |
Virtual function to set simulation time for transaction objects. This operation is called by the refine schedule during the execution of the LocallyActiveDataRefineSchedule<DIM>::fillData() routine before data communication operations begin. This function is optional for the concrete transaction factory object. The default implementation is a no-op. | |
virtual void | preprocessScratchSpace (tbox::Pointer< hier::PatchLevel< DIM > > level, double fill_time, const hier::LocallyActiveDataPatchLevelManager< DIM > &preprocess_mgr) 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. |
To add a new type of Transaction object MyRefineTransaction:
SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >::LocallyActiveDataRefineTransactionFactory | ( | ) |
Default constructor.
SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >::~LocallyActiveDataRefineTransactionFactory | ( | ) | [virtual] |
Virtual destructor.
virtual void SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >::setRefineItems | ( | const typename RefineClasses< DIM >::Data ** | refine_items, | |
int | num_refine_items | |||
) | [pure virtual] |
Pure virtual function to set the array of RefineClass::Data items associated with the refine schedule. Typical concrete transactions used by the schedule use this information to communicate data. This operation is called by the refine schedule during the execution of the LocallyActiveDataRefineSchedule<DIM>::fillData() routine before data communication operations begin.
Implemented in SAMRAI::xfer::StandardLocallyActiveDataRefineTransactionFactory< DIM >, SAMRAI::algs::LocallyActiveDataOuteredgeSumTransactionFactory< DIM >, and SAMRAI::algs::LocallyActiveDataOuternodeSumTransactionFactory< DIM >.
virtual void SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >::unsetRefineItems | ( | ) | [pure virtual] |
Pure virtual function to clear the array of RefineClass::Data items associated with the refine schedule. This operation is called by the refine schedule after data communication operations are complete.
Implemented in SAMRAI::xfer::StandardLocallyActiveDataRefineTransactionFactory< DIM >, SAMRAI::algs::LocallyActiveDataOuteredgeSumTransactionFactory< DIM >, and SAMRAI::algs::LocallyActiveDataOuternodeSumTransactionFactory< DIM >.
virtual tbox::Pointer<tbox::Transaction> SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< 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 [pure virtual] |
Pure virtual function to allocate a concrete refine transaction object. This routine is called by the refine schedule during construction of the schedule.
dst_level | tbox::Pointer to destination patch level. | |
src_level | tbox::Pointer to source patch level. | |
overlap | tbox::Pointer to overlap region between patches. | |
dst_patch_id | Integer index of destination patch in destination patch level. | |
src_patch_id | Integer index of source patch in source patch level. | |
ritem_id | Integer index of RefineClass::Data item associated with transaction. | |
box | Optional const reference to box defining region of refine transaction. Default is an empty box. | |
use_time_interpolation | Optional boolean flag indicating whether the refine transaction involves time interpolation. Default is false. | |
pool | Optional pointer to memory pool from which the refine transaction may be allocated. Default is null. |
Implemented in SAMRAI::xfer::StandardLocallyActiveDataRefineTransactionFactory< DIM >, SAMRAI::algs::LocallyActiveDataOuteredgeSumTransactionFactory< DIM >, and SAMRAI::algs::LocallyActiveDataOuternodeSumTransactionFactory< DIM >.
void SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >::setTransactionTime | ( | double | fill_time | ) | [virtual] |
Virtual function to set simulation time for transaction objects. This operation is called by the refine schedule during the execution of the LocallyActiveDataRefineSchedule<DIM>::fillData() routine before data communication operations begin. This function is optional for the concrete transaction factory object. The default implementation is a no-op.
Reimplemented in SAMRAI::xfer::StandardLocallyActiveDataRefineTransactionFactory< DIM >.
void SAMRAI::xfer::LocallyActiveDataRefineTransactionFactory< DIM >::preprocessScratchSpace | ( | tbox::Pointer< hier::PatchLevel< DIM > > | level, | |
double | fill_time, | |||
const hier::LocallyActiveDataPatchLevelManager< DIM > & | preprocess_mgr | |||
) | const [virtual] |
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.
level | tbox::Pointer to patch level holding scratch data. | |
fill_time | Double value of simulation time corresponding to LocallyActiveDataRefineSchedule<DIM> operations. | |
preprocess_mgr | Const reference to LocallyActiveDataPatchLevelManager<DIM> objects that indicates patch data array indices of which scratch patch data objects on each patch to preprocess. |
Reimplemented in SAMRAI::algs::LocallyActiveDataOuteredgeSumTransactionFactory< DIM >, and SAMRAI::algs::LocallyActiveDataOuternodeSumTransactionFactory< DIM >.