IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | List of all members
IBTK::CopyToRootTransaction Class Reference

Class CopyToRootTransaction is a concrete implementation of the abstract base class SAMRAI::tbox::Transaction. It is used to communicate distributed patch data to a unified patch data object on a root MPI process. More...

#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/CopyToRootTransaction.h>

Inheritance diagram for IBTK::CopyToRootTransaction:
Inheritance graph
[legend]

Public Member Functions

 CopyToRootTransaction (int src_proc, int dst_proc, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchLevel< NDIM > > patch_level, int src_patch_data_idx, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchData< NDIM > > dst_patch_data)
 Constructor.
 
 ~CopyToRootTransaction ()=default
 Destructor.
 
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchData< NDIM > > getRootPatchData () const
 
bool canEstimateIncomingMessageSize () override
 
int computeIncomingMessageSize () override
 
int computeOutgoingMessageSize () override
 
int getSourceProcessor () override
 
int getDestinationProcessor () override
 
void packStream (SAMRAI::tbox::AbstractStream &stream) override
 
void unpackStream (SAMRAI::tbox::AbstractStream &stream) override
 
void copyLocalData () override
 
void printClassData (std::ostream &stream) const override
 

Detailed Description

Class CopyToRootTransaction is a concrete implementation of the abstract base class SAMRAI::tbox::Transaction. It is used to communicate distributed patch data to a unified patch data object on a root MPI process.

Note
This class is designed to be used with uniform grid data only.

Member Function Documentation

◆ canEstimateIncomingMessageSize()

bool IBTK::CopyToRootTransaction::canEstimateIncomingMessageSize ( )
overridevirtual

Return a boolean indicating whether this transaction can estimate the size of an incoming message.

Implements SAMRAI::tbox::Transaction.

◆ computeIncomingMessageSize()

int IBTK::CopyToRootTransaction::computeIncomingMessageSize ( )
overridevirtual

Return the amount of buffer space needed for the incoming message. This routine is only called if the transaction can estimate the size of the incoming message.

Implements SAMRAI::tbox::Transaction.

◆ computeOutgoingMessageSize()

int IBTK::CopyToRootTransaction::computeOutgoingMessageSize ( )
overridevirtual

Return the buffer space needed for the outgoing message.

Implements SAMRAI::tbox::Transaction.

◆ copyLocalData()

void IBTK::CopyToRootTransaction::copyLocalData ( )
overridevirtual

Perform the local data copy for the transaction.

Implements SAMRAI::tbox::Transaction.

◆ getDestinationProcessor()

int IBTK::CopyToRootTransaction::getDestinationProcessor ( )
overridevirtual

Return the receiving processor for the communications transaction.

Implements SAMRAI::tbox::Transaction.

◆ getRootPatchData()

Pointer< PatchData< NDIM > > IBTK::CopyToRootTransaction::getRootPatchData ( ) const

Return a pointer to the data on the root process.

◆ getSourceProcessor()

int IBTK::CopyToRootTransaction::getSourceProcessor ( )
overridevirtual

Return the sending processor for the communications transaction.

Implements SAMRAI::tbox::Transaction.

◆ packStream()

void IBTK::CopyToRootTransaction::packStream ( SAMRAI::tbox::AbstractStream stream)
overridevirtual

Pack the transaction data into the message stream.

Implements SAMRAI::tbox::Transaction.

◆ printClassData()

void IBTK::CopyToRootTransaction::printClassData ( std::ostream stream) const
overridevirtual

Print out transaction information.

Implements SAMRAI::tbox::Transaction.

◆ unpackStream()

void IBTK::CopyToRootTransaction::unpackStream ( SAMRAI::tbox::AbstractStream stream)
overridevirtual

Unpack the transaction data from the message stream.

Implements SAMRAI::tbox::Transaction.


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