IBAMR  IBAMR version 0.19.
Public Member Functions | Private Member Functions | List of all members
IBTK::LInitStrategy Class Referenceabstract

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

#include <ibtk/LInitStrategy.h>

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

Public Member Functions

 LInitStrategy ()=default
 Default constructor. More...
 
virtual ~LInitStrategy ()=default
 Destructor. More...
 
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...
 

Private Member Functions

 LInitStrategy (const LInitStrategy &from)=delete
 Copy constructor. More...
 
LInitStrategyoperator= (const LInitStrategy &that)=delete
 Assignment operator. More...
 

Constructor & Destructor Documentation

◆ LInitStrategy() [1/2]

IBTK::LInitStrategy::LInitStrategy ( )
default

◆ ~LInitStrategy()

virtual IBTK::LInitStrategy::~LInitStrategy ( )
virtualdefault

◆ LInitStrategy() [2/2]

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

Member Function Documentation

◆ 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::IMPInitializer, and 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::IMPInitializer, and IBAMR::IBRedundantInitializer.

◆ 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::IMPInitializer, and 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::IMPInitializer, and IBAMR::IBRedundantInitializer.

◆ init()

virtual void IBTK::LInitStrategy::init ( )
inlinevirtual
Note
A default empty implementation is provided.

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

◆ initializeStructureIndexingOnPatchLevel()

virtual 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
Note
A default empty implementation is provided.

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

◆ 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
Returns
The number of local nodes initialized on the patch level.

Implemented in IBAMR::IBRedundantInitializer, and IBAMR::IMPInitializer.

◆ initializeMassDataOnPatchLevel()

virtual 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
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.

◆ initializeDirectorDataOnPatchLevel()

virtual 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
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.

◆ tagCellsForInitialRefinement()

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

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, and IBAMR::IMPInitializer.

◆ operator=()

LInitStrategy& IBTK::LInitStrategy::operator= ( const LInitStrategy 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.

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