16 std::string
name()
const override {
return "VolumePenalty"; }
17 std::map<std::string, ParamFunc>
parameters()
const override;
26 const double k =
k_(p, t, el_id);
29 const T log_J = log(J);
31 const T
val = k / 2.0 * ((J * J - T(1)) / 2.0 - log_J);
T elastic_energy(const RowVectorNd &p, const double t, const int el_id, const DefGradMatrix< T > &def_grad) const
void add_multimaterial(const int index, const json ¶ms, const Units &units) override
std::map< std::string, ParamFunc > parameters() const override
std::string name() const override
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, 0, 3, 3 > DefGradMatrix
T determinant(const Eigen::Matrix< T, rows, cols, option, maxRow, maxCol > &mat)
Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > RowVectorNd