Skip to content
Snippets Groups Projects
Commit 5214c64b authored by HBShaoUFZ's avatar HBShaoUFZ
Browse files

Documentation for nonlinear Picard and Newton solvers

Add Nonlinear Solver Section to Heat_Transport_BHE

removing extra blank line

remove tailing white space

add more description
parent 141da141
No related branches found
No related tags found
No related merge requests found
...@@ -193,6 +193,18 @@ Here is an example in which the circulating fluid is water at about 15 $^{\circ} ...@@ -193,6 +193,18 @@ Here is an example in which the circulating fluid is water at about 15 $^{\circ}
</refrigerant> </refrigerant>
``` ```
## Available Nonlinear Solvers
In the `HEAT_TRANSPORT_BHE` process, both Picard and Newton nonlinear solvers are supported.
With the Picard solver, the linear equation system is iterated until the change in the solution vector is small enough (typically less than 1E-6).
With the Newton approach, the global Jacobian matrix and residual vector are evaluated in each iteration, in order to solve for the change of solution vector in each iteration.
The solved change vector is then further used to update the global solution vector.
Typically, after 5 to 8 iterations, the Newton approach leads to a globally converged solution, i.e. the norm of the residual vector is less than certain tolerance (e.g. relative tolerance less than 1E-10).
When configuring an OGS project with the `HEAT_TRANSPORT_BHE` process, Picard iterations will be sufficient when the time step size is kept small (tens of seconds).
However, when the time step is large (hours or days), Newton iterations may reach convergence much faster than the Picard approach.
For more information regarding how to configure the Picard and Newton nonlinear solvers, please also refer to the section in [Project File - Building Blocks](/docs/userguide/blocks/nonlinear_solvers)
## References ## References
<!-- vale off --> <!-- vale off -->
......
...@@ -29,13 +29,13 @@ Following non-linear solvers are available in OpenGeoSys: ...@@ -29,13 +29,13 @@ Following non-linear solvers are available in OpenGeoSys:
<!-- TODO: add content --> <!-- TODO: add content -->
The nonlinear solver of "Newton" type is an implementation of the Newton-Raphson method. The nonlinear solver of "Newton" type is an implementation of the Newton-Raphson method.
The basic definition of the non-linear solver follows this template: The basic definition of the non-linear solver with "Newton" follows this template:
```xml ```xml
<nonlinear_solver> <nonlinear_solver>
<name>basic_newton</name> <name>basic_newton</name>
<type>Newton</type> <type>Newton</type>
<max_iter>100</max_iter> <max_iter>10</max_iter>
<linear_solver>linear_solver</linear_solver> <linear_solver>linear_solver</linear_solver>
</nonlinear_solver> </nonlinear_solver>
``` ```
...@@ -43,3 +43,15 @@ The basic definition of the non-linear solver follows this template: ...@@ -43,3 +43,15 @@ The basic definition of the non-linear solver follows this template:
## Picard ## Picard
<!-- TODO: add content --> <!-- TODO: add content -->
The nonlinear solver of "Picard" type is an implementation of the Picard-Iteration method.
The basic definition of the non-linear solver with "Picard" follows this template:
```xml
<nonlinear_solver>
<name>basic_picard</name>
<type>Picard</type>
<max_iter>100</max_iter>
<linear_solver>linear_solver</linear_solver>
</nonlinear_solver>
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment