66 < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " /> < meta name ="viewport " content ="width=device-width, initial-scale=1 " />
77
88 < title > 1. Numerical quadrature — Finite element course 2024.0 documentation</ title >
9- < link rel ="stylesheet " type ="text/css " href ="_static/pygments.css?v=b76e3c8a " />
9+ < link rel ="stylesheet " type ="text/css " href ="_static/pygments.css?v=03e43079 " />
1010 < link rel ="stylesheet " type ="text/css " href ="_static/fenics.css?v=7793b76c " />
1111 < link rel ="stylesheet " type ="text/css " href ="_static/proof.css " />
12- < link rel ="stylesheet " type ="text/css " href ="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24. min.css?v=0a3b3ea7 " />
12+ < link rel ="stylesheet " type ="text/css " href ="_static/sphinx-design. min.css?v=95c83b7e " />
1313 < script src ="_static/documentation_options.js?v=7ff0cb77 "> </ script >
14- < script src ="_static/doctools.js?v=888ff710 "> </ script >
14+ < script src ="_static/doctools.js?v=9a2dae69 "> </ script >
1515 < script src ="_static/sphinx_highlight.js?v=dc90522c "> </ script >
1616 < script src ="_static/proof.js "> </ script >
1717 < script src ="_static/design-tabs.js?v=36754332 "> </ script >
5252< span id ="quadrature "> </ span > < h1 > < span class ="section-number "> 1. </ span > Numerical quadrature< a class ="headerlink " href ="#numerical-quadrature " title ="Link to this heading "> ¶</ a > </ h1 >
5353< details class ="sd-sphinx-override sd-dropdown sd-card sd-mb-3 ">
5454< summary class ="sd-summary-title sd-card-header ">
55- A video recording of the following material is available here.< div class ="sd-summary-down docutils ">
56- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-down " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z "> </ path > </ svg > </ div >
57- < div class ="sd-summary-up docutils ">
58- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-up " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z "> </ path > </ svg > </ div >
59- </ summary > < div class ="sd-summary-content sd-card-body docutils ">
55+ < span class ="sd-summary-text "> A video recording of the following material is available here.</ span > < span class ="sd-summary-state-marker sd-summary-chevron-right "> < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-right " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z "> </ path > </ svg > </ span > </ summary > < div class ="sd-summary-content sd-card-body docutils ">
6056< div class ="vimeo docutils container ">
6157< iframe src ="https://player.vimeo.com/video/495171130 "
6258frameborder ="0 " allow ="autoplay; fullscreen "
@@ -117,11 +113,7 @@ <h2><span class="section-number">1.1. </span>Exact and incomplete quadrature<a c
117113< h2 > < span class ="section-number "> 1.2. </ span > Examples in one dimension< a class ="headerlink " href ="#examples-in-one-dimension " title ="Link to this heading "> ¶</ a > </ h2 >
118114< details class ="sd-sphinx-override sd-dropdown sd-card sd-mb-3 ">
119115< summary class ="sd-summary-title sd-card-header ">
120- A video recording of the following material is available here.< div class ="sd-summary-down docutils ">
121- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-down " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z "> </ path > </ svg > </ div >
122- < div class ="sd-summary-up docutils ">
123- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-up " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z "> </ path > </ svg > </ div >
124- </ summary > < div class ="sd-summary-content sd-card-body docutils ">
116+ < span class ="sd-summary-text "> A video recording of the following material is available here.</ span > < span class ="sd-summary-state-marker sd-summary-chevron-right "> < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-right " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z "> </ path > </ svg > </ span > </ summary > < div class ="sd-summary-content sd-card-body docutils ">
125117< div class ="vimeo docutils container ">
126118< iframe src ="https://player.vimeo.com/video/495171317 "
127119frameborder ="0 " allow ="autoplay; fullscreen "
@@ -150,11 +142,7 @@ <h2><span class="section-number">1.2. </span>Examples in one dimension<a class="
150142< h2 > < span class ="section-number "> 1.3. </ span > Reference cells< a class ="headerlink " href ="#reference-cells " title ="Link to this heading "> ¶</ a > </ h2 >
151143< details class ="sd-sphinx-override sd-dropdown sd-card sd-mb-3 ">
152144< summary class ="sd-summary-title sd-card-header ">
153- A video recording of the following material is available here.< div class ="sd-summary-down docutils ">
154- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-down " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z "> </ path > </ svg > </ div >
155- < div class ="sd-summary-up docutils ">
156- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-up " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z "> </ path > </ svg > </ div >
157- </ summary > < div class ="sd-summary-content sd-card-body docutils ">
145+ < span class ="sd-summary-text "> A video recording of the following material is available here.</ span > < span class ="sd-summary-state-marker sd-summary-chevron-right "> < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-right " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z "> </ path > </ svg > </ span > </ summary > < div class ="sd-summary-content sd-card-body docutils ">
158146< div class ="vimeo docutils container ">
159147< iframe src ="https://player.vimeo.com/video/495171380 "
160148frameborder ="0 " allow ="autoplay; fullscreen "
@@ -260,7 +248,8 @@ <h3><span class="section-number">1.3.2. </span>Reference cell entities<a class="
260248< iframe allowfullscreen ="true " src ="https://www.youtube.com/embed/7A7JU7bGw0E?modestbranding=1;controls=0;rel=0 " style ="border: 0; height: 367px; width: 600px ">
261249</ iframe > </ div > </ div >
262250< figure class ="align-default " id ="id4 ">
263- < span id ="figreferenceentities "> </ span > < a class ="reference internal image-reference " href ="_images/entities.svg "> < img alt ="_images/entities.svg " src ="_images/entities.svg " width ="50% " /> </ a >
251+ < span id ="figreferenceentities "> </ span > < a class ="reference internal image-reference " href ="_images/entities.svg "> < img alt ="_images/entities.svg " src ="_images/entities.svg " style ="width: 50%; " />
252+ </ a >
264253< figcaption >
265254< p > < span class ="caption-number "> Fig. 1.5 </ span > < span class ="caption-text "> Local numbering and orientation of the reference entities.</ span > < a class ="headerlink " href ="#id4 " title ="Link to this image "> ¶</ a > </ p >
266255</ figcaption >
@@ -282,11 +271,7 @@ <h3><span class="section-number">1.3.2. </span>Reference cell entities<a class="
282271< h2 > < span class ="section-number "> 1.4. </ span > Quadrature rules on reference elements< a class ="headerlink " href ="#quadrature-rules-on-reference-elements " title ="Link to this heading "> ¶</ a > </ h2 >
283272< details class ="sd-sphinx-override sd-dropdown sd-card sd-mb-3 ">
284273< summary class ="sd-summary-title sd-card-header ">
285- A video recording of the following material is available here.< div class ="sd-summary-down docutils ">
286- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-down " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z "> </ path > </ svg > </ div >
287- < div class ="sd-summary-up docutils ">
288- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-up " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z "> </ path > </ svg > </ div >
289- </ summary > < div class ="sd-summary-content sd-card-body docutils ">
274+ < span class ="sd-summary-text "> A video recording of the following material is available here.</ span > < span class ="sd-summary-state-marker sd-summary-chevron-right "> < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-right " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z "> </ path > </ svg > </ span > </ summary > < div class ="sd-summary-content sd-card-body docutils ">
290275< div class ="vimeo docutils container ">
291276< iframe src ="https://player.vimeo.com/video/495171523 "
292277frameborder ="0 " allow ="autoplay; fullscreen "
@@ -349,7 +334,8 @@ <h2><span class="section-number">1.6. </span>Extending Legendre-Gauß quadrature
349334< span class ="eqno "> (1.12)< a class ="headerlink " href ="#equation-1-quadrature-4 " title ="Link to this equation "> ¶</ a > </ span > \[(x_\textrm{tri},\ y_\textrm{tri}) =
350335 \left(x_\textrm{sq},\ y_\textrm{sq}(1 - x_\textrm{sq})\right)\]</ div >
351336< figure class ="align-default " id ="id5 ">
352- < span id ="figduffy "> </ span > < a class ="reference internal image-reference " href ="_images/duffy.svg "> < img alt ="_images/duffy.svg " src ="_images/duffy.svg " width ="60% " /> </ a >
337+ < span id ="figduffy "> </ span > < a class ="reference internal image-reference " href ="_images/duffy.svg "> < img alt ="_images/duffy.svg " src ="_images/duffy.svg " style ="width: 60%; " />
338+ </ a >
353339< figcaption >
354340< p > < span class ="caption-number "> Fig. 1.6 </ span > < span class ="caption-text "> The Duffy transform maps a square to a triangle by collapsing one side.</ span > < a class ="headerlink " href ="#id5 " title ="Link to this image "> ¶</ a > </ p >
355341</ figcaption >
@@ -370,11 +356,7 @@ <h2><span class="section-number">1.6. </span>Extending Legendre-Gauß quadrature
370356< h2 > < span class ="section-number "> 1.7. </ span > Implementing quadrature rules in Python< a class ="headerlink " href ="#implementing-quadrature-rules-in-python " title ="Link to this heading "> ¶</ a > </ h2 >
371357< details class ="sd-sphinx-override sd-dropdown sd-card sd-mb-3 ">
372358< summary class ="sd-summary-title sd-card-header ">
373- A video recording about how to do this exercise is available here.< div class ="sd-summary-down docutils ">
374- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-down " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z "> </ path > </ svg > </ div >
375- < div class ="sd-summary-up docutils ">
376- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-up " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z "> </ path > </ svg > </ div >
377- </ summary > < div class ="sd-summary-content sd-card-body docutils ">
359+ < span class ="sd-summary-text "> A video recording about how to do this exercise is available here.</ span > < span class ="sd-summary-state-marker sd-summary-chevron-right "> < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-right " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z "> </ path > </ svg > </ span > </ summary > < div class ="sd-summary-content sd-card-body docutils ">
378360< div class ="vimeo docutils container ">
379361< iframe src ="https://player.vimeo.com/video/495171661 "
380362frameborder ="0 " allow ="autoplay; fullscreen "
@@ -408,19 +390,15 @@ <h2><span class="section-number">1.7. </span>Implementing quadrature rules in Py
408390< p > You can implement
409391< a class ="reference internal " href ="fe_utils.html#fe_utils.quadrature.QuadratureRule.integrate " title ="fe_utils.quadrature.QuadratureRule.integrate "> < code class ="xref py py-meth docutils literal notranslate "> < span class ="pre "> integrate()</ span > </ code > </ a > in one line
410392using a < a class ="reference external " href ="https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions "> list
411- comprehension</ a > and < a class ="reference external " href ="https://numpy.org/doc/stable/reference/generated/numpy.dot.html#numpy.dot " title ="(in NumPy v1.26 ) "> < code class ="xref py py-func docutils literal notranslate "> < span class ="pre "> numpy.dot()</ span > </ code > </ a > .</ p >
393+ comprehension</ a > and < a class ="reference external " href ="https://numpy.org/doc/stable/reference/generated/numpy.dot.html#numpy.dot " title ="(in NumPy v2.2 ) "> < code class ="xref py py-func docutils literal notranslate "> < span class ="pre "> numpy.dot()</ span > </ code > </ a > .</ p >
412394</ div >
413395< div class ="admonition hint ">
414396< p class ="admonition-title "> Hint</ p >
415397< p > Don’t forget to activate your Python venv!</ p >
416398</ div >
417399< details class ="sd-sphinx-override sd-dropdown sd-card sd-mb-3 ">
418400< summary class ="sd-summary-title sd-card-header ">
419- A video recording of the solution to this exercise is available here.< div class ="sd-summary-down docutils ">
420- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-down " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z "> </ path > </ svg > </ div >
421- < div class ="sd-summary-up docutils ">
422- < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-up " viewBox ="0 0 24 24 " aria-hidden ="true "> < path fill-rule ="evenodd " d ="M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z "> </ path > </ svg > </ div >
423- </ summary > < div class ="sd-summary-content sd-card-body docutils ">
401+ < span class ="sd-summary-text "> A video recording of the solution to this exercise is available here.</ span > < span class ="sd-summary-state-marker sd-summary-chevron-right "> < svg version ="1.1 " width ="1.5em " height ="1.5em " class ="sd-octicon sd-octicon-chevron-right " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z "> </ path > </ svg > </ span > </ summary > < div class ="sd-summary-content sd-card-body docutils ">
424402< div class ="vimeo docutils container ">
425403< iframe src ="https://player.vimeo.com/video/495171917 "
426404frameborder ="0 " allow ="autoplay; fullscreen "
@@ -439,7 +417,7 @@ <h2><span class="section-number">1.7. </span>Implementing quadrature rules in Py
439417 </ div >
440418 < div class ="footer " role ="contentinfo ">
441419 © Copyright 2014-2024, David A. Ham and Colin J. Cotter.
442- Created using < a href ="https://www.sphinx-doc.org/ "> Sphinx</ a > 7.2.6 .
420+ Created using < a href ="https://www.sphinx-doc.org/ "> Sphinx</ a > 7.4.0 .
443421 </ div >
444422 </ body >
445423</ html >
0 commit comments