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

BrinkmanPenalizationStrategy is an abstract class that provides an interface to implement Brinkman penalization body force in the momentum equation.

#include <ibamr/BrinkmanPenalizationStrategy.h>

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

Public Member Functions

 BrinkmanPenalizationStrategy (std::string object_name, bool register_for_restart=true)
 
virtual ~BrinkmanPenalizationStrategy ()
 
virtual void setTimeInterval (double current_time, double new_time)
 Set the time interval in which Brinkman velocity is computed. More...
 
virtual void preprocessComputeBrinkmanPenalization (double current_time, double new_time, int num_cycles)
 Preprocess routine before computing Brinkman penalization related terms. More...
 
virtual void computeBrinkmanVelocity (int u_idx, double time, int cycle_num)=0
 Compute the Brinkman penalized velocity term. More...
 
virtual void demarcateBrinkmanZone (int u_idx, double time, int cycle_num)=0
 Demarcate the Brinkman penalization zone with Brinkman penalty term. More...
 
virtual void postprocessComputeBrinkmanPenalization (double current_time, double new_time, int num_cycles)
 Postprocess routine after computing Brinkman penalization related terms. More...
 
virtual void setBrinkmanCoefficient (double chi)
 Set the Brinkman penalization coefficient. More...
 
virtual void setBrinkmanPenaltyFactor (double penalty_factor)
 Set Brinkman penalization penalty factor. More...
 
void putToDatabase (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) override
 Write out object state to the given database. More...
 
const std::string & getName () const
 
double getBrinkmanCoefficient () const
 
double getBrinkmanPenaltyFactor () const
 
std::pair< double, doublegetCurrentTimeInterval () const
 

Protected Attributes

std::string d_object_name
 
bool d_registered_for_restart
 
double d_current_time = std::numeric_limits<double>::quiet_NaN()
 
double d_new_time = std::numeric_limits<double>::quiet_NaN()
 
double d_penalty_factor = 1.0
 
bool d_use_rho_scale = true
 
bool d_use_mu_scale = false
 

Private Member Functions

 BrinkmanPenalizationStrategy (const BrinkmanPenalizationStrategy &from)=delete
 Copy constructor. More...
 
BrinkmanPenalizationStrategyoperator= (const BrinkmanPenalizationStrategy &that)=delete
 Assignment operator. More...
 

Constructor & Destructor Documentation

◆ BrinkmanPenalizationStrategy() [1/2]

IBAMR::BrinkmanPenalizationStrategy::BrinkmanPenalizationStrategy ( std::string  object_name,
bool  register_for_restart = true 
)

◆ ~BrinkmanPenalizationStrategy()

virtual IBAMR::BrinkmanPenalizationStrategy::~BrinkmanPenalizationStrategy ( )
virtual

◆ BrinkmanPenalizationStrategy() [2/2]

IBAMR::BrinkmanPenalizationStrategy::BrinkmanPenalizationStrategy ( const BrinkmanPenalizationStrategy 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::BrinkmanPenalizationStrategy::setTimeInterval ( double  current_time,
double  new_time 
)
virtual

◆ preprocessComputeBrinkmanPenalization()

virtual void IBAMR::BrinkmanPenalizationStrategy::preprocessComputeBrinkmanPenalization ( double  current_time,
double  new_time,
int  num_cycles 
)
virtual
Note
An empty implementation is provided by default.

Reimplemented in IBAMR::CarmanKozenyDragForce.

◆ computeBrinkmanVelocity()

virtual void IBAMR::BrinkmanPenalizationStrategy::computeBrinkmanVelocity ( int  u_idx,
double  time,
int  cycle_num 
)
pure virtual

◆ demarcateBrinkmanZone()

virtual void IBAMR::BrinkmanPenalizationStrategy::demarcateBrinkmanZone ( int  u_idx,
double  time,
int  cycle_num 
)
pure virtual

◆ postprocessComputeBrinkmanPenalization()

virtual void IBAMR::BrinkmanPenalizationStrategy::postprocessComputeBrinkmanPenalization ( double  current_time,
double  new_time,
int  num_cycles 
)
virtual
Note
An empty implementation is provided by default.

Reimplemented in IBAMR::CarmanKozenyDragForce.

◆ setBrinkmanCoefficient()

virtual void IBAMR::BrinkmanPenalizationStrategy::setBrinkmanCoefficient ( double  chi)
virtual

◆ setBrinkmanPenaltyFactor()

virtual void IBAMR::BrinkmanPenalizationStrategy::setBrinkmanPenaltyFactor ( double  penalty_factor)
virtual

◆ putToDatabase()

void IBAMR::BrinkmanPenalizationStrategy::putToDatabase ( SAMRAI::tbox::Pointer< SAMRAI::tbox::Database db)
overridevirtual
Note
An empty default implementation is provided.

Implements SAMRAI::tbox::Serializable.

Reimplemented in IBAMR::CarmanKozenyDragForce.

◆ getName()

const std::string& IBAMR::BrinkmanPenalizationStrategy::getName ( ) const
inline

◆ getBrinkmanCoefficient()

double IBAMR::BrinkmanPenalizationStrategy::getBrinkmanCoefficient ( ) const
inline

◆ getBrinkmanPenaltyFactor()

double IBAMR::BrinkmanPenalizationStrategy::getBrinkmanPenaltyFactor ( ) const
inline

◆ getCurrentTimeInterval()

std::pair<double, double> IBAMR::BrinkmanPenalizationStrategy::getCurrentTimeInterval ( ) const
inline

◆ operator=()

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

Member Data Documentation

◆ d_object_name

std::string IBAMR::BrinkmanPenalizationStrategy::d_object_name
protected

Book-keeping.

◆ d_registered_for_restart

bool IBAMR::BrinkmanPenalizationStrategy::d_registered_for_restart
protected

◆ d_current_time

double IBAMR::BrinkmanPenalizationStrategy::d_current_time = std::numeric_limits<double>::quiet_NaN()
protected

◆ d_new_time

double IBAMR::BrinkmanPenalizationStrategy::d_new_time = std::numeric_limits<double>::quiet_NaN()
protected

◆ d_penalty_factor

double IBAMR::BrinkmanPenalizationStrategy::d_penalty_factor = 1.0
protected

◆ d_use_rho_scale

bool IBAMR::BrinkmanPenalizationStrategy::d_use_rho_scale = true
protected

◆ d_use_mu_scale

bool IBAMR::BrinkmanPenalizationStrategy::d_use_mu_scale = false
protected

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