20 class ImplicitTimeIntegrator;
32 void init(
const std::string &formulation,
const Units &
units,
const json &
args,
const std::string &out_path)
override;
34 void save_json(
const Eigen::MatrixXd &solution, std::ostream &out)
const override;
35 void export_data(
const Eigen::MatrixXd &solution)
const override;
42 void reset()
override;
51 Eigen::MatrixXd &solution,
53 const std::string &state_prefix =
"")
const;
55 Eigen::MatrixXd &velocity,
57 const std::string &state_prefix =
"")
const;
59 Eigen::MatrixXd &acceleration,
61 const std::string &state_prefix =
"")
const;
70 const Eigen::MatrixXd &solution,
74 const Eigen::MatrixXd &solution,
78 const std::vector<std::pair<std::string, std::shared_ptr<solver::Form>>> &named_forms,
82 std::vector<io::OutputField> &fields,
84 const Eigen::MatrixXd &solution,
89 const Eigen::MatrixXd &solution)
const;
Caches basis evaluation and geometric mapping at every element.
Abstract mesh class to capture 2d/3d conforming and non-conforming meshes.
Implicit time integrator of a second order ODE (equivently a system of coupled first order ODEs).
std::array< int, 2 > QuadratureOrders
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix