9#include <ipc/collision_mesh.hpp>
12#include <unordered_map>
27 virtual std::string
name()
const = 0;
29 Eigen::MatrixXd &solution,
32 bool differentiable) = 0;
34 virtual void save_vtu(
const std::string &path,
const Eigen::MatrixXd &solution,
double time,
double dt)
const = 0;
42 virtual std::string
input_path(
const std::string &path,
bool only_if_exists =
false)
const = 0;
86 virtual void set_dirichlet_nodes(
const Eigen::VectorXi &input_nodes,
const Eigen::MatrixXd &values);
Caches basis evaluation and geometric mapping at every element.
Abstract mesh class to capture 2d/3d conforming and non-conforming meshes.
class to store time stepping data
std::array< int, 2 > QuadratureOrders
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix