20 const std::vector<basis::ElementBases> &bases,
21 const std::vector<basis::ElementBases> &geom_bases,
24 const double t,
const double dt,
25 const bool is_volume);
27 std::string
name()
const override {
return "elastic"; }
55 bool is_step_valid(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
const override;
71 void force_material_derivative(
const double t,
const Eigen::MatrixXd &
x,
const Eigen::MatrixXd &x_prev,
const Eigen::MatrixXd &adjoint, Eigen::VectorXd &term);
79 void force_shape_derivative(
const double t,
const int n_verts,
const Eigen::MatrixXd &
x,
const Eigen::MatrixXd &x_prev,
const Eigen::MatrixXd &adjoint, Eigen::VectorXd &term);
83 const std::vector<basis::ElementBases> &
bases_;
Caches basis evaluation and geometric mapping at every element.
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix