IBAMR  IBAMR version 0.20.
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
IBAMR::IBInstrumentationSpec Class Reference

Class IBInstrumentationSpec encapsulates the data required to initialize distributed internal flow meters and pressure gauges.

#include <ibamr/IBInstrumentationSpec.h>

Inheritance diagram for IBAMR::IBInstrumentationSpec:
Inheritance graph
[legend]

Classes

class  Factory
 A factory class to rebuild IBInstrumentationSpec objects from SAMRAI::tbox::AbstractStream data streams. More...
 

Public Member Functions

 IBInstrumentationSpec (int master_idx=IBTK::invalid_index, int meter_idx=IBTK::invalid_index, int node_idx=IBTK::invalid_index)
 Default constructor. More...
 
 ~IBInstrumentationSpec ()
 Destructor. More...
 
const int & getMasterNodeIndex () const
 
int & getMasterNodeIndex ()
 
const int & getMeterIndex () const
 
int & getMeterIndex ()
 
const int & getNodeIndex () const
 
int & getNodeIndex ()
 
int getStreamableClassID () const override
 Return the unique identifier used to specify the IBTK::StreamableFactory object used by the IBTK::StreamableManager to extract Streamable objects from data streams. More...
 
size_t getDataStreamSize () const override
 Return an upper bound on the amount of space required to pack the object to a buffer. More...
 
void packStream (SAMRAI::tbox::AbstractStream &stream) override
 Pack data into the output stream. More...
 
virtual void registerPeriodicShift (const SAMRAI::hier::IntVector< NDIM > &offset, const Vector &displacement)
 Indicate that the Streamable object has been shifted across a periodic boundary. More...
 

Static Public Member Functions

static void registerWithStreamableManager ()
 Register this class and its factory class with the singleton IBTK::StreamableManager object. This method must be called before any IBInstrumentationSpec objects are created. More...
 
static bool getIsRegisteredWithStreamableManager ()
 Returns a boolean indicating whether the class has been registered with the singleton IBTK::StreamableManager object. More...
 
static void setInstrumentNames (const std::vector< std::string > &names)
 Set the names of the flow meters and pressure gauges. More...
 
static const std::vector< std::string > & getInstrumentNames ()
 Get the names of the flow meters and pressure gauges. More...
 

Static Public Attributes

static int STREAMABLE_CLASS_ID
 

Private Types

using IBInstrumentationSpecFactory = IBInstrumentationSpec::Factory
 

Private Member Functions

 IBInstrumentationSpec (const IBInstrumentationSpec &from)=delete
 Copy constructor. More...
 
IBInstrumentationSpecoperator= (const IBInstrumentationSpec &that)=delete
 Assignment operator. More...
 

Private Attributes

int d_master_idx
 
int d_meter_idx
 
int d_node_idx
 

Static Private Attributes

static std::vector< std::string > s_instrument_names
 

Member Typedef Documentation

◆ IBInstrumentationSpecFactory

Constructor & Destructor Documentation

◆ IBInstrumentationSpec() [1/2]

IBAMR::IBInstrumentationSpec::IBInstrumentationSpec ( int  master_idx = IBTK::invalid_index,
int  meter_idx = IBTK::invalid_index,
int  node_idx = IBTK::invalid_index 
)
inline

◆ ~IBInstrumentationSpec()

IBAMR::IBInstrumentationSpec::~IBInstrumentationSpec ( )
inline

◆ IBInstrumentationSpec() [2/2]

IBAMR::IBInstrumentationSpec::IBInstrumentationSpec ( const IBInstrumentationSpec from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ registerWithStreamableManager()

static void IBAMR::IBInstrumentationSpec::registerWithStreamableManager ( )
static
Note
This method is collective on all MPI processes. This is done to ensure that all processes employ the same class ID for the IBInstrumentationSpec class.

◆ getIsRegisteredWithStreamableManager()

bool IBAMR::IBInstrumentationSpec::getIsRegisteredWithStreamableManager ( )
inlinestatic

◆ setInstrumentNames()

static void IBAMR::IBInstrumentationSpec::setInstrumentNames ( const std::vector< std::string > &  names)
static

◆ getInstrumentNames()

const std::vector< std::string > & IBAMR::IBInstrumentationSpec::getInstrumentNames ( )
inlinestatic

◆ getMasterNodeIndex() [1/2]

const int & IBAMR::IBInstrumentationSpec::getMasterNodeIndex ( ) const
inline
Returns
A const reference to the master node index.

◆ getMasterNodeIndex() [2/2]

int & IBAMR::IBInstrumentationSpec::getMasterNodeIndex ( )
inline
Returns
A non-const reference to the master node index.

◆ getMeterIndex() [1/2]

const int & IBAMR::IBInstrumentationSpec::getMeterIndex ( ) const
inline
Returns
A const reference to the meter index associated with the master node.

◆ getMeterIndex() [2/2]

int & IBAMR::IBInstrumentationSpec::getMeterIndex ( )
inline
Returns
A non-const reference to the meter index associated with the master node.

◆ getNodeIndex() [1/2]

const int & IBAMR::IBInstrumentationSpec::getNodeIndex ( ) const
inline
Returns
A const reference to the node index associated with the master node.

◆ getNodeIndex() [2/2]

int & IBAMR::IBInstrumentationSpec::getNodeIndex ( )
inline
Returns
A non-const reference to the node index associated with the master node.

◆ getStreamableClassID()

int IBAMR::IBInstrumentationSpec::getStreamableClassID ( ) const
inlineoverridevirtual

Implements IBTK::Streamable.

◆ getDataStreamSize()

size_t IBAMR::IBInstrumentationSpec::getDataStreamSize ( ) const
inlineoverridevirtual

Implements IBTK::Streamable.

◆ packStream()

void IBAMR::IBInstrumentationSpec::packStream ( SAMRAI::tbox::AbstractStream stream)
inlineoverridevirtual

Implements IBTK::Streamable.

◆ operator=()

IBInstrumentationSpec& IBAMR::IBInstrumentationSpec::operator= ( const IBInstrumentationSpec that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

◆ registerPeriodicShift()

virtual void IBTK::Streamable::registerPeriodicShift ( const SAMRAI::hier::IntVector< NDIM > &  offset,
const Vector displacement 
)
virtualinherited
Note
A default empty implementation is provided.

Member Data Documentation

◆ STREAMABLE_CLASS_ID

int IBAMR::IBInstrumentationSpec::STREAMABLE_CLASS_ID
static

The unique class ID for this object type assigned by the IBTK::StreamableManager.

◆ s_instrument_names

std::vector<std::string> IBAMR::IBInstrumentationSpec::s_instrument_names
staticprivate

The names of the instrument names.

◆ d_master_idx

int IBAMR::IBInstrumentationSpec::d_master_idx
private

Data required to define the instrument.

◆ d_meter_idx

int IBAMR::IBInstrumentationSpec::d_meter_idx
private

◆ d_node_idx

int IBAMR::IBInstrumentationSpec::d_node_idx
private

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