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

Class IBRodForceSpec encapsulates the data necessary to compute the forces generated by a network of Kirchhoff rods at a single node of the Lagrangian mesh. More...

#include </home/runner/work/IBAMR/IBAMR/include/ibamr/IBRodForceSpec.h>

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

Public Member Functions

 IBRodForceSpec (unsigned int num_rods=0)
 Default constructor.
 
 IBRodForceSpec (int master_idx, const std::vector< int > &next_idxs, const std::vector< std::array< double, NUM_MATERIAL_PARAMS > > &material_params)
 Alternate constructor.
 
 ~IBRodForceSpec ()
 Destructor.
 
unsigned int getNumberOfRods () const
 
const int & getMasterNodeIndex () const
 
int & getMasterNodeIndex ()
 
const std::vector< int > & getNextNodeIndices () const
 
std::vector< int > & getNextNodeIndices ()
 
const std::vector< std::array< double, NUM_MATERIAL_PARAMS > > & getMaterialParams () const
 
std::vector< std::array< double, NUM_MATERIAL_PARAMS > > & getMaterialParams ()
 
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.
 
size_t getDataStreamSize () const override
 Return an upper bound on the amount of space required to pack the object to a buffer.
 
void packStream (SAMRAI::tbox::AbstractStream &stream) override
 Pack data into the output stream.
 
- Public Member Functions inherited from IBTK::Streamable
 Streamable ()=default
 Default empty constructor.
 
virtual ~Streamable ()=default
 Virtual destructor.
 
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 IBRodForceSpec objects are created. More...
 
static bool getIsRegisteredWithStreamableManager ()
 Returns a boolean indicating whether the class has been registered with the singleton IBTK::StreamableManager object.
 

Static Public Attributes

static const int NUM_MATERIAL_PARAMS = 10
 
static int STREAMABLE_CLASS_ID = StreamableManager::getUnregisteredID()
 

Detailed Description

Class IBRodForceSpec encapsulates the data necessary to compute the forces generated by a network of Kirchhoff rods at a single node of the Lagrangian mesh.

Member Function Documentation

◆ getMasterNodeIndex() [1/2]

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

◆ getMasterNodeIndex() [2/2]

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

◆ getMaterialParams() [1/2]

std::vector< std::array< double, IBRodForceSpec::NUM_MATERIAL_PARAMS > > & IBAMR::IBRodForceSpec::getMaterialParams ( )
inline
Returns
A non-const reference to the material parameters of the rods attached to the master node.

◆ getMaterialParams() [2/2]

const std::vector< std::array< double, IBRodForceSpec::NUM_MATERIAL_PARAMS > > & IBAMR::IBRodForceSpec::getMaterialParams ( ) const
inline
Returns
A const reference to the material parameters of the rods attached to the master node.

◆ getNextNodeIndices() [1/2]

std::vector< int > & IBAMR::IBRodForceSpec::getNextNodeIndices ( )
inline
Returns
A non-const reference to the next node indices for the rods attached to the master node.

◆ getNextNodeIndices() [2/2]

const std::vector< int > & IBAMR::IBRodForceSpec::getNextNodeIndices ( ) const
inline
Returns
A const reference to the next node indices for the rods attached to the master node.

◆ getNumberOfRods()

unsigned int IBAMR::IBRodForceSpec::getNumberOfRods ( ) const
inline
Returns
The number of rods attached to the master node.

◆ registerWithStreamableManager()

void IBAMR::IBRodForceSpec::registerWithStreamableManager ( )
static

Register this class and its factory class with the singleton IBTK::StreamableManager object. This method must be called before any IBRodForceSpec objects are created.

Note
This method is collective on all MPI processes. This is done to ensure that all processes employ the same class ID for the IBRodForceSpec class.

Member Data Documentation

◆ STREAMABLE_CLASS_ID

int IBAMR::IBRodForceSpec::STREAMABLE_CLASS_ID = StreamableManager::getUnregisteredID()
static

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


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