IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class IBLagrangianForceStrategy provides a generic interface for specifying nodal forces (not force densities) on the Lagrangian curvilinear mesh. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/IBLagrangianForceStrategy.h>
Public Member Functions | |
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 | 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) |
Compute the curvilinear force generated by the given configuration of the curvilinear mesh. 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... | |
Class IBLagrangianForceStrategy provides a generic interface for specifying nodal forces (not force densities) on the Lagrangian curvilinear mesh.
|
virtual |
Compute the potential energy with respect to the present structure configuration and velocity.
Reimplemented in IBAMR::IBStandardForceGen, and IBAMR::IBLagrangianForceStrategySet.
|
virtual |
Compute the curvilinear force generated by the given configuration of the curvilinear mesh.
Reimplemented in IBAMR::IBStandardForceGen, IBAMR::IBLagrangianForceStrategySet, IBAMR::WallForceEvaluator, and IBAMR::NonbondedForceEvaluator.
|
virtual |
Compute the Jacobian of the force with respect to the present structure configuration and velocity.
Reimplemented in IBAMR::IBStandardForceGen, and IBAMR::IBLagrangianForceStrategySet.
|
virtual |
Compute the non-zero structure of the force Jacobian matrix.
Reimplemented in IBAMR::IBStandardForceGen, and IBAMR::IBLagrangianForceStrategySet.
|
virtual |
Setup the data needed to compute the curvilinear force on the specified level of the patch hierarchy.
Reimplemented in IBAMR::IBStandardForceGen, and IBAMR::IBLagrangianForceStrategySet.
|
virtual |
Set the current and new times for the present timestep.
Reimplemented in IBAMR::IBLagrangianForceStrategySet.