IBAMR  IBAMR version 0.19.
Public Member Functions | Private Attributes | 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 <ibamr/CFStrategy.h>

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

Public Member Functions

 CFStrategy (std::string object_name)
 This constructor does nothing interesting. More...
 
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...
 

Private Attributes

std::string d_object_name
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ CFStrategy()

IBAMR::CFStrategy::CFStrategy ( std::string  object_name)

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

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

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.

Member Data Documentation

◆ d_object_name

std::string IBAMR::CFStrategy::d_object_name
private

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