Skip to content

Commit eec64a4

Browse files
committed
Website build
1 parent 31ef790 commit eec64a4

8 files changed

Lines changed: 67 additions & 86 deletions

2_finite_elements.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<div class="proof proof-type-definition" id="id5">
7373
<span id="def-ciarlet"></span>
7474
<div class="proof-title">
75-
<span class="proof-type">Definition 2.44</span>
75+
<span class="proof-type">Definition 2.43</span>
7676

7777
</div><div class="proof-content">
7878
<p>A <em>finite element</em> is a triple <span class="math notranslate nohighlight">\((K, P, N)\)</span> in which <span class="math notranslate nohighlight">\(K\)</span> is a cell,
@@ -85,7 +85,7 @@
8585
<div class="proof proof-type-definition" id="id6">
8686
<span id="nodalbasis"></span>
8787
<div class="proof-title">
88-
<span class="proof-type">Definition 2.45</span>
88+
<span class="proof-type">Definition 2.44</span>
8989

9090
</div><div class="proof-content">
9191
<p>Let <span class="math notranslate nohighlight">\(N = \{\phi^*_j\}\)</span> be a basis for <span class="math notranslate nohighlight">\(P^*\)</span>. A <em>nodal
@@ -239,7 +239,7 @@ <h2><span class="section-number">2.3. </span>The Lagrange element nodes<a class=
239239
<div class="proof proof-type-exercise" id="id7">
240240
<span id="ex-lagrange-points"></span>
241241
<div class="proof-title">
242-
<span class="proof-type">Exercise 2.46</span>
242+
<span class="proof-type">Exercise 2.45</span>
243243

244244
</div><div class="proof-content">
245245
<p>Use <a class="reference internal" href="#equation-lattice">(2.6)</a> to implement
@@ -307,7 +307,7 @@ <h2><span class="section-number">2.3. </span>The Lagrange element nodes<a class=
307307
<div class="proof proof-type-exercise" id="id8">
308308
<span id="ex-vandermonde"></span>
309309
<div class="proof-title">
310-
<span class="proof-type">Exercise 2.47</span>
310+
<span class="proof-type">Exercise 2.46</span>
311311

312312
</div><div class="proof-content">
313313
<p>Use <a class="reference internal" href="#equation-vandermonde">(2.7)</a> to implement
@@ -349,7 +349,7 @@ <h2><span class="section-number">2.5. </span>Implementing finite elements in Pyt
349349
<div class="proof proof-type-exercise" id="id9">
350350
<span id="ex-finite-element"></span>
351351
<div class="proof-title">
352-
<span class="proof-type">Exercise 2.48</span>
352+
<span class="proof-type">Exercise 2.47</span>
353353

354354
</div><div class="proof-content">
355355
<p>Implement the rest of the
@@ -390,7 +390,7 @@ <h2><span class="section-number">2.6. </span>Implementing the Lagrange Elements<
390390
<div class="proof proof-type-exercise" id="id10">
391391
<span id="ex-lagrange-element"></span>
392392
<div class="proof-title">
393-
<span class="proof-type">Exercise 2.49</span>
393+
<span class="proof-type">Exercise 2.48</span>
394394

395395
</div><div class="proof-content">
396396
<p>Implement the <code class="xref py py-meth docutils literal notranslate"><span class="pre">__init__()</span></code> method of
@@ -438,7 +438,7 @@ <h2><span class="section-number">2.7. </span>Tabulating basis functions<a class=
438438
<div class="proof proof-type-exercise" id="id11">
439439
<span id="ex-tabulate"></span>
440440
<div class="proof-title">
441-
<span class="proof-type">Exercise 2.50</span>
441+
<span class="proof-type">Exercise 2.49</span>
442442

443443
</div><div class="proof-content">
444444
<p>Implement <a class="reference internal" href="fe_utils.html#fe_utils.finite_elements.FiniteElement.tabulate" title="fe_utils.finite_elements.FiniteElement.tabulate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">tabulate()</span></code></a>.
@@ -489,7 +489,7 @@ <h2><span class="section-number">2.8. </span>Gradients of basis functions<a clas
489489
<div class="proof proof-type-exercise" id="id12">
490490

491491
<div class="proof-title">
492-
<span class="proof-type">Exercise 2.51</span>
492+
<span class="proof-type">Exercise 2.50</span>
493493

494494
</div><div class="proof-content">
495495
<p>Extend <a class="reference internal" href="fe_utils.html#fe_utils.finite_elements.vandermonde_matrix" title="fe_utils.finite_elements.vandermonde_matrix"><code class="xref py py-meth docutils literal notranslate"><span class="pre">vandermonde_matrix()</span></code></a> so that
@@ -520,7 +520,7 @@ <h2><span class="section-number">2.8. </span>Gradients of basis functions<a clas
520520
<div class="proof proof-type-exercise" id="id13">
521521

522522
<div class="proof-title">
523-
<span class="proof-type">Exercise 2.52</span>
523+
<span class="proof-type">Exercise 2.51</span>
524524

525525
</div><div class="proof-content">
526526
<p>Extend <a class="reference internal" href="fe_utils.html#fe_utils.finite_elements.FiniteElement.tabulate" title="fe_utils.finite_elements.FiniteElement.tabulate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">tabulate()</span></code></a> to
@@ -591,7 +591,7 @@ <h2><span class="section-number">2.9. </span>Interpolating functions to the fini
591591
<div class="proof proof-type-exercise" id="id14">
592592
<span id="ex-interpolate"></span>
593593
<div class="proof-title">
594-
<span class="proof-type">Exercise 2.53</span>
594+
<span class="proof-type">Exercise 2.52</span>
595595

596596
</div><div class="proof-content">
597597
<p>Implement <a class="reference internal" href="fe_utils.html#fe_utils.finite_elements.FiniteElement.interpolate" title="fe_utils.finite_elements.FiniteElement.interpolate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">interpolate()</span></code></a>.</p>

6_finite_element_problems.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -317,13 +317,13 @@ <h3><span class="section-number">6.2.4. </span>Sparse matrices<a class="headerli
317317
are avoided.</p>
318318
<div class="admonition hint">
319319
<p class="admonition-title">Hint</p>
320-
<p>The <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.html#module-scipy.sparse" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse</span></code></a> package provides convenient interfaces
320+
<p>The <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.html#module-scipy.sparse" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse</span></code></a> package provides convenient interfaces
321321
which enable Python code to employ a variety of sparse matrix
322322
formats using essentially identical operations to the dense matrix
323323
case. The skeleton code already contains commands to construct
324324
empty sparse matrices and to solve the resulting linear system. You
325325
may, if you wish, experiment with choosing other sparse formats
326-
from <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.html#module-scipy.sparse" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse</span></code></a>, but it is very strongly suggested that
326+
from <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.html#module-scipy.sparse" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse</span></code></a>, but it is very strongly suggested that
327327
you do <strong>not</strong> switch to a dense numpy array; unless, that is, you
328328
particularly enjoy running out of memory on your computer!</p>
329329
</div>

9_mixed_problems.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ <h3><span class="section-number">9.1.2. </span>Tabulation<a class="headerlink" h
174174
<h3><span class="section-number">9.1.3. </span>Nodes<a class="headerlink" href="#nodes" title="Permalink to this headline"></a></h3>
175175
<p>Even though we didn’t need the nodes of the <code class="xref py py-class docutils literal notranslate"><span class="pre">VectorFiniteElement</span></code> to
176176
construct its basis, we will need them to implement interpolation. In
177-
<a class="reference internal" href="2_finite_elements.html#nodalbasis"><span class="std std-numref">Definition 2.45</span></a> we learned that
177+
<a class="reference internal" href="2_finite_elements.html#nodalbasis"><span class="std std-numref">Definition 2.44</span></a> we learned that
178178
the nodes of a finite element are related to the corresponding nodal basis by:</p>
179179
<div class="math notranslate nohighlight" id="equation-9-mixed-problems-3">
180180
<span class="eqno">(9.6)<a class="headerlink" href="#equation-9-mixed-problems-3" title="Permalink to this equation"></a></span>\[\mathbf{\Phi}^*_i(\mathbf{\Phi}_j) = \delta_{ij}\]</div>
@@ -380,7 +380,7 @@ <h3><span class="section-number">9.4.1. </span>Assembling block systems<a class=
380380
</div>
381381
<p>This means that one can first create a full vector of length <span class="math notranslate nohighlight">\(n+m\)</span> and then
382382
slice it to create subvectors that can be used for assembly.</p>
383-
<p>Conversely, <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.html#module-scipy.sparse" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse</span></code></a> provides the <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.bmat.html#scipy.sparse.bmat" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-func docutils literal notranslate"><span class="pre">bmat()</span></code></a>
383+
<p>Conversely, <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.html#module-scipy.sparse" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse</span></code></a> provides the <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.bmat.html#scipy.sparse.bmat" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-func docutils literal notranslate"><span class="pre">bmat()</span></code></a>
384384
function which will stitch together a larger sparse matrix from blocks. In
385385
order to have the full indexing options you are likely to want for imposing the
386386
boundary conditions, you will probably want to specify that the resulting
@@ -408,15 +408,15 @@ <h3><span class="section-number">9.4.3. </span>Solving the matrix system<a class
408408
<p>The block matrix system that you eventually produce will be larger than many of
409409
those we have previously encountered, and will have non-zero entries further
410410
from the diagonal. This can cause the matrix solver to become expensive in both
411-
time and memory. Fortunately, <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.linalg.html#module-scipy.sparse.linalg" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse.linalg</span></code></a> now incorporates an
411+
time and memory. Fortunately, <a class="reference external" href="http://scipy.github.io/devdocs/reference/sparse.linalg.html#module-scipy.sparse.linalg" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scipy.sparse.linalg</span></code></a> now incorporates an
412412
interface to <a class="reference external" href="https://portal.nersc.gov/project/sparse/superlu/">SuperLU</a>,
413413
which is a high-performance direct sparse solver. The recommended solution
414414
strategy is therefore:</p>
415415
<ol class="arabic simple">
416-
<li><p>Convert your block matrix to <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.csc_matrix.html#scipy.sparse.csc_matrix" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-class docutils literal notranslate"><span class="pre">scipy.sparse.csc_matrix</span></code></a>, which is the
416+
<li><p>Convert your block matrix to <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.csc_matrix.html#scipy.sparse.csc_matrix" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-class docutils literal notranslate"><span class="pre">scipy.sparse.csc_matrix</span></code></a>, which is the
417417
format that SuperLU requires.</p></li>
418-
<li><p>Factorise the matrix using <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.linalg.splu.html#scipy.sparse.linalg.splu" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-func docutils literal notranslate"><span class="pre">scipy.sparse.linalg.splu()</span></code></a>.</p></li>
419-
<li><p>Use the resulting <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.linalg.SuperLU.html#scipy.sparse.linalg.SuperLU" title="(in SciPy v1.11.0.dev0+1388.e6c27e5)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SuperLU</span></code></a> object to finally solve
418+
<li><p>Factorise the matrix using <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.linalg.splu.html#scipy.sparse.linalg.splu" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-func docutils literal notranslate"><span class="pre">scipy.sparse.linalg.splu()</span></code></a>.</p></li>
419+
<li><p>Use the resulting <a class="reference external" href="http://scipy.github.io/devdocs/reference/generated/scipy.sparse.linalg.SuperLU.html#scipy.sparse.linalg.SuperLU" title="(in SciPy v1.11.0.dev0+1409.6d43301)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SuperLU</span></code></a> object to finally solve
420420
the system.</p></li>
421421
</ol>
422422
</section>

Finiteelementcourse.pdf

-236 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)