IBAMR  IBAMR version 0.19.
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 intgetMasterNodeIndex () const
 
intgetMasterNodeIndex ()
 
const intgetMeterIndex () const
 
intgetMeterIndex ()
 
const intgetNodeIndex () const
 
intgetNodeIndex ()
 
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]

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

◆ getMasterNodeIndex() [2/2]

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

◆ getMeterIndex() [1/2]

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 ( )
Returns
A non-const reference to the meter index associated with the master node.

◆ getNodeIndex() [1/2]

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 ( )
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: