OGS 6.3.0-179-g962fdcd4e.dirty.20200403132553
NumLib::NonlinearSystem< NonlinearSolverTag::Newton > Class Template Referenceabstract

## Detailed Description

### template<> class NumLib::NonlinearSystem< NonlinearSolverTag::Newton >

A System of nonlinear equations to be solved with the Newton-Raphson method.

The Newton-Raphson method will iterate the linearized equation $$\mathtt{Jac} \cdot (-\Delta x_i) = \mathtt{res}$$.

Definition at line 34 of file NonlinearSystem.h.

#include <NonlinearSystem.h>

Inheritance diagram for NumLib::NonlinearSystem< NonlinearSolverTag::Newton >: [legend]
Collaboration diagram for NumLib::NonlinearSystem< NonlinearSolverTag::Newton >: [legend]

## Public Member Functions

virtual void assemble (std::vector< GlobalVector *> const &x, int const process_id)=0

virtual void getResidual (GlobalVector const &x, GlobalVector &res) const =0

virtual void getJacobian (GlobalMatrix &Jac) const =0

virtual void computeKnownSolutions (GlobalVector const &x, int const process_id)=0
Pre-compute known solutions and possibly store them internally. More...

virtual void applyKnownSolutions (GlobalVector &x) const =0

virtual void applyKnownSolutionsNewton (GlobalMatrix &Jac, GlobalVector &res, GlobalVector &minus_delta_x) const =0 Public Member Functions inherited from NumLib::EquationSystem
virtual bool isLinear () const =0

virtual void preIteration (const unsigned iter, GlobalVector const &x)

virtual IterationResult postIteration (GlobalVector const &x) Public Member Functions inherited from NumLib::MatrixSpecificationsProvider
virtual MathLib::MatrixSpecifications getMatrixSpecifications (const int process_id) const =0

virtual ~MatrixSpecificationsProvider ()=default

## ◆ applyKnownSolutions()

 virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Newton >::applyKnownSolutions ( GlobalVector & x ) const
pure virtual

Apply known solutions to the solution vector x.

Precondition
computeKnownSolutions() must have been called before.

## ◆ applyKnownSolutionsNewton()

 virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Newton >::applyKnownSolutionsNewton ( GlobalMatrix & Jac, GlobalVector & res, GlobalVector & minus_delta_x ) const
pure virtual

Apply known solutions to the linearized equation system $$\mathit{Jac} \cdot (-\Delta x) = \mathit{res}$$.

Precondition
computeKnownSolutions() must have been called before.

## ◆ assemble()

 virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Newton >::assemble ( std::vector< GlobalVector *> const & x, int const process_id )
pure virtual

Assembles the linearized equation system at the point x. The linearized system is $$A(x) \cdot x = b(x)$$. Here the matrix $$A(x)$$ and the vector $$b(x)$$ are assembled.

## ◆ computeKnownSolutions()

 virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Newton >::computeKnownSolutions ( GlobalVector const & x, int const process_id )
pure virtual

Pre-compute known solutions and possibly store them internally.

## ◆ getJacobian()

 virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Newton >::getJacobian ( GlobalMatrix & Jac ) const
pure virtual

Writes the Jacobian of the residual to Jac.

Precondition
assemble() must have been called before.

## ◆ getResidual()

 virtual void NumLib::NonlinearSystem< NonlinearSolverTag::Newton >::getResidual ( GlobalVector const & x, GlobalVector & res ) const
pure virtual

Writes the residual at point x to res.

Precondition
assemble() must have been called before with the same argument x.
Todo:
Remove argument x.

The documentation for this class was generated from the following file:
{"ft_lang_label":"__label__en","ft_lang_prob":0.6408588,"math_prob":0.9325251,"size":1947,"snap":"2020-10-2020-16","text_gpt3_token_len":492,"char_repetition_ratio":0.16984046,"word_repetition_ratio":0.088709675,"special_character_ratio":0.24396507,"punctuation_ratio":0.12585033,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.98273015,"pos_list":[0,1,2,3,4,5,6,7,8,9,10],"im_url_duplicate_count":[null,null,null,1,null,1,null,null,null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2020-04-05T07:38:22Z\",\"WARC-Record-ID\":\"<urn:uuid:c1a9d991-1aaf-44f8-a615-e151fa8ae395>\",\"Content-Length\":\"24080\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:1b289f2a-3cf0-4e72-bce6-acb37a0f91ba>\",\"WARC-Concurrent-To\":\"<urn:uuid:978ea178-3e89-433a-983c-06a2c4ea27ba>\",\"WARC-IP-Address\":\"51.144.96.86\",\"WARC-Target-URI\":\"https://doxygen.opengeosys.org/classNumLib_1_1NonlinearSystem_3_01NonlinearSolverTag_1_1Newton_01_4.html\",\"WARC-Payload-Digest\":\"sha1:GK47COY2OQJUVHDKAV4DP4XI2QW5PHEH\",\"WARC-Block-Digest\":\"sha1:DPUAH2BFBJYZYMHZKQSEW7F6VTR35QUU\",\"WARC-Identified-Payload-Type\":\"application/xhtml+xml\",\"warc_filename\":\"/cc_download/warc_2020/CC-MAIN-2020-16/CC-MAIN-2020-16_segments_1585370529375.49_warc_CC-MAIN-20200405053120-20200405083120-00397.warc.gz\"}"}