OGS
AnalyticalJacobianAssembler.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
7
8namespace BaseLib
9{
10class ConfigTree;
11}
12
13namespace ProcessLib
14{
15
19{
20public:
25 void assembleWithJacobian(std::size_t const mesh_item_id,
26 LocalAssemblerInterface& local_assembler,
27 double const t, double const dt,
28 std::vector<double> const& local_x,
29 std::vector<double> const& local_x_prev,
30 std::vector<double>& local_b_data,
31 std::vector<double>& local_Jac_data) override;
32
34 LocalAssemblerInterface& local_assembler, double const t,
35 double const dt, Eigen::VectorXd const& local_x,
36 Eigen::VectorXd const& local_x_prev, int const process_id,
37 std::vector<double>& local_b_data,
38 std::vector<double>& local_Jac_data) override;
39
40 std::unique_ptr<AbstractJacobianAssembler> copy() const override;
41
43 int const /*max_non_deformation_dofs_per_node*/) const override
44 {
45 }
46
48 std::vector<int> const& /*non_deformation_component_ids*/) override
49 {
50 }
51
53 std::vector<int> const& /*non_deformation_component_ids*/) override
54 {
55 }
56
57 bool needsPicardAssembly() const override { return false; }
58};
59
60} // namespace ProcessLib
Base class for Jacobian assemblers.
void assembleWithJacobian(std::size_t const mesh_item_id, LocalAssemblerInterface &local_assembler, double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &local_x_prev, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data) override
void setNonDeformationComponentIDs(std::vector< int > const &) override
void setNonDeformationComponentIDsNoSizeCheck(std::vector< int > const &) override
void assembleWithJacobianForStaggeredScheme(LocalAssemblerInterface &local_assembler, double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev, int const process_id, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data) override
void checkPerturbationSize(int const) const override
std::unique_ptr< AbstractJacobianAssembler > copy() const override