IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | List of all members
IBAMR::WallForceEvaluator Class Reference
Inheritance diagram for IBAMR::WallForceEvaluator:
Inheritance graph
[legend]

Public Member Functions

 WallForceEvaluator (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, SAMRAI::tbox::Pointer< SAMRAI::geom::CartesianGridGeometry< NDIM > > grid_geometry)
 
void registerWallForceFcn (Wall::WallForceFcnPtr wall_force_fcn)
 
void addWall (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > wall_db, double wall_ghost_dist)
 
void computeLagrangianForce (SAMRAI::tbox::Pointer< IBTK::LData > F_data, SAMRAI::tbox::Pointer< IBTK::LData > X_data, SAMRAI::tbox::Pointer< IBTK::LData > U_data, const SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, const int level_number, const double data_time, IBTK::LDataManager *const l_data_manager) override
 Compute the curvilinear force generated by the given configuration of the curvilinear mesh. More...
 
- Public Member Functions inherited from IBAMR::IBLagrangianForceStrategy
 IBLagrangianForceStrategy ()=default
 Default constructor.
 
virtual ~IBLagrangianForceStrategy ()=default
 Virtual destructor.
 
virtual void setTimeInterval (double current_time, double new_time)
 Set the current and new times for the present timestep. More...
 
virtual void initializeLevelData (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool initial_time, IBTK::LDataManager *l_data_manager)
 Setup the data needed to compute the curvilinear force on the specified level of the patch hierarchy. More...
 
virtual void computeLagrangianForceJacobianNonzeroStructure (std::vector< int > &d_nnz, std::vector< int > &o_nnz, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, IBTK::LDataManager *l_data_manager)
 Compute the non-zero structure of the force Jacobian matrix. More...
 
virtual void computeLagrangianForceJacobian (Mat &J_mat, MatAssemblyType assembly_type, double X_coef, SAMRAI::tbox::Pointer< IBTK::LData > X_data, double U_coef, SAMRAI::tbox::Pointer< IBTK::LData > U_data, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double data_time, IBTK::LDataManager *l_data_manager)
 Compute the Jacobian of the force with respect to the present structure configuration and velocity. More...
 
virtual double computeLagrangianEnergy (SAMRAI::tbox::Pointer< IBTK::LData > X_data, SAMRAI::tbox::Pointer< IBTK::LData > U_data, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, int level_number, double data_time, IBTK::LDataManager *l_data_manager)
 Compute the potential energy with respect to the present structure configuration and velocity. More...
 

Member Function Documentation

◆ computeLagrangianForce()

void IBAMR::WallForceEvaluator::computeLagrangianForce ( SAMRAI::tbox::Pointer< IBTK::LData F_data,
SAMRAI::tbox::Pointer< IBTK::LData X_data,
SAMRAI::tbox::Pointer< IBTK::LData U_data,
const SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
const int  level_number,
const double  data_time,
IBTK::LDataManager *const  l_data_manager 
)
overridevirtual

Compute the curvilinear force generated by the given configuration of the curvilinear mesh.

Note
Nodal forces computed by implementations of this method must be added to the force vector.
A default implementation is provided that results in an assertion failure.

Reimplemented from IBAMR::IBLagrangianForceStrategy.


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