![]() |
OGS
|
|
Assembles the Jacobian matrix using two different Jacobian assemblers and compares the assembled local Jacobian matrices.
If the provided tolerances are exceeded, debugging information is logged in the form of a Python script.
Definition at line 26 of file CompareJacobiansJacobianAssembler.h.
#include <CompareJacobiansJacobianAssembler.h>
Classes | |
| struct | Key |
Public Member Functions | |
| CompareJacobiansJacobianAssembler (std::unique_ptr< AbstractJacobianAssembler > &&asm1, std::unique_ptr< AbstractJacobianAssembler > &&asm2, double abs_tol_Jac, double rel_tol_Jac, double abs_tol_res, double rel_tol_res, bool fail_on_error, std::string const &log_file_path) | |
| CompareJacobiansJacobianAssembler (std::shared_ptr< detail::CompareJacobiansJacobianAssemblerImpl > impl, Key) | |
| 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 |
| std::unique_ptr< AbstractJacobianAssembler > | copy () const override |
| void | checkPerturbationSize (int const max_non_deformation_dofs_per_node) const override |
| void | setNonDeformationComponentIDs (std::vector< int > const &non_deformation_component_ids) override |
| void | setNonDeformationComponentIDsNoSizeCheck (std::vector< int > const &non_deformation_component_ids) override |
| bool | needsPicardAssembly () const override |
| virtual void | preIteration (const unsigned iter) override |
| Public Member Functions inherited from ProcessLib::AbstractJacobianAssembler | |
| virtual void | assembleWithJacobianForStaggeredScheme (LocalAssemblerInterface &, double const, double const, Eigen::VectorXd const &, Eigen::VectorXd const &, int const, std::vector< double > &, std::vector< double > &) |
| virtual | ~AbstractJacobianAssembler ()=default |
Private Attributes | |
| std::shared_ptr< detail::CompareJacobiansJacobianAssemblerImpl > | impl_ |
| ProcessLib::CompareJacobiansJacobianAssembler::CompareJacobiansJacobianAssembler | ( | std::unique_ptr< AbstractJacobianAssembler > && | asm1, |
| std::unique_ptr< AbstractJacobianAssembler > && | asm2, | ||
| double | abs_tol_Jac, | ||
| double | rel_tol_Jac, | ||
| double | abs_tol_res, | ||
| double | rel_tol_res, | ||
| bool | fail_on_error, | ||
| std::string const & | log_file_path ) |
Definition at line 438 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
explicit |
Definition at line 449 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
overridevirtual |
Assembles the Jacobian, the matrices \(M\) and \(K\), and the vector \(b\).
Implements ProcessLib::AbstractJacobianAssembler.
Definition at line 456 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
overridevirtual |
Checks that the number of specified perturbations is not smaller than the maximum number of non-deformation degrees of freedom per node.
Implements ProcessLib::AbstractJacobianAssembler.
Definition at line 482 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
overridevirtual |
Implements ProcessLib::AbstractJacobianAssembler.
Definition at line 467 of file CompareJacobiansJacobianAssembler.cpp.
|
overridevirtual |
Implements ProcessLib::AbstractJacobianAssembler.
Definition at line 506 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
overridevirtual |
Reimplemented from ProcessLib::AbstractJacobianAssembler.
Definition at line 512 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
overridevirtual |
Implements ProcessLib::AbstractJacobianAssembler.
Definition at line 489 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
overridevirtual |
Implements ProcessLib::AbstractJacobianAssembler.
Definition at line 496 of file CompareJacobiansJacobianAssembler.cpp.
References impl_.
|
private |
Definition at line 73 of file CompareJacobiansJacobianAssembler.h.
Referenced by CompareJacobiansJacobianAssembler(), CompareJacobiansJacobianAssembler(), assembleWithJacobian(), checkPerturbationSize(), copy(), needsPicardAssembly(), preIteration(), setNonDeformationComponentIDs(), and setNonDeformationComponentIDsNoSizeCheck().