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

Class CFStrategy is an abstract class that provides an interface for specifying the details of a complex fluid model. More...

#include </home/runner/work/IBAMR/IBAMR/include/ibamr/CFStrategy.h>

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

Public Member Functions

 CFStrategy (std::string object_name)
 This constructor does nothing interesting.
 
virtual void computeRelaxation (int R_idx, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > R_var, int C_idx, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > C_var, TensorEvolutionType evolve_type, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, double data_time)=0
 Compute the action of the relaxation operator, given the conformation tensor. More...
 
virtual void computeStress (int sig_idx, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > sig_var, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, double data_time)=0
 Convert the conformation tensor to the stress tensor. More...
 

Detailed Description

Class CFStrategy is an abstract class that provides an interface for specifying the details of a complex fluid model.

Derived classes must implement the computeRelaxation and computeStress functions.

The patch data index specifying either the conformation tensor or the square root or logarithm of the conformation tensor is given to the class. The function setDataOnPatchHierarchy is called by the advection diffusion integrator and expects the relaxation tensor.

Member Function Documentation

◆ computeRelaxation()

virtual void IBAMR::CFStrategy::computeRelaxation ( int  R_idx,
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >  R_var,
int  C_idx,
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >  C_var,
TensorEvolutionType  evolve_type,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
double  data_time 
)
pure virtual

Compute the action of the relaxation operator, given the conformation tensor.

The parameter evolve_type determines the form of the tensor provided in C_idx. A helper function to convert from the data stored in C_idx to the conformation tensor is provided by convert_to_conformation_tensor.

The symmetric tensor in patch data index C_idx is stored using Voigt notation.

Implemented in IBAMR::CFRoliePolyStrategy, IBAMR::CFOldroydBStrategy, and IBAMR::CFGiesekusStrategy.

◆ computeStress()

virtual void IBAMR::CFStrategy::computeStress ( int  sig_idx,
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >  sig_var,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
double  data_time 
)
pure virtual

Convert the conformation tensor to the stress tensor.

This conversion should be done in-place. The conformation tensor is provided in the patch index sig_idx with ghost cells filled. Implementations of this function MUST provide correct ghost cell information in sig_idx.

Implemented in IBAMR::CFRoliePolyStrategy, IBAMR::CFOldroydBStrategy, and IBAMR::CFGiesekusStrategy.


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