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

Class IBHydrodynamicSurfaceForceEvaluator computes hydrodynamic force on immersed bodies. The class uses a level set indicator for the solid body to add up surface forces in the cells adjacent to the immersed structure. More...

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

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

Public Member Functions

 IBHydrodynamicSurfaceForceEvaluator (std::string object_name, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > ls_solid_var, SAMRAI::tbox::Pointer< IBAMR::AdvDiffHierarchyIntegrator > adv_diff_solver, SAMRAI::tbox::Pointer< IBAMR::INSHierarchyIntegrator > fluid_solver, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db=NULL)
 Default constructor.
 
virtual ~IBHydrodynamicSurfaceForceEvaluator ()
 Virtual destructor.
 
virtual void computeHydrodynamicForceTorque (IBTK::Vector3d &pressure_force, IBTK::Vector3d &viscous_force, IBTK::Vector3d &pressure_torque, IBTK::Vector3d &viscous_torque, const IBTK::Vector3d &X0)
 Compute the hydrodynamic force via surface integration after all the hierarchy variables have been integrated. More...
 
virtual void computeHydrodynamicForceTorque (IBTK::Vector3d &pressure_force, IBTK::Vector3d &viscous_force, IBTK::Vector3d &pressure_torque, IBTK::Vector3d &viscous_torque, const IBTK::Vector3d &X0, double time, double current_time, double new_time)
 Compute the hydrodynamic force via surface integration while the integration of variables is happening during a given timestep. More...
 
virtual void setSurfaceContourLevel (double s=0)
 Set the surface contour value s < > of the level set field, such that $ \phi(s) = \partial \Omega $.
 
void writeToFile (bool write_to_file=true)
 Indicate if the force and torque results need to be written on a file.
 

Detailed Description

Class IBHydrodynamicSurfaceForceEvaluator computes hydrodynamic force on immersed bodies. The class uses a level set indicator for the solid body to add up surface forces in the cells adjacent to the immersed structure.

References Patel, J,K. and Natarajan, G., Diffuse interface immersed boundary method for multi-fluid flows with arbitrarily moving rigid bodies.

Note
This class will work with both the constant and variable viscosity

Member Function Documentation

◆ computeHydrodynamicForceTorque() [1/2]

void IBAMR::IBHydrodynamicSurfaceForceEvaluator::computeHydrodynamicForceTorque ( IBTK::Vector3d &  pressure_force,
IBTK::Vector3d &  viscous_force,
IBTK::Vector3d &  pressure_torque,
IBTK::Vector3d &  viscous_torque,
const IBTK::Vector3d &  X0 
)
virtual

Compute the hydrodynamic force via surface integration after all the hierarchy variables have been integrated.

Note
The users should call this routine if the hydrodynamic forces need to be computed just as a postprocessing step.
This function uses 3D vectors even in 2D so that the torque makes sense.

◆ computeHydrodynamicForceTorque() [2/2]

void IBAMR::IBHydrodynamicSurfaceForceEvaluator::computeHydrodynamicForceTorque ( IBTK::Vector3d &  pressure_force,
IBTK::Vector3d &  viscous_force,
IBTK::Vector3d &  pressure_torque,
IBTK::Vector3d &  viscous_torque,
const IBTK::Vector3d &  X0,
double  time,
double  current_time,
double  new_time 
)
virtual

Compute the hydrodynamic force via surface integration while the integration of variables is happening during a given timestep.

Note
This function uses 3D vectors even in 2D so that the torque makes sense.

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