Skip to content

Commit

Permalink
build based on d16e907
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Nov 8, 2024
1 parent b2fe3d3 commit fc21518
Show file tree
Hide file tree
Showing 22 changed files with 210 additions and 210 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.8.5","generation_timestamp":"2024-11-07T22:36:43","documenter_version":"1.7.0"}}
{"documenter":{"julia_version":"1.10.6","generation_timestamp":"2024-11-08T03:06:00","documenter_version":"1.7.0"}}
20 changes: 10 additions & 10 deletions dev/Adaptivity/index.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions dev/Algebra/index.html

Large diffs are not rendered by default.

40 changes: 20 additions & 20 deletions dev/Arrays/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/CellData/index.html

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions dev/FESpaces/index.html

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions dev/Fields/index.html

Large diffs are not rendered by default.

96 changes: 48 additions & 48 deletions dev/Geometry/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/Gridap/index.html

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions dev/Helpers/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/Io/index.html

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions dev/MultiField/index.html

Large diffs are not rendered by default.

74 changes: 37 additions & 37 deletions dev/ODEs/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dev/Polynomials/index.html

Large diffs are not rendered by default.

66 changes: 33 additions & 33 deletions dev/ReferenceFEs/index.html

Large diffs are not rendered by default.

26 changes: 13 additions & 13 deletions dev/TensorValues/index.html

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions dev/Visualization/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/dev-notes/block-assemblers/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@
end
end
end
end</code></pre><p>In the monolithic assembly of <code>MultiFieldFESpaces</code>, the variable <code>A</code> is an <code>ArrayCounter</code>. As you can see, all contribution blocks (coming from different fields) are assembled into the same <code>ArrayCounter</code>. The block-assembly counterpart will have the input <code>A</code> be a <code>MatrixBlock{&lt;:ArrayCounter}</code>, and assembles each contribution block to it&#39;s corresponding <code>ArrayCounter</code> (notice the <code>A.array[i,j]</code>).</p><h3 id="B)-Assembling-multiple-FE-Fields-into-the-same-Block"><a class="docs-heading-anchor" href="#B)-Assembling-multiple-FE-Fields-into-the-same-Block">B) Assembling multiple FE Fields into the same Block</a><a id="B)-Assembling-multiple-FE-Fields-into-the-same-Block-1"></a><a class="docs-heading-anchor-permalink" href="#B)-Assembling-multiple-FE-Fields-into-the-same-Block" title="Permalink"></a></h3><p>The <code>BlockMultiFieldStyle</code> constructor can take up to three parameters:</p><ol><li><code>NB</code> :: Integer, representing the number of final blocks. Then the matrix and vector will have <code>NBxNB</code> and <code>NB</code> blocks respectively.</li><li><code>SB</code> :: Tuple of integers, of length <code>NB</code>. In each position, <code>SB[ib]</code> is the number of fields that will be assembled in that block.</li><li><code>P</code> :: Tuple of integers, of length the number of fields. This represents a field permutation, such that the fields will be reordered as<code>[P[1],P[2],....,P[n]]</code>.</li></ol><p>Using this three parameters, one can assemble an arbitrary number of fields into any number of blocks.</p><p><strong>Example</strong>: Consider we are solving an MHD problem with variables <code>(u,p,j,q)</code> , i.e (fluid velocity, fluid pressure, magnetic current, electric potential). Although the variables are in this specific order in the <code>MultiFieldFESpace</code>, we want to build a block-preconditioner that solves <code>(u,j)</code> together in a single block then <code>p</code> and <code>q</code> separately in two other blocks. Then we would need to assemble our system using <code>NB=3</code>, <code>SB=(2,1,1)</code> and <code>P=(1,3,2,4)</code>. With this configuration, we will create 3 blocks. The first block will have size 2 and hold variables <code>[P[1],P[2]] = [1,3] = [u,j]</code>. The second block will have size 1 and hold variables <code>[P[3]] = [2] = [p]</code>. Finally, the third block will hold variables <code>[P[4]] = [4] = [q]</code>.</p><p>In terms of implementation, everything is the same. We use <code>ArrayBlockViews</code> (which is a view counterpart of <code>ArrayBlock</code>) so that an array of <code>NBxNB</code> array builders / array counters can be indexed using the field indexes. This allows us to use the same dispatches as we had in part A.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../Adaptivity/">« Gridap.Adaptivity</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.7.0 on <span class="colophon-date" title="Thursday 7 November 2024 22:36">Thursday 7 November 2024</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
end</code></pre><p>In the monolithic assembly of <code>MultiFieldFESpaces</code>, the variable <code>A</code> is an <code>ArrayCounter</code>. As you can see, all contribution blocks (coming from different fields) are assembled into the same <code>ArrayCounter</code>. The block-assembly counterpart will have the input <code>A</code> be a <code>MatrixBlock{&lt;:ArrayCounter}</code>, and assembles each contribution block to it&#39;s corresponding <code>ArrayCounter</code> (notice the <code>A.array[i,j]</code>).</p><h3 id="B)-Assembling-multiple-FE-Fields-into-the-same-Block"><a class="docs-heading-anchor" href="#B)-Assembling-multiple-FE-Fields-into-the-same-Block">B) Assembling multiple FE Fields into the same Block</a><a id="B)-Assembling-multiple-FE-Fields-into-the-same-Block-1"></a><a class="docs-heading-anchor-permalink" href="#B)-Assembling-multiple-FE-Fields-into-the-same-Block" title="Permalink"></a></h3><p>The <code>BlockMultiFieldStyle</code> constructor can take up to three parameters:</p><ol><li><code>NB</code> :: Integer, representing the number of final blocks. Then the matrix and vector will have <code>NBxNB</code> and <code>NB</code> blocks respectively.</li><li><code>SB</code> :: Tuple of integers, of length <code>NB</code>. In each position, <code>SB[ib]</code> is the number of fields that will be assembled in that block.</li><li><code>P</code> :: Tuple of integers, of length the number of fields. This represents a field permutation, such that the fields will be reordered as<code>[P[1],P[2],....,P[n]]</code>.</li></ol><p>Using this three parameters, one can assemble an arbitrary number of fields into any number of blocks.</p><p><strong>Example</strong>: Consider we are solving an MHD problem with variables <code>(u,p,j,q)</code> , i.e (fluid velocity, fluid pressure, magnetic current, electric potential). Although the variables are in this specific order in the <code>MultiFieldFESpace</code>, we want to build a block-preconditioner that solves <code>(u,j)</code> together in a single block then <code>p</code> and <code>q</code> separately in two other blocks. Then we would need to assemble our system using <code>NB=3</code>, <code>SB=(2,1,1)</code> and <code>P=(1,3,2,4)</code>. With this configuration, we will create 3 blocks. The first block will have size 2 and hold variables <code>[P[1],P[2]] = [1,3] = [u,j]</code>. The second block will have size 1 and hold variables <code>[P[3]] = [2] = [p]</code>. Finally, the third block will hold variables <code>[P[4]] = [4] = [q]</code>.</p><p>In terms of implementation, everything is the same. We use <code>ArrayBlockViews</code> (which is a view counterpart of <code>ArrayBlock</code>) so that an array of <code>NBxNB</code> array builders / array counters can be indexed using the field indexes. This allows us to use the same dispatches as we had in part A.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../Adaptivity/">« Gridap.Adaptivity</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.7.0 on <span class="colophon-date" title="Friday 8 November 2024 03:05">Friday 8 November 2024</span>. Using Julia version 1.10.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/getting-started/index.html

Large diffs are not rendered by default.

Loading

0 comments on commit fc21518

Please sign in to comment.