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 <ibamr/IBHydrodynamicSurfaceForceEvaluator.h>
|
| | 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=nullptr) |
| | Default constructor. More...
|
| |
| virtual | ~IBHydrodynamicSurfaceForceEvaluator () |
| | Virtual destructor. More...
|
| |
| 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 \). More...
|
| |
| void | writeToFile (bool write_to_file=true) |
| | Indicate if the force and torque results need to be written on a file. More...
|
| |
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
◆ IBHydrodynamicSurfaceForceEvaluator() [1/2]
◆ ~IBHydrodynamicSurfaceForceEvaluator()
| virtual IBAMR::IBHydrodynamicSurfaceForceEvaluator::~IBHydrodynamicSurfaceForceEvaluator |
( |
| ) |
|
|
virtual |
◆ IBHydrodynamicSurfaceForceEvaluator() [2/2]
- Note
- This constructor is not implemented and should not be used.
- Parameters
-
| from | The value to copy to this object. |
◆ computeHydrodynamicForceTorque() [1/2]
- 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]
- Note
- This function uses 3D vectors even in 2D so that the torque makes sense.
◆ setSurfaceContourLevel()
| virtual void IBAMR::IBHydrodynamicSurfaceForceEvaluator::setSurfaceContourLevel |
( |
double |
s = 0 | ) |
|
|
virtual |
◆ writeToFile()
| void IBAMR::IBHydrodynamicSurfaceForceEvaluator::writeToFile |
( |
bool |
write_to_file = true | ) |
|
◆ operator=()
- Note
- This operator is not implemented and should not be used.
- Parameters
-
| that | The value to assign to this object. |
- Returns
- A reference to this object.
◆ getFromInput()
Read input values from a given database.
◆ fillPatchData()
Fill required patch data and ghost cells.
◆ d_object_name
| std::string IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_object_name |
|
private |
◆ d_ls_solid_var
◆ d_adv_diff_solver
◆ d_fluid_solver
◆ d_ls_solid_idx
◆ d_u_idx
◆ d_p_idx
◆ d_mu_idx
◆ d_mu
| double IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_mu = std::numeric_limits<double>::quiet_NaN() |
|
private |
◆ d_mu_is_const
| bool IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_mu_is_const |
|
private |
◆ d_surface_contour_value
| double IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_surface_contour_value = 0.0 |
|
private |
◆ d_write_to_file
| bool IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_write_to_file = false |
|
private |
◆ d_hydro_force_stream
| std::unique_ptr<std::ofstream> IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_hydro_force_stream = nullptr |
|
private |
- Note
- Columns 1-3 represent sum of -p.n dA. Columns 4-6 represent sum of n.(grad U + grad U^T) dA.
◆ d_hydro_torque_stream
| std::unique_ptr<std::ofstream> IBAMR::IBHydrodynamicSurfaceForceEvaluator::d_hydro_torque_stream = nullptr |
|
private |
- Note
- Columns 1-3 represent sum of r X -p.n dA. Columns 4-6 represent sum of r x n.(grad U + grad U^T) dA.
The documentation for this class was generated from the following file: