40 const std::vector<int> &boundary_nodes,
41 const std::vector<mesh::LocalBoundary> &local_boundary,
42 const std::vector<mesh::LocalBoundary> &local_neumann_boundary,
46 const size_t obstacle_ndof,
47 const bool is_time_dependent,
51 std::string
name()
const override
53 return "bc-alagrangian";
63 const std::vector<int> &boundary_nodes,
65 const size_t obstacle_ndof,
66 const Eigen::MatrixXd &target_x);
95 virtual void project_diag(Eigen::VectorXd &diag)
const override;
124 const size_t obstacle_ndof);
NLOHMANN_JSON_SERIALIZE_ENUM(CollisionProxyTessellation, {{CollisionProxyTessellation::REGULAR, "regular"}, {CollisionProxyTessellation::IRREGULAR, "irregular"}})
BCLumpingMode
Lumping mode for the mass metric of the BC penalty.
@ ROW_SUM
Row-sum lumping (falls back to HRZ if ill-conditioned)
@ HRZ
Hinton-Rock-Zienkiewicz diagonal-scaling lumping.
std::array< int, 2 > QuadratureOrders
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix