47 std::vector<GlobalVector*>
const& x,
48 std::vector<GlobalVector*>
const& x_prev,
49 int const process_id)
override;
52 std::vector<GlobalVector*>& x,
53 std::vector<GlobalVector*>
const& x_prev,
54 std::function<
void(
int, std::vector<GlobalVector*>
const&)>
const&
55 postIterationCallback,
56 int const process_id)
override;
std::size_t _petsc_residual_id
ConvergenceCriterion * _convergence_criterion
NonlinearSolverStatus solve(std::vector< GlobalVector * > &x, std::vector< GlobalVector * > const &x_prev, std::function< void(int, std::vector< GlobalVector * > const &)> const &postIterationCallback, int const process_id) override
std::size_t _petsc_jacobian_id
System * _equation_system
void setEquationSystem(System &eq, ConvergenceCriterion &conv_crit)
Set the nonlinear equation system that will be solved.
PETScNonlinearSolver(GlobalLinearSolver &linear_solver, int maxiter, std::string prefix)
bool _compensate_non_equilibrium_initial_residuum
std::size_t _jacobian_id
ID of the Jacobian matrix.
void compensateNonEquilibriumInitialResiduum(bool const value)
std::size_t _residual_id
ID of the residual vector.
void calculateNonEquilibriumInitialResiduum(std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, int const process_id) override
Status of the non-linear solver.