IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class IBLagrangianForceStrategySet is a utility class that allows multiple IBLagrangianForceStrategy objects to be employed by a single IBHierarchyIntegrator. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/IBLagrangianForceStrategySet.h>
Public Member Functions | |
template<typename InputIterator > | |
IBLagrangianForceStrategySet (InputIterator first, InputIterator last) | |
Constructor. | |
~IBLagrangianForceStrategySet ()=default | |
Destructor. | |
void | setTimeInterval (double current_time, double new_time) override |
Set the current and new times for the present timestep. | |
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) override |
Setup the data needed to compute the forces on the specified level of the patch hierarchy. | |
void | computeLagrangianForce (SAMRAI::tbox::Pointer< IBTK::LData > F_data, 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) override |
Compute the force generated by the Lagrangian structure on the specified level of the patch hierarchy. More... | |
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) override |
Compute the non-zero structure of the force Jacobian matrix. More... | |
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) override |
Compute the Jacobian of the force with respect to the present structure configuration and velocity. More... | |
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) override |
Compute the potential energy with respect to the present structure configuration and velocity. | |
Public Member Functions inherited from IBAMR::IBLagrangianForceStrategy | |
IBLagrangianForceStrategy ()=default | |
Default constructor. | |
virtual | ~IBLagrangianForceStrategy ()=default |
Virtual destructor. | |
Class IBLagrangianForceStrategySet is a utility class that allows multiple IBLagrangianForceStrategy objects to be employed by a single IBHierarchyIntegrator.
|
overridevirtual |
Compute the force generated by the Lagrangian structure on the specified level of the patch hierarchy.
Reimplemented from IBAMR::IBLagrangianForceStrategy.
|
overridevirtual |
Compute the Jacobian of the force with respect to the present structure configuration and velocity.
Reimplemented from IBAMR::IBLagrangianForceStrategy.
|
overridevirtual |
Compute the non-zero structure of the force Jacobian matrix.
Reimplemented from IBAMR::IBLagrangianForceStrategy.