28 std::unique_ptr<AbstractJacobianAssembler>&& asm1,
29 std::unique_ptr<AbstractJacobianAssembler>&& asm2,
33 std::string
const& log_file_path)
34 :
_asm1(std::move(asm1)),
35 _asm2(std::move(asm2)),
41 _log_file.precision(std::numeric_limits<double>::max_digits10);
43 "import numpy as np\n"
44 "from numpy import nan\n"
49 double const t,
double const dt,
50 std::vector<double>
const& local_x,
51 std::vector<double>
const& local_x_prev,
52 std::vector<double>& local_b_data,
53 std::vector<double>& local_Jac_data)
override;
55 std::unique_ptr<AbstractJacobianAssembler>
copy()
const override;
58 std::unique_ptr<AbstractJacobianAssembler>
_asm1;
59 std::unique_ptr<AbstractJacobianAssembler>
_asm2;
78std::unique_ptr<CompareJacobiansJacobianAssembler>
AbstractJacobianAssembler(std::vector< double > const &&absolute_epsilons)
bool const _fail_on_error
Whether to abort if the tolerances are exceeded.
void assembleWithJacobian(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 > _asm2
std::unique_ptr< AbstractJacobianAssembler > copy() const override
CompareJacobiansJacobianAssembler(std::unique_ptr< AbstractJacobianAssembler > &&asm1, std::unique_ptr< AbstractJacobianAssembler > &&asm2, double abs_tol, double rel_tol, bool fail_on_error, std::string const &log_file_path)
std::unique_ptr< AbstractJacobianAssembler > _asm1
std::unique_ptr< CompareJacobiansJacobianAssembler > createCompareJacobiansJacobianAssembler(BaseLib::ConfigTree const &config)