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

Class LTransaction represents a communication transaction between two processors or a local data copy for communicating or copying Lagrangian objects. More...

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

Inheritance diagram for IBTK::LTransaction< T >:
Inheritance graph
[legend]

Classes

class  LTransactionComponent
 Struct LTransaction::LTransactionComponent encapsulates the individual data items that are communicated via class LTransaction. More...
 

Public Member Functions

 LTransaction (int src_proc, int dst_proc)
 Class constructor.
 
 LTransaction (int src_proc, int dst_proc, std::vector< LTransactionComponent > src_item_set)
 Class constructor.
 
virtual ~LTransaction ()=default
 The virtual destructor for the copy transaction releases all memory associated with the transaction.
 
const std::vector< LTransactionComponent > & getSourceData () const
 Return a constant reference to the source data.
 
const std::vector< LTransactionComponent > & getDestinationData () const
 Return a constant reference to the destination data.
 
virtual bool canEstimateIncomingMessageSize () override
 Return a boolean indicating whether this transaction can estimate the size of an incoming message. More...
 
virtual int computeIncomingMessageSize () override
 Return the integer buffer space (in bytes) needed for the incoming message. More...
 
virtual int computeOutgoingMessageSize () override
 Return the integer buffer space (in bytes) needed for the outgoing message.
 
virtual int getSourceProcessor () override
 Return the sending processor number for the communications transaction.
 
virtual int getDestinationProcessor () override
 Return the receiving processor number for the communications transaction.
 
virtual void packStream (SAMRAI::tbox::AbstractStream &stream) override
 Pack the transaction data into the message stream.
 
virtual void unpackStream (SAMRAI::tbox::AbstractStream &stream) override
 Unpack the transaction data from the message stream.
 
virtual void copyLocalData () override
 Perform the local data copy for the transaction.
 
virtual void printClassData (std::ostream &stream) const override
 Print out transaction information.
 

Detailed Description

template<class T>
class IBTK::LTransaction< T >

Class LTransaction represents a communication transaction between two processors or a local data copy for communicating or copying Lagrangian objects.

See also
SAMRAI::tbox::Schedule
SAMRAI::tbox::Transaction

Member Function Documentation

◆ canEstimateIncomingMessageSize()

template<class T >
bool IBTK::LTransaction< T >::canEstimateIncomingMessageSize
overridevirtual

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

If this evaluates to false, then a different communication protocol kicks in and the message size is transmitted between sides.

Implements SAMRAI::tbox::Transaction.

◆ computeIncomingMessageSize()

template<class T >
int IBTK::LTransaction< T >::computeIncomingMessageSize
overridevirtual

Return the integer buffer space (in bytes) needed for the incoming message.

This routine is only called if the transaction can estimate the size of the incoming message.

See also
canEstimateIncomingMessageSize()

Implements SAMRAI::tbox::Transaction.


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