1 #include "../include/restart_nonlinear_problem_alg.h"
12 const unsigned int step_number)
25 for (std::map <unsigned int, unsigned int>::iterator pos =
indices_map.begin(); pos !=
indices_map.end(); ++pos)
36 cout<<
"Restart problem residual "<<endl;
37 unsigned int count = 0;
46 cout<<
"Restart problem nonlin residual: "<<dst.
l2_norm()<<endl;
64 cout<<
"Restart problem jacobian"<<endl;
67 unsigned int count = 0;
94 prec_direct.
vmult(dst,src);
SparseMatrix< double > jacobian_matrix
void vmult(OutVector &dst, const InVector &src) const
real_type l2_norm() const
const NumericalTowingTank & comp_dom
DoFHandler< dim-1, dim > vector_dh
Vector< double > & free_surf_y
void set(const size_type i, const size_type j, const number value)
virtual void output_step(Vector< double > &solution, const unsigned int step_number)
This function is called at the end of each iteration step for the newton solver.
virtual unsigned int n_dofs() const
Returns the number of degrees of freedom.
virtual int setup_jacobian_prec(const Vector< double > &src_yy)
Setup Jacobian preconditioner for Newton.
types::global_dof_index n_dofs() const
Vector< double > free_surf_jac_x_delta
virtual int jacobian_prec_prod(Vector< double > &dst, const Vector< double > &src_yy, const Vector< double > &src)
Jacobian preconditioner vector product for newton solver.
const SparsityPattern & get_sparsity_pattern() const
void initialize(const SparsityPattern &sparsity_pattern)
virtual int residual(Vector< double > &dst, const Vector< double > &src_yy)
For newton solver, we need a residual function.
int residual_and_jacobian(const double t, Vector< double > &dst, const Vector< double > &src_yy, const Vector< double > &src_yp, const Vector< double > &src, const double alpha, const bool is_jacobian)
This function computes either DAE residual or corrensponding Jacobian matrix vector product with vect...
std::set< unsigned int > dphi_dn_indices
FreeSurface< 3 > & free_surface
virtual int jacobian_prec(Vector< double > &dst, const Vector< double > &src_yy, const Vector< double > &src)
Jacobian inverse preconditioner vector product for newton solver.
Vector< double > & free_surf_y_dot
const SparseMatrix< double > & free_surf_jacobian
DoFHandler< dim-1, dim > dh
virtual int jacobian(Vector< double > &dst, const Vector< double > &src_yy, const Vector< double > &src)
Jacobian vector product for newton solver.
Vector< double > free_surf_res
void vmult(Vector< double > &dst, const Vector< double > &src) const
std::map< unsigned int, unsigned int > indices_map