IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | Protected Attributes | 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. More...

#include </home/runner/work/IBAMR/IBAMR/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 void setTimeInterval (double current_time, double new_time)
 Set the time interval in which Brinkman velocity is computed.
 
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.
 
virtual void demarcateBrinkmanZone (int u_idx, double time, int cycle_num)=0
 Demarcate the Brinkman penalization zone with Brinkman penalty term.
 
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.
 
void putToDatabase (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) override
 Write out object state to the given database. More...
 
const std::stringgetName () const
 
double getBrinkmanCoefficient () const
 
double getBrinkmanPenaltyFactor () const
 
std::pair< double, double > getCurrentTimeInterval () 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
 

Detailed Description

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

Member Function Documentation

◆ postprocessComputeBrinkmanPenalization()

void IBAMR::BrinkmanPenalizationStrategy::postprocessComputeBrinkmanPenalization ( double  current_time,
double  new_time,
int  num_cycles 
)
virtual

Postprocess routine after computing Brinkman penalization related terms.

Note
An empty implementation is provided by default.

Reimplemented in IBAMR::CarmanKozenyDragForce.

◆ preprocessComputeBrinkmanPenalization()

void IBAMR::BrinkmanPenalizationStrategy::preprocessComputeBrinkmanPenalization ( double  current_time,
double  new_time,
int  num_cycles 
)
virtual

Preprocess routine before computing Brinkman penalization related terms.

Note
An empty implementation is provided by default.

Reimplemented in IBAMR::CarmanKozenyDragForce.

◆ putToDatabase()

void IBAMR::BrinkmanPenalizationStrategy::putToDatabase ( SAMRAI::tbox::Pointer< SAMRAI::tbox::Database db)
overridevirtual

Write out object state to the given database.

Note
An empty default implementation is provided.

Implements SAMRAI::tbox::Serializable.

Reimplemented in IBAMR::CarmanKozenyDragForce.

◆ setBrinkmanCoefficient()

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

Set the Brinkman penalization coefficient.

Deprecated:
Use setBrinkmanPenaltyFactor() instead.

Member Data Documentation

◆ d_object_name

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

Book-keeping.


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