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

Class IBLagrangianForceStrategy provides a generic interface for specifying the positions and magnitudes of distributed internal fluid source-sinks.

#include <ibamr/IBLagrangianSourceStrategy.h>

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

Public Member Functions

 IBLagrangianSourceStrategy ()=default
 Default constructor. More...
 
virtual ~IBLagrangianSourceStrategy ()=default
 Virtual destructor. More...
 
virtual void setTimeInterval (double current_time, double new_time)
 Set the current and new times for the present timestep. More...
 
virtual void initializeLevelData (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool initial_time, IBTK::LDataManager *l_data_manager)
 Setup the data needed to compute source/sink data on the specified level of the patch hierarchy. More...
 
virtual unsigned int getNumSources (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double data_time, IBTK::LDataManager *l_data_manager)=0
 Specify the number of distributed internal sources or sinks. More...
 
virtual void getSourceLocations (std::vector< IBTK::Point > &X_src, std::vector< double > &r_src, SAMRAI::tbox::Pointer< IBTK::LData > X_data, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double data_time, IBTK::LDataManager *l_data_manager)=0
 Compute the source locations for each of the distributed internal sources or sinks. More...
 
virtual void setSourcePressures (const std::vector< double > &P_src, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double data_time, IBTK::LDataManager *l_data_manager)=0
 Set the normalized pressures at the sources. More...
 
virtual void computeSourceStrengths (std::vector< double > &Q_src, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double data_time, IBTK::LDataManager *l_data_manager)=0
 Compute the source strengths for each of the distributed internal sources or sinks. More...
 

Private Member Functions

 IBLagrangianSourceStrategy (const IBLagrangianSourceStrategy &from)=delete
 Copy constructor. More...
 
IBLagrangianSourceStrategyoperator= (const IBLagrangianSourceStrategy &that)=delete
 Assignment operator. More...
 

Constructor & Destructor Documentation

◆ IBLagrangianSourceStrategy() [1/2]

IBAMR::IBLagrangianSourceStrategy::IBLagrangianSourceStrategy ( )
default

◆ ~IBLagrangianSourceStrategy()

virtual IBAMR::IBLagrangianSourceStrategy::~IBLagrangianSourceStrategy ( )
virtualdefault

◆ IBLagrangianSourceStrategy() [2/2]

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

Member Function Documentation

◆ setTimeInterval()

virtual void IBAMR::IBLagrangianSourceStrategy::setTimeInterval ( double  current_time,
double  new_time 
)
virtual
Note
A default empty implementation is provided.

◆ initializeLevelData()

virtual void IBAMR::IBLagrangianSourceStrategy::initializeLevelData ( SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  init_data_time,
bool  initial_time,
IBTK::LDataManager l_data_manager 
)
virtual
Note
A default empty implementation is provided.

Reimplemented in IBAMR::IBStandardSourceGen.

◆ getNumSources()

virtual unsigned int IBAMR::IBLagrangianSourceStrategy::getNumSources ( SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  data_time,
IBTK::LDataManager l_data_manager 
)
pure virtual
Note
The return value must be the total number of internal sources/sinks in the entire computational domain. This implies that the return value must be identical on each MPI process.

Implemented in IBAMR::IBStandardSourceGen.

◆ getSourceLocations()

virtual void IBAMR::IBLagrangianSourceStrategy::getSourceLocations ( std::vector< IBTK::Point > &  X_src,
std::vector< double > &  r_src,
SAMRAI::tbox::Pointer< IBTK::LData X_data,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  data_time,
IBTK::LDataManager l_data_manager 
)
pure virtual
Note
Implementations of this method must compute the same values for X_src on each MPI process. That is to say, X_src must provide the location of all of the distributed sources/sinks.

Implemented in IBAMR::IBStandardSourceGen.

◆ setSourcePressures()

virtual void IBAMR::IBLagrangianSourceStrategy::setSourcePressures ( const std::vector< double > &  P_src,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  data_time,
IBTK::LDataManager l_data_manager 
)
pure virtual

Implemented in IBAMR::IBStandardSourceGen.

◆ computeSourceStrengths()

virtual void IBAMR::IBLagrangianSourceStrategy::computeSourceStrengths ( std::vector< double > &  Q_src,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
int  level_number,
double  data_time,
IBTK::LDataManager l_data_manager 
)
pure virtual
Note
Implementations of this method must compute the same values for Q_src on each MPI process. That is to say, Q_src must provide the strengths of all of the distributed sources/sinks.

Implemented in IBAMR::IBStandardSourceGen.

◆ operator=()

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