26 std::string
name()
const override {
return "AMIPS"; }
27 std::map<std::string, ParamFunc>
parameters()
const override;
37 using MatrixNT = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic, 0, 3, 3>;
39 MatrixNT
F = MatrixNT::Zero(
size(),
size());
40 for (
int i = 0; i <
size(); ++i)
42 for (
int j = 0; j <
size(); ++j)
44 for (
int k = 0; k <
size(); ++k)
52 return (
F.transpose() *
F).trace() / pow(J, 2. /
size());
std::string name() const override
std::vector< Eigen::MatrixXd > canonical_transformation_
void add_multimaterial(const int index, const json ¶ms, const Units &units) override
std::map< std::string, ParamFunc > parameters() const override
T elastic_energy(const RowVectorNd &p, const double t, const int el_id, const DefGradMatrix< T > &def_grad) const
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, 0, 3, 3 > DefGradMatrix
T determinant(const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, 0, 3, 3 > &mat)
Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > RowVectorNd