... | ... | @@ -140,13 +140,13 @@ SolveJac [system-id] |
|
|
```
|
|
|
Solve the system of equations `system-id` using a Jacobian matrix $`\mathbf{J}`$ (system of which the unknowns are corrections $`\mathbf{\delta x}`$ of the current solution $`\mathbf{x}`$). Then, Increment the solution ($`\mathbf{x}=\mathbf{x}+\mathbf{\delta x}`$) and compute the relative error $`\mathbf{\delta x}/\mathbf{x}`$.
|
|
|
|
|
|
In GetDP, the system of equations that has to be generated and solved is expressed in an "Equation"-block of a `.pro' file. When calling `GenerateJac`, the Jacobian matrix $`\mathbf{J}`$ is built by assembling the matrix $`\mathbf{A}`$ whith the additionnal terms incorporated in a $`\mathbf{JacNL}`$ function in the formulation of a nonlinear problem. In other words, by definition:
|
|
|
In GetDP, the system of equations that has to be generated and solved is expressed in an "Equation"-block of a `.pro` file. When calling `GenerateJac`, the Jacobian matrix $`\mathbf{J}`$ is built by assembling the matrix $`\mathbf{A}`$ whith the additionnal terms incorporated in a $`\mathbf{JacNL}`$ function in the formulation of a nonlinear problem. In other words, by definition:
|
|
|
```math
|
|
|
\mathbf{J} := \mathbf{A} + \mathbf{JacNL}
|
|
|
```
|
|
|
where $`\mathbf{JacNL}`$ stands for the elements included in a `JacNL` equation block while $`\mathbf{A}`$ gathers the classical terms that are not attached to a `JacNL` equation block. In case the problem is linear, i.e. when the $`\mathbf{A}`$-matrix does not depend on the unknowns $`\mathbf{x}`$, the Jacobian matrix reduces to $`\mathbf{J} = \mathbf{A}`$ so that the $`\mathbf{JacNL}`$ part vanishes. In the light of this, it is obvious that the $`\mathbf{JacNL}`$ is used to represent the nonlinear part of the Jacobian matrix: this allows to write the equation blocks once, for both linear and nonlinear problems!
|
|
|
|
|
|
If the `JacNL` term is removed from the equation terms, the Picard scheme is retrieved. So from the implementation point of view, simply removing the `JacNL` content in the "Equation"-block of a `.pro' file transforms a Newton-Raphson iteration in a Picard iteration.
|
|
|
If the `JacNL` term is removed from the equation terms, the Picard scheme is retrieved. So from the implementation point of view, simply removing the `JacNL` content in the "Equation"-block of a `.pro` file transforms a Newton-Raphson iteration in a Picard iteration.
|
|
|
|
|
|
Note: we might want integrate here some additional material from http://onelab.info/wiki/Nonlinear_problems_in_GetDP, as this wiki will eventually be removed.
|
|
|
|
... | ... | |