|
59 | 59 | copy(u₀), (dx, λ); |
60 | 60 | algo = :cg |
61 | 61 | ) |
62 | | -stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(11, 60160, 6.086180541247742e-5), t = 15.744614243)</code></pre><h2 id="Solving-with-a-fixed-forcing"><a class="docs-heading-anchor" href="#Solving-with-a-fixed-forcing">Solving with a fixed forcing</a><a id="Solving-with-a-fixed-forcing-1"></a><a class="docs-heading-anchor-permalink" href="#Solving-with-a-fixed-forcing" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
| 62 | +stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(11, 60160, 6.086180541247742e-5), t = 15.518938806)</code></pre><h2 id="Solving-with-a-fixed-forcing"><a class="docs-heading-anchor" href="#Solving-with-a-fixed-forcing">Solving with a fixed forcing</a><a id="Solving-with-a-fixed-forcing-1"></a><a class="docs-heading-anchor-permalink" href="#Solving-with-a-fixed-forcing" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
63 | 63 | bratu!, |
64 | 64 | copy(u₀), (dx, λ), similar(u₀); |
65 | 65 | algo = :cg, |
66 | 66 | forcing = Ariadne.Fixed(0.1) |
67 | 67 | ) |
68 | | -stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 56510, 2.773666992173675e-5), t = 5.218180044)</code></pre><h2 id="Solving-with-no-forcing"><a class="docs-heading-anchor" href="#Solving-with-no-forcing">Solving with no forcing</a><a id="Solving-with-no-forcing-1"></a><a class="docs-heading-anchor-permalink" href="#Solving-with-no-forcing" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
| 68 | +stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 56510, 2.773666992173675e-5), t = 5.475078758)</code></pre><h2 id="Solving-with-no-forcing"><a class="docs-heading-anchor" href="#Solving-with-no-forcing">Solving with no forcing</a><a id="Solving-with-no-forcing-1"></a><a class="docs-heading-anchor-permalink" href="#Solving-with-no-forcing" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
69 | 69 | bratu!, |
70 | 70 | copy(u₀), (dx, λ), similar(u₀); |
71 | 71 | algo = :cg, |
72 | 72 | forcing = nothing |
73 | 73 | ) |
74 | | -stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 71652, 3.217114944736544e-6), t = 6.779912168)</code></pre><h2 id="Solve-using-GMRES-–-doesn't-converge"><a class="docs-heading-anchor" href="#Solve-using-GMRES-–-doesn't-converge">Solve using GMRES – doesn't converge</a><a id="Solve-using-GMRES-–-doesn't-converge-1"></a><a class="docs-heading-anchor-permalink" href="#Solve-using-GMRES-–-doesn't-converge" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
| 74 | +stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 71652, 3.217114944736544e-6), t = 7.11768374)</code></pre><h2 id="Solve-using-GMRES-–-doesn't-converge"><a class="docs-heading-anchor" href="#Solve-using-GMRES-–-doesn't-converge">Solve using GMRES – doesn't converge</a><a id="Solve-using-GMRES-–-doesn't-converge-1"></a><a class="docs-heading-anchor-permalink" href="#Solve-using-GMRES-–-doesn't-converge" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
75 | 75 | bratu!, |
76 | 76 | copy(u₀), (dx, λ), similar(u₀); |
77 | 77 | algo = :gmres, |
|
83 | 83 | N = (J) -> ilu(collect(J)), # Assembles the full Jacobian |
84 | 84 | krylov_kwargs = (; ldiv = true) |
85 | 85 | ) |
86 | | -stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 8, 3.216849217028634e-6), t = 8.341381859)</code></pre><h2 id="Solve-using-FGMRES-ILU-Preconditioner"><a class="docs-heading-anchor" href="#Solve-using-FGMRES-ILU-Preconditioner">Solve using FGMRES + ILU Preconditioner</a><a id="Solve-using-FGMRES-ILU-Preconditioner-1"></a><a class="docs-heading-anchor-permalink" href="#Solve-using-FGMRES-ILU-Preconditioner" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
| 86 | +stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 8, 3.216849217028634e-6), t = 8.808901746)</code></pre><h2 id="Solve-using-FGMRES-ILU-Preconditioner"><a class="docs-heading-anchor" href="#Solve-using-FGMRES-ILU-Preconditioner">Solve using FGMRES + ILU Preconditioner</a><a id="Solve-using-FGMRES-ILU-Preconditioner-1"></a><a class="docs-heading-anchor-permalink" href="#Solve-using-FGMRES-ILU-Preconditioner" title="Permalink"></a></h2><pre><code class="language-julia hljs">_, stats = newton_krylov!( |
87 | 87 | bratu!, |
88 | 88 | copy(u₀), (dx, λ), similar(u₀); |
89 | 89 | algo = :fgmres, |
90 | 90 | N = (J) -> ilu(collect(J)), # Assembles the full Jacobian |
91 | 91 | krylov_kwargs = (; ldiv = true) |
92 | 92 | ) |
93 | | -stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 8, 3.2061685998371007e-6), t = 7.551376144)</code></pre><h2 id="Solve-using-FGMRES-GMRES-Preconditioner"><a class="docs-heading-anchor" href="#Solve-using-FGMRES-GMRES-Preconditioner">Solve using FGMRES + GMRES Preconditioner</a><a id="Solve-using-FGMRES-GMRES-Preconditioner-1"></a><a class="docs-heading-anchor-permalink" href="#Solve-using-FGMRES-GMRES-Preconditioner" title="Permalink"></a></h2><pre><code class="language-julia hljs">struct GmresPreconditioner{JOp} |
| 93 | +stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(8, 8, 3.2061685998371007e-6), t = 8.048957564)</code></pre><h2 id="Solve-using-FGMRES-GMRES-Preconditioner"><a class="docs-heading-anchor" href="#Solve-using-FGMRES-GMRES-Preconditioner">Solve using FGMRES + GMRES Preconditioner</a><a id="Solve-using-FGMRES-GMRES-Preconditioner-1"></a><a class="docs-heading-anchor-permalink" href="#Solve-using-FGMRES-GMRES-Preconditioner" title="Permalink"></a></h2><pre><code class="language-julia hljs">struct GmresPreconditioner{JOp} |
94 | 94 | J::JOp |
95 | 95 | itmax::Int |
96 | 96 | end |
|
106 | 106 | algo = :fgmres, |
107 | 107 | N = (J) -> GmresPreconditioner(J, 5), |
108 | 108 | ) |
109 | | -stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(12, 11973, 9.343815298545975e-5), t = 77.711717291)</code></pre><h2 id="Explodes.."><a class="docs-heading-anchor" href="#Explodes..">Explodes..</a><a id="Explodes..-1"></a><a class="docs-heading-anchor-permalink" href="#Explodes.." title="Permalink"></a></h2><pre><code class="language-julia hljs">newton_krylov!( |
| 109 | +stats</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">(solved = true, stats = Ariadne.Stats(12, 11973, 9.343815298545975e-5), t = 64.314852067)</code></pre><h2 id="Explodes.."><a class="docs-heading-anchor" href="#Explodes..">Explodes..</a><a id="Explodes..-1"></a><a class="docs-heading-anchor-permalink" href="#Explodes.." title="Permalink"></a></h2><pre><code class="language-julia hljs">newton_krylov!( |
110 | 110 | bratu!, |
111 | 111 | copy(u₀), (dx, λ), similar(u₀); |
112 | 112 | algo = :cgls, # Cgne |
|
117 | 117 | verbose = 1, |
118 | 118 | algo = :bicgstab, # L=2 |
119 | 119 | η_max = nothing |
120 | | -)</code></pre><hr/><p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../">« Home</a><a class="docs-footer-nextpage" href="../bratu_ka/">Bratu – KernelAbstractions »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Monday 13 April 2026 09:21">Monday 13 April 2026</span>. Using Julia version 1.11.9.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
| 120 | +)</code></pre><hr/><p><em>This page was generated using <a href="https://github.com/fredrikekre/Literate.jl">Literate.jl</a>.</em></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../">« Home</a><a class="docs-footer-nextpage" href="../bratu_ka/">Bratu – KernelAbstractions »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Monday 13 April 2026 09:22">Monday 13 April 2026</span>. Using Julia version 1.11.9.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
0 commit comments