1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
<center><a href="https://gitlab.com/petsc/petsc/-/blob/966382dc56242773704ef5f5cee7aa2db3ebc577/include/petscsnestypes.h">Actual source code: petscsnestypes.h</a></center><br>
<html>
<head>
<title></title>
<meta name="generator" content="c2html 0.9.6">
<meta name="date" content="2025-04-30T18:14:50+00:00">
</head>
<body bgcolor="#FFFFFF">
<pre width=80>
<a name="line1"> 1: </a><font color="#A020F0">#pragma once</font>
<a name="line3"> 3: </a><font color="#B22222">/* SUBMANSEC = <a href="../manualpages/SNES/SNES.html">SNES</a> */</font>
<a name="line5"> 5: </a><font color="#B22222">/*S</font>
<a name="line6"> 6: </a><font color="#B22222"> <a href="../manualpages/SNES/SNES.html">SNES</a> - Abstract PETSc object that manages nonlinear solves</font>
<a name="line8"> 8: </a><font color="#B22222"> Level: beginner</font>
<a name="line10"> 10: </a><font color="#B22222"> Notes:</font>
<a name="line11"> 11: </a><font color="#B22222"> The most commonly used `<a href="../manualpages/SNES/SNESType.html">SNESType</a>` is `<a href="../manualpages/SNES/SNESNEWTONLS.html">SNESNEWTONLS</a>` which uses Newton's method with a line search. For all the Newton based `<a href="../manualpages/SNES/SNES.html">SNES</a>` nonlinear</font>
<a name="line12"> 12: </a><font color="#B22222"> solvers, `<a href="../manualpages/KSP/KSP.html">KSP</a>`, the PETSc abstract linear solver object, is used to (approximately) solve the required linear systems.</font>
<a name="line14"> 14: </a><font color="#B22222"> See `<a href="../manualpages/SNES/SNESType.html">SNESType</a>` for a list of all the nonlinear solver algorithms provided by PETSc.</font>
<a name="line16"> 16: </a><font color="#B22222"> Some of the `<a href="../manualpages/SNES/SNES.html">SNES</a>` solvers support nonlinear preconditioners, which themselves are also `<a href="../manualpages/SNES/SNES.html">SNES</a>` objects managed with `<a href="../manualpages/SNES/SNESGetNPC.html">SNESGetNPC</a>()`</font>
<a name="line18"> 18: </a><font color="#B22222">.seealso: [](doc_nonlinsolve), [](ch_snes), `<a href="../manualpages/SNES/SNESCreate.html">SNESCreate</a>()`, `<a href="../manualpages/SNES/SNESSolve.html">SNESSolve</a>()`, `<a href="../manualpages/SNES/SNESSetType.html">SNESSetType</a>()`, `<a href="../manualpages/SNES/SNESType.html">SNESType</a>`, `<a href="../manualpages/TS/TS.html">TS</a>`, `<a href="../manualpages/SNES/SNESType.html">SNESType</a>`, `<a href="../manualpages/KSP/KSP.html">KSP</a>`, `<a href="../manualpages/PC/PC.html">PC</a>`, `<a href="../manualpages/SNES/SNESDestroy.html">SNESDestroy</a>()`</font>
<a name="line19"> 19: </a><font color="#B22222">S*/</font>
<a name="line20"> 20: </a><font color="#4169E1">typedef struct _p_SNES *<a href="../manualpages/SNES/SNES.html">SNES</a>;</font>
</pre>
</body>
</html>
|