20 class ImplicitTimeIntegrator;
30 void init(
const std::string &formulation,
const Units &
units,
const json &
args,
const std::string &out_path)
override;
32 void save_json(
const Eigen::MatrixXd &solution, std::ostream &out)
const override;
33 void export_data(
const Eigen::MatrixXd &solution)
const override;
38 void reset()
override;
47 Eigen::MatrixXd &solution,
49 const std::string &state_prefix =
"")
const;
51 Eigen::MatrixXd &velocity,
53 const std::string &state_prefix =
"")
const;
55 Eigen::MatrixXd &acceleration,
57 const std::string &state_prefix =
"")
const;
69 const Eigen::MatrixXd &solution,
73 const std::vector<std::pair<std::string, std::shared_ptr<solver::Form>>> &named_forms,
77 std::vector<io::OutputField> &fields,
79 const Eigen::MatrixXd &solution,
84 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