40 std::vector<GlobalVector*>
const& x,
41 std::vector<GlobalVector*>
const& x_prev,
42 int const process_id)
override;
45 std::vector<GlobalVector*>& x,
46 std::vector<GlobalVector*>
const& x_prev,
47 std::function<
void(
int,
bool, std::vector<GlobalVector*>
const&)>
const&
48 postIterationCallback,
49 int const process_id)
override;
MathLib::EigenLisLinearSolver GlobalLinearSolver
std::size_t _petsc_residual_id
NonlinearSolverStatus solve(std::vector< GlobalVector * > &x, std::vector< GlobalVector * > const &x_prev, std::function< void(int, bool, std::vector< GlobalVector * > const &)> const &postIterationCallback, int const process_id) override
ConvergenceCriterion * _convergence_criterion
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)
NonlinearSystem< NonlinearSolverTag::Newton > System
Type of the nonlinear equation system to be solved.
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.