IBAMR  IBAMR version 0.19.
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private 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.

#include <ibamr/IBRodForceSpec.h>

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

Classes

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

Public Member Functions

 IBRodForceSpec (unsigned int num_rods=0)
 Default constructor. More...
 
 IBRodForceSpec (int master_idx, const std::vector< int > &next_idxs, const std::vector< std::array< double, NUM_MATERIAL_PARAMS > > &material_params)
 Alternate constructor. More...
 
 ~IBRodForceSpec ()
 Destructor. More...
 
unsigned int getNumberOfRods () const
 
const intgetMasterNodeIndex () const
 
intgetMasterNodeIndex ()
 
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. 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 IBRodForceSpec 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 Public Attributes

static const int NUM_MATERIAL_PARAMS = 10
 
static int STREAMABLE_CLASS_ID
 

Private Types

using IBRodForceSpecFactory = IBRodForceSpec::Factory
 

Private Member Functions

 IBRodForceSpec (const IBRodForceSpec &from)=delete
 Copy constructor. More...
 
IBRodForceSpecoperator= (const IBRodForceSpec &that)=delete
 Assignment operator. More...
 

Private Attributes

int d_master_idx = IBTK::invalid_index
 
std::vector< intd_next_idxs
 
std::vector< std::array< double, NUM_MATERIAL_PARAMS > > d_material_params
 

Member Typedef Documentation

◆ IBRodForceSpecFactory

Constructor & Destructor Documentation

◆ IBRodForceSpec() [1/3]

IBAMR::IBRodForceSpec::IBRodForceSpec ( unsigned int  num_rods = 0)
inline

◆ IBRodForceSpec() [2/3]

IBAMR::IBRodForceSpec::IBRodForceSpec ( int  master_idx,
const std::vector< int > &  next_idxs,
const std::vector< std::array< double, NUM_MATERIAL_PARAMS > > &  material_params 
)

◆ ~IBRodForceSpec()

IBAMR::IBRodForceSpec::~IBRodForceSpec ( )
inline

◆ IBRodForceSpec() [3/3]

IBAMR::IBRodForceSpec::IBRodForceSpec ( const IBRodForceSpec 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::IBRodForceSpec::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 IBRodForceSpec class.

◆ getIsRegisteredWithStreamableManager()

bool IBAMR::IBRodForceSpec::getIsRegisteredWithStreamableManager ( )
inlinestatic

◆ getNumberOfRods()

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

◆ getMasterNodeIndex() [1/2]

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

◆ getMasterNodeIndex() [2/2]

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

◆ getNextNodeIndices() [1/2]

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.

◆ getNextNodeIndices() [2/2]

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

◆ getMaterialParams() [1/2]

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.

◆ getMaterialParams() [2/2]

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

◆ getStreamableClassID()

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

Implements IBTK::Streamable.

◆ getDataStreamSize()

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

Implements IBTK::Streamable.

◆ packStream()

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

Implements IBTK::Streamable.

◆ operator=()

IBRodForceSpec& IBAMR::IBRodForceSpec::operator= ( const IBRodForceSpec 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

◆ NUM_MATERIAL_PARAMS

const int IBAMR::IBRodForceSpec::NUM_MATERIAL_PARAMS = 10
static

◆ STREAMABLE_CLASS_ID

int IBAMR::IBRodForceSpec::STREAMABLE_CLASS_ID
static

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

◆ d_master_idx

int IBAMR::IBRodForceSpec::d_master_idx = IBTK::invalid_index
private

Data required to define the spring forces.

◆ d_next_idxs

std::vector<int> IBAMR::IBRodForceSpec::d_next_idxs
private

◆ d_material_params

std::vector<std::array<double, NUM_MATERIAL_PARAMS> > IBAMR::IBRodForceSpec::d_material_params
private

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