IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | List of all members
IBTK::LInitStrategy Class Referenceabstract

Class LInitStrategy provides a mechanism for specifying the initial configuration of the curvilinear mesh. More...

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

Inheritance diagram for IBTK::LInitStrategy:
Inheritance graph
[legend]

Public Member Functions

 LInitStrategy ()=default
 Default constructor.
 
virtual ~LInitStrategy ()=default
 Destructor.
 
virtual bool getLevelHasLagrangianData (int level_number, bool can_be_refined) const =0
 
virtual bool getIsAllLagrangianDataInDomain (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy) const =0
 
virtual unsigned int computeGlobalNodeCountOnPatchLevel (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time)=0
 
virtual unsigned int computeLocalNodeCountOnPatchLevel (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time)=0
 
virtual void init ()
 Initialize structure specific configurations. More...
 
virtual void initializeStructureIndexingOnPatchLevel (std::map< int, std::string > &strct_id_to_strct_name_map, std::map< int, std::pair< int, int > > &strct_id_to_lag_idx_range_map, int level_number, double init_data_time, bool can_be_refined, bool initial_time, LDataManager *l_data_manager)
 Initialize the structure indexing information on the patch level. More...
 
virtual unsigned int initializeDataOnPatchLevel (int lag_node_index_idx, unsigned int global_index_offset, unsigned int local_index_offset, SAMRAI::tbox::Pointer< LData > X_data, SAMRAI::tbox::Pointer< LData > U_data, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time, LDataManager *l_data_manager)=0
 Initialize the LNode and LData data needed to specify the configuration of the curvilinear mesh on the patch level. More...
 
virtual unsigned int initializeMassDataOnPatchLevel (unsigned int global_index_offset, unsigned int local_index_offset, SAMRAI::tbox::Pointer< LData > M_data, SAMRAI::tbox::Pointer< LData > K_data, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time, LDataManager *l_data_manager)
 Initialize the LData needed to specify the mass and spring constant data required by the penalty IB method. More...
 
virtual unsigned int initializeDirectorDataOnPatchLevel (unsigned int global_index_offset, unsigned int local_index_offset, SAMRAI::tbox::Pointer< LData > D_data, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time, LDataManager *l_data_manager)
 Initialize the LData needed to specify director vectors required by some material models. More...
 
virtual void tagCellsForInitialRefinement (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double error_data_time, int tag_index)
 Provide cell tagging for the initial configuration of the Lagrangian mesh. More...
 

Detailed Description

Class LInitStrategy provides a mechanism for specifying the initial configuration of the curvilinear mesh.

Member Function Documentation

◆ computeGlobalNodeCountOnPatchLevel()

virtual unsigned int IBTK::LInitStrategy::computeGlobalNodeCountOnPatchLevel ( SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  init_data_time,
bool  can_be_refined,
bool  initial_time 
)
pure virtual
Returns
The number of global nodes on the patch level.

Implemented in IBAMR::IBRedundantInitializer.

◆ computeLocalNodeCountOnPatchLevel()

virtual unsigned int IBTK::LInitStrategy::computeLocalNodeCountOnPatchLevel ( SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  init_data_time,
bool  can_be_refined,
bool  initial_time 
)
pure virtual
Returns
The number of local nodes on the patch level.

Implemented in IBAMR::IBRedundantInitializer.

◆ getIsAllLagrangianDataInDomain()

virtual bool IBTK::LInitStrategy::getIsAllLagrangianDataInDomain ( SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy) const
pure virtual
Returns
A boolean value indicating whether or not all Lagrangian data is within the computational domain specified by the patch hierarchy.

Implemented in IBAMR::IBRedundantInitializer.

◆ getLevelHasLagrangianData()

virtual bool IBTK::LInitStrategy::getLevelHasLagrangianData ( int  level_number,
bool  can_be_refined 
) const
pure virtual
Returns
A boolean value indicating whether Lagrangian data is associated with the given level in the patch hierarchy.

Implemented in IBAMR::IBRedundantInitializer.

◆ init()

virtual void IBTK::LInitStrategy::init ( )
inlinevirtual

Initialize structure specific configurations.

Note
A default empty implementation is provided.

Reimplemented in IBAMR::IBStandardInitializer, and IBAMR::IBRedundantInitializer.

◆ initializeDataOnPatchLevel()

virtual unsigned int IBTK::LInitStrategy::initializeDataOnPatchLevel ( int  lag_node_index_idx,
unsigned int  global_index_offset,
unsigned int  local_index_offset,
SAMRAI::tbox::Pointer< LData X_data,
SAMRAI::tbox::Pointer< LData U_data,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  init_data_time,
bool  can_be_refined,
bool  initial_time,
LDataManager l_data_manager 
)
pure virtual

Initialize the LNode and LData data needed to specify the configuration of the curvilinear mesh on the patch level.

Returns
The number of local nodes initialized on the patch level.

Implemented in IBAMR::IBRedundantInitializer.

◆ initializeDirectorDataOnPatchLevel()

unsigned int IBTK::LInitStrategy::initializeDirectorDataOnPatchLevel ( unsigned int  global_index_offset,
unsigned int  local_index_offset,
SAMRAI::tbox::Pointer< LData D_data,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  init_data_time,
bool  can_be_refined,
bool  initial_time,
LDataManager l_data_manager 
)
virtual

Initialize the LData needed to specify director vectors required by some material models.

Returns
The number of local nodes initialized on the patch level.
Note
A default empty implementation is provided when support for directors is not required.

Reimplemented in IBAMR::IBRedundantInitializer.

◆ initializeMassDataOnPatchLevel()

unsigned int IBTK::LInitStrategy::initializeMassDataOnPatchLevel ( unsigned int  global_index_offset,
unsigned int  local_index_offset,
SAMRAI::tbox::Pointer< LData M_data,
SAMRAI::tbox::Pointer< LData K_data,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  init_data_time,
bool  can_be_refined,
bool  initial_time,
LDataManager l_data_manager 
)
virtual

Initialize the LData needed to specify the mass and spring constant data required by the penalty IB method.

Returns
The number of local nodes initialized on the patch level.
Note
A default empty implementation is provided when support for massive boundaries is not required.

Reimplemented in IBAMR::IBRedundantInitializer.

◆ initializeStructureIndexingOnPatchLevel()

void IBTK::LInitStrategy::initializeStructureIndexingOnPatchLevel ( std::map< int, std::string > &  strct_id_to_strct_name_map,
std::map< int, std::pair< int, int > > &  strct_id_to_lag_idx_range_map,
int  level_number,
double  init_data_time,
bool  can_be_refined,
bool  initial_time,
LDataManager l_data_manager 
)
virtual

Initialize the structure indexing information on the patch level.

Note
A default empty implementation is provided.

Reimplemented in IBAMR::IBRedundantInitializer.

◆ tagCellsForInitialRefinement()

void IBTK::LInitStrategy::tagCellsForInitialRefinement ( SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  error_data_time,
int  tag_index 
)
virtual

Provide cell tagging for the initial configuration of the Lagrangian mesh.

When the patch hierarchy is being constructed at the initial simulation time, it is necessary that the gridding algorithm be instructed where to place local refinement in order to accommodate portions of the curvilinear mesh that will reside in the yet-to-be-constructed level(s) of the patch hierarchy.

Note
A default empty implementation is provided when support for local mesh refinement is not required.

Reimplemented in IBAMR::IBRedundantInitializer.


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