-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathL5_convergence.html
1076 lines (946 loc) · 73.7 KB
/
L5_convergence.html
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>5. Convergence of finite element approximations — Finite element course 2024.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/fenics.css?v=7793b76c" />
<link rel="stylesheet" type="text/css" href="_static/proof.css" />
<link rel="stylesheet" type="text/css" href="_static/sphinx-design.min.css?v=95c83b7e" />
<script src="_static/documentation_options.js?v=7ff0cb77"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/proof.js"></script>
<script src="_static/design-tabs.js?v=36754332"></script>
<script async="async" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="6. Stokes equation" href="L6_stokes.html" />
<link rel="prev" title="4. Finite element problems: solvability and stability" href="L4_feprobs.html" />
<!--[if lte IE 6]>
<link rel="stylesheet" href="_static/ie6.css" type="text/css" media="screen" charset="utf-8" />
<![endif]-->
<link rel="stylesheet" href="_static/featured.css">
<link rel="shortcut icon" href="_static/icon.ico" />
</head><body>
<div class="wrapper">
<a href="index.html"><img src="_static/banner.svg" width="900px" alt="FInAT Project Banner" /></a>
<div id="access">
<div class="menu">
<ul>
<li class="page_item"><a href="https://github.com/finite-element/finite-element-course" title="GitHub">GitHub</a></li>
</ul>
</div><!-- .menu -->
</div><!-- #access -->
</div><!-- #wrapper -->
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="convergence-of-finite-element-approximations">
<span id="convergence"></span><h1><span class="section-number">5. </span>Convergence of finite element approximations<a class="headerlink" href="#convergence-of-finite-element-approximations" title="Link to this heading">¶</a></h1>
<p>In this section we develop tools to prove convergence of finite
element approximations to the exact solutions of PDEs.</p>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490669563"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=5d2d1721-725f-43ef-bcdd-ac8f01056006">watch this video on Panopto</a></p>
</div>
</details><section id="weak-derivatives">
<h2><span class="section-number">5.1. </span>Weak derivatives<a class="headerlink" href="#weak-derivatives" title="Link to this heading">¶</a></h2>
<p>Consider a triangulation <span class="math notranslate nohighlight">\(\mathcal{T}\)</span> with recursively refined
triangulations <span class="math notranslate nohighlight">\(\mathcal{T}_h\)</span> and corresponding finite element spaces
<span class="math notranslate nohighlight">\(V_h\)</span>. Given stable finite element variational problems, we have a
sequence of solutions <span class="math notranslate nohighlight">\(u_h\)</span> as <span class="math notranslate nohighlight">\(h\to 0\)</span>, satisfying the
<span class="math notranslate nohighlight">\(h\)</span>-independent bound</p>
<div class="math notranslate nohighlight">
\[\|u_h\|_{H^1(\Omega)} \leq C.\]</div>
<p>What are these solutions converging to? We need to find a Hilbert
space that contains all <span class="math notranslate nohighlight">\(V_h\)</span> as <span class="math notranslate nohighlight">\(h\to0\)</span>, that extends the <span class="math notranslate nohighlight">\(H^1\)</span> norm
to the <span class="math notranslate nohighlight">\(h\to 0\)</span> limit of finite element functions.</p>
<p>Our first task is to define a derivative that works for all finite
element functions, without reference to a mesh. This requires some
preliminary definitions, starting by considering some very smooth
functions that vanish on the boundaries together with their
derivatives (so that we can integrate by parts as much as we like).</p>
<div class="proof proof-type-definition" id="id1">
<div class="proof-title">
<span class="proof-type">Definition 5.1</span>
<span class="proof-title-name">(Compact support on (Omega))</span>
</div><div class="proof-content">
<p>A function <span class="math notranslate nohighlight">\(u\)</span> has compact support on <span class="math notranslate nohighlight">\(\Omega\)</span> if there exists <span class="math notranslate nohighlight">\(\epsilon>0\)</span>
such that <span class="math notranslate nohighlight">\(u(x)=0\)</span> when <span class="math notranslate nohighlight">\(\min_{y\in\partial\Omega}|x-y|<\epsilon\)</span>.</p>
</div></div><div class="proof proof-type-definition" id="id2">
<div class="proof-title">
<span class="proof-type">Definition 5.2</span>
<span class="proof-title-name">((C^infty_0(Omega)))</span>
</div><div class="proof-content">
<p>We denote by <span class="math notranslate nohighlight">\(C^\infty_0(\Omega)\)</span> the subset of <span class="math notranslate nohighlight">\(C^\infty(\Omega)\)</span>
corresponding to functions that have compact support on
<span class="math notranslate nohighlight">\(\Omega\)</span>.</p>
</div></div><p>Next we will define a space containing the generalised derivative.</p>
<div class="proof proof-type-definition" id="id3">
<div class="proof-title">
<span class="proof-type">Definition 5.3</span>
<span class="proof-title-name">((L^1_{loc}))</span>
</div><div class="proof-content">
<p>For triangles <span class="math notranslate nohighlight">\(K \subset \mathrm{int}\,(\Omega)\)</span>, we define</p>
<div class="math notranslate nohighlight">
\[\|u\|_{L^1(K)} = \int_K |u|\, d x,\]</div>
<p>and</p>
<div class="math notranslate nohighlight">
\[L^1_K = \left\{u:\|u\|_{L^1(K)}<\infty\right\}.\]</div>
<p>Then</p>
<div class="math notranslate nohighlight">
\[L^1_{loc} = \left\{
f: f \in L^1(K) \quad \forall K\subset\mathrm{int}\,(\Omega)
\right
\}.\]</div>
</div></div><p>Finally we are in a position to introduce the generalisation of the
derivative itself.</p>
<div class="proof proof-type-definition" id="id4">
<div class="proof-title">
<span class="proof-type">Definition 5.4</span>
<span class="proof-title-name">(Weak derivative)</span>
</div><div class="proof-content">
<p>The weak derivative <span class="math notranslate nohighlight">\(D_w^\alpha f\in L^1_{loc}(\Omega)\)</span> of a function <span class="math notranslate nohighlight">\(f\in L^1_{loc}(\Omega)\)</span> is defined by</p>
<div class="math notranslate nohighlight">
\[\int_\Omega \phi D_w^\alpha f \, d x = (-1)^{|\alpha|}
\int_\Omega D^\alpha \phi f \, d x, \quad \forall \phi\in C^\infty_0(\Omega).\]</div>
</div></div><p>Not that we do not see any boundary terms since <span class="math notranslate nohighlight">\(\phi\)</span> vanishes at the
boundary along with all derivatives.</p>
<p>Now we check that the derivative agrees with our finite element derivative
definition.</p>
<div class="proof proof-type-lemma" id="id5">
<div class="proof-title">
<span class="proof-type">Lemma 5.5</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(V\)</span> be a <span class="math notranslate nohighlight">\(C^0\)</span> finite element space. Then, for <span class="math notranslate nohighlight">\(u\in V\)</span>, the finite
element derivative of u is equal to the weak
derivative of <span class="math notranslate nohighlight">\(u\)</span>.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Taking any <span class="math notranslate nohighlight">\(\phi\in C_0^\infty(\Omega)\)</span>, we have</p>
<div class="math notranslate nohighlight">
\[ \begin{align}\begin{aligned}\int_\Omega
\phi \frac{\partial}{\partial x_i}|_{FE}u \, d x = \sum_{K}\int_K \phi \frac{\partial u}{\partial x_i}\, d x,\\&= \sum_K\left(-\int_K \frac{\partial \phi}{\partial x_i} u \, d x + \int_{\partial K}
\phi n_i u \, d S\right),\\&= -\sum_K\int_K \frac{\partial\phi}{\partial x_i} u \, d x = -\int_\Omega
\frac{\partial \phi}{\partial x_i} u \, d x,\end{aligned}\end{align} \]</div>
<p>as required.</p>
</div></div><div class="proof proof-type-exercise" id="id6">
<div class="proof-title">
<span class="proof-type">Exercise 5.6</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(V\)</span> be a <span class="math notranslate nohighlight">\(C^1\)</span> finite element space. For <span class="math notranslate nohighlight">\(u\in V\)</span>, show that the finite
second derivatives of u is equal to the weak
second derivative of <span class="math notranslate nohighlight">\(u\)</span>.</p>
</div></div><div class="proof proof-type-exercise" id="id7">
<div class="proof-title">
<span class="proof-type">Exercise 5.7</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(V\)</span> be a discontinuous finite element space. For <span class="math notranslate nohighlight">\(u\in V\)</span>, show
that the weak derivative does not coincide with the finite element
derivative in general (find a counter-example).</p>
</div></div><div class="proof proof-type-lemma" id="id8">
<div class="proof-title">
<span class="proof-type">Lemma 5.8</span>
</div><div class="proof-content">
<p>For <span class="math notranslate nohighlight">\(u\in C^{|\alpha|}(\Omega)\)</span>, the usual “strong” derivative
<span class="math notranslate nohighlight">\(D^\alpha\)</span> of u is equal to the weak derivative <span class="math notranslate nohighlight">\(D_w^\alpha\)</span> of <span class="math notranslate nohighlight">\(u\)</span>.</p>
</div></div><div class="proof proof-type-exercise" id="id9">
<div class="proof-title">
<span class="proof-type">Exercise 5.9</span>
</div><div class="proof-content">
<p>Prove this lemma.</p>
</div></div><p>Due to these equivalences, we do not need to distinguish between
strong, weak and finite element first derivatives for <span class="math notranslate nohighlight">\(C^0\)</span> finite
element functions. All derivatives are assumed to be weak from now on.</p>
</section>
<section id="sobolev-spaces">
<h2><span class="section-number">5.2. </span>Sobolev spaces<a class="headerlink" href="#sobolev-spaces" title="Link to this heading">¶</a></h2>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490880876"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=ab4667ea-fb50-461e-940f-ac8f010c13fa">watch this video on Panopto</a></p>
</div>
</details><p>We are now in a position to define a space that contains all <span class="math notranslate nohighlight">\(C^0\)</span>
finite element spaces. This means that we can consider the limit
of finite element approximations as <span class="math notranslate nohighlight">\(h\to 0\)</span>.</p>
<div class="proof proof-type-definition" id="id10">
<div class="proof-title">
<span class="proof-type">Definition 5.10</span>
<span class="proof-title-name">(The Sobolev space (H^1))</span>
</div><div class="proof-content">
<p><span class="math notranslate nohighlight">\(H^1(\Omega)\)</span> is the function space defined by</p>
<div class="math notranslate nohighlight">
\[H^1(\Omega) = \left\{
u\in L^1_{loc}: \|u\|_{H^1(\Omega)}<\infty\right\}.\]</div>
</div></div><p>Going further, the Sobolev space <span class="math notranslate nohighlight">\(H^k\)</span> is the space of all functions
with finite <span class="math notranslate nohighlight">\(H^k\)</span> norm.</p>
<div class="proof proof-type-definition" id="id11">
<div class="proof-title">
<span class="proof-type">Definition 5.11</span>
<span class="proof-title-name">(The Sobolev space (H^k))</span>
</div><div class="proof-content">
<p><span class="math notranslate nohighlight">\(H^k(\Omega)\)</span> is the function space defined by</p>
<div class="math notranslate nohighlight">
\[H^k(\Omega) = \left\{
u\in L^1_{loc}: \|u\|_{H^k(\Omega)}<\infty\right\}\]</div>
</div></div><p>Since <span class="math notranslate nohighlight">\(\|u\|_{H^k(\Omega)} \leq \|u\|_{H^l(\Omega)}\)</span> for <span class="math notranslate nohighlight">\(k<l\)</span>,
we have <span class="math notranslate nohighlight">\(H^l \subset H^k\)</span> for <span class="math notranslate nohighlight">\(k<l\)</span>.</p>
<p>If we are to consider limits of finite element functions in these
Sobolev spaces, then it is important that they are closed, i.e.
limits remain in the spaces.</p>
<div class="proof proof-type-lemma" id="id12">
<div class="proof-title">
<span class="proof-type">Lemma 5.12</span>
<span class="proof-title-name">((H^k) spaces are Hilbert spaces)</span>
</div><div class="proof-content">
<p>The space <span class="math notranslate nohighlight">\(H^k(\Omega)\)</span> is closed.</p>
<p>Let <span class="math notranslate nohighlight">\(\{u_i\}\)</span> be a Cauchy sequence in <span class="math notranslate nohighlight">\(H^k\)</span>. Then <span class="math notranslate nohighlight">\(\{D^\alpha u_i\}\)</span>
is a Cauchy sequence in <span class="math notranslate nohighlight">\(L^2(\Omega)\)</span> (which is closed), so <span class="math notranslate nohighlight">\(\exists
v^\alpha \in L^2(\Omega)\)</span> such that <span class="math notranslate nohighlight">\(D^\alpha u_i\to v^\alpha\)</span> for
<span class="math notranslate nohighlight">\(|\alpha|\leq k\)</span>. If <span class="math notranslate nohighlight">\(w_j\to w\)</span> in <span class="math notranslate nohighlight">\(L^2(\Omega)\)</span>, then for <span class="math notranslate nohighlight">\(\phi\in
C^\infty_0(\Omega)\)</span>,</p>
<div class="math notranslate nohighlight">
\[\int_\Omega (w_j-w)\phi \, d x \leq \|w_j-w\|_{L^2(\Omega)}\|\phi\|_{L^\infty}\to 0.\]</div>
<p>We use this equation to get</p>
<div class="math notranslate nohighlight">
\[ \begin{align}\begin{aligned}\int_\Omega v^\alpha \phi \, d x &= \lim_{i\to \infty} \int_\Omega
\phi D^\alpha u_i \, d x,\\&= \lim_{i\to \infty} (-1)^{|\alpha|}\int_\Omega u_i D^\alpha\phi \, d x ,\\&= (-1)^{|\alpha|} \int_\Omega v D^\alpha \phi \, d x,\end{aligned}\end{align} \]</div>
<p>i.e. <span class="math notranslate nohighlight">\(v^\alpha\)</span> is the weak derivative of <span class="math notranslate nohighlight">\(u\)</span> as required.</p>
</div></div><p>We quote the following much deeper results without proof.</p>
<div class="proof proof-type-theorem" id="id13">
<div class="proof-title">
<span class="proof-type">Theorem 5.13</span>
<span class="proof-title-name">((H=W))</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\Omega\)</span> be any open set. Then <span class="math notranslate nohighlight">\(H^k(\Omega)\cap C^\infty(\Omega)\)</span>
is dense in <span class="math notranslate nohighlight">\(H^k(\Omega)\)</span>.</p>
</div></div><p>The interpretation is that for any function <span class="math notranslate nohighlight">\(u\in H^k(\Omega)\)</span>,
we can find a sequence of <span class="math notranslate nohighlight">\(C^\infty\)</span> functions <span class="math notranslate nohighlight">\(u_i\)</span> converging
to <span class="math notranslate nohighlight">\(u\)</span>. This is very useful as we can compute many things using
<span class="math notranslate nohighlight">\(C^\infty\)</span> functions and take the limit.</p>
<div class="proof proof-type-theorem" id="id14">
<span id="sobolev"></span>
<div class="proof-title">
<span class="proof-type">Theorem 5.14</span>
<span class="proof-title-name">(Sobolev’s inequality)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\Omega\)</span> be an <span class="math notranslate nohighlight">\(n\)</span>-dimensional domain with Lipschitz boundary, let
<span class="math notranslate nohighlight">\(k\)</span> be an integer with <span class="math notranslate nohighlight">\(k>n/2\)</span>. Then there exists a constant
<span class="math notranslate nohighlight">\(C\)</span> such that</p>
<div class="math notranslate nohighlight">
\[\|u\|_{L^\infty(\Omega)} = \mathrm{ess}\sup_{x\in \Omega}|u(x)|
\leq C\|u\|_{H^k(\Omega)}.\]</div>
<p>Further, there is a <span class="math notranslate nohighlight">\(C^0\)</span> continuous function in the <span class="math notranslate nohighlight">\(L^\infty(\Omega)\)</span>
equivalence class of <span class="math notranslate nohighlight">\(u\)</span>.</p>
</div></div><p>Previously we saw this result for continuous functions. Here it is
presented for <span class="math notranslate nohighlight">\(H^k\)</span> functions, with an extra statement about the
existence of a <span class="math notranslate nohighlight">\(C^0\)</span> function in the equivalence class. The
interpretation is that if <span class="math notranslate nohighlight">\(u\in H^k\)</span> then there is a continuous
function <span class="math notranslate nohighlight">\(u_0\)</span> such that the set of points where <span class="math notranslate nohighlight">\(u\neq u_0\)</span> has zero
area/volume.</p>
<div class="proof proof-type-corollary" id="id15">
<div class="proof-title">
<span class="proof-type">Corollary 5.15</span>
<span class="proof-title-name">(Sobolev’s inequality for derivatives)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\Omega\)</span> be a <span class="math notranslate nohighlight">\(n\)</span>-dimensional domain with Lipschitz boundary, let
<span class="math notranslate nohighlight">\(k\)</span> be an integer with <span class="math notranslate nohighlight">\(k-m>n/2\)</span>. Then there exists a constant
<span class="math notranslate nohighlight">\(C\)</span> such that</p>
<div class="math notranslate nohighlight">
\[\|u\|_{W_\infty^m(\Omega)} :=
\sum_{|\alpha|\leq m}\|D^\alpha u\|_{L^\infty(\Omega)}
\leq C\|u\|_{H^k(\Omega)}.\]</div>
<p>Further, there is a <span class="math notranslate nohighlight">\(C^m\)</span> continuous function in the <span class="math notranslate nohighlight">\(L^\infty(\Omega)\)</span>
equivalence class of <span class="math notranslate nohighlight">\(u\)</span>.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Just apply Sobolev’s inequality to the <span class="math notranslate nohighlight">\(m\)</span> derivatives of <span class="math notranslate nohighlight">\(u\)</span>.</p>
</div></div></section>
<section id="variational-formulations-of-pdes">
<h2><span class="section-number">5.3. </span>Variational formulations of PDEs<a class="headerlink" href="#variational-formulations-of-pdes" title="Link to this heading">¶</a></h2>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490669306"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=4ac5a081-3109-4b2f-86df-ac8f010fa52c">watch this video on Panopto</a></p>
</div>
</details><p>We can now consider linear variational problems defined on <span class="math notranslate nohighlight">\(H^k\)</span>
spaces, by taking a bilinear form <span class="math notranslate nohighlight">\(b(u,v)\)</span> and linear form
<span class="math notranslate nohighlight">\(F(v)\)</span>, seeking <span class="math notranslate nohighlight">\(u\in H^k\)</span> (for chosen <span class="math notranslate nohighlight">\(H^k\)</span>) such that</p>
<div class="math notranslate nohighlight">
\[b(u,v) = F(v), \quad \forall v \in H^k.\]</div>
<p>Since <span class="math notranslate nohighlight">\(H^k\)</span> is a Hilbert space, the Lax-Milgram theorem can be used to
analyse, the existence of a unique solution to an <span class="math notranslate nohighlight">\(H^k\)</span> linear
variational problem.</p>
<p>For example, the Helmholtz problem solvability is immediate.</p>
<div class="proof proof-type-theorem" id="id16">
<div class="proof-title">
<span class="proof-type">Theorem 5.16</span>
<span class="proof-title-name">(Well-posedness for (modified) Helmholtz))</span>
</div><div class="proof-content">
<p>The Helmholtz variational problem on <span class="math notranslate nohighlight">\(H^1\)</span> satisfies the conditions
of the Lax-Milgram theorem.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>The proof for <span class="math notranslate nohighlight">\(C^0\)</span> finite element spaces extends immediately
to <span class="math notranslate nohighlight">\(H^1\)</span>.</p>
</div></div><p>Next, we develop the relationship between solutions of the Helmholtz
variational problem and the strong-form Helmholtz equation,</p>
<div class="math notranslate nohighlight">
\[u - \nabla^2 u = f, \quad \frac{\partial u}{\partial n} = 0, \mbox{ on } \partial\Omega.\]</div>
<p>The basic idea is to check that when you take a solution of the
Helmholtz variational problem and integrate by parts (provided that
this makes sense) then you reveal that the solution solves the strong
form equation. Functions in <span class="math notranslate nohighlight">\(H^k\)</span> make boundary values hard to
interpret since they are not guaranteed to have defined values on the
boundary. We make the following definition.</p>
<div class="proof proof-type-definition" id="id17">
<div class="proof-title">
<span class="proof-type">Definition 5.17</span>
<span class="proof-title-name">(Trace of (H^1) functions)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(u\in H^1(\Omega)\)</span> and choose <span class="math notranslate nohighlight">\(u_i\in C^\infty(\Omega)\)</span> such
that <span class="math notranslate nohighlight">\(u_i\to u\)</span>. We define the trace <span class="math notranslate nohighlight">\(u|_{\partial\Omega}\)</span>
on <span class="math notranslate nohighlight">\(\partial\Omega\)</span> as the limit of the restriction of <span class="math notranslate nohighlight">\(u_i\)</span> to
<span class="math notranslate nohighlight">\(\partial\Omega\)</span>. This definition is unique from the uniqueness of
limits.</p>
</div></div><p>We can extend our trace inequality for finite element functions directly
to <span class="math notranslate nohighlight">\(H^1\)</span> functions.</p>
<div class="proof proof-type-lemma" id="id18">
<div class="proof-title">
<span class="proof-type">Lemma 5.18</span>
<span class="proof-title-name">(Trace theorem for (H^1) functions)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(u \in H^1(\Omega)\)</span> for a polygonal domain <span class="math notranslate nohighlight">\(\Omega\)</span>. Then the
trace <span class="math notranslate nohighlight">\(u|_{\partial\Omega}\)</span> satisfies</p>
<div class="math notranslate nohighlight">
\[\|
u\|_{L^2(\partial\Omega)} \leq C\|u\|_{H^1(\Omega)}.\]</div>
</div></div><p>The interpretation of this result is that if <span class="math notranslate nohighlight">\(u\in H^1(\Omega)\)</span> then
<span class="math notranslate nohighlight">\(u|_{\partial\Omega}\in L^2(\partial\Omega)\)</span>.</p>
<div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Adapt the proof for <span class="math notranslate nohighlight">\(C^0\)</span> finite element functions, choosing <span class="math notranslate nohighlight">\(u\in
C^\infty(\Omega)\)</span>, and pass to the limit in <span class="math notranslate nohighlight">\(H^1(\Omega)\)</span>.</p>
</div></div><p>This tells us when the integration by parts formula makes sense.</p>
<div class="proof proof-type-lemma" id="id19">
<div class="proof-title">
<span class="proof-type">Lemma 5.19</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(u\in H^2(\Omega)\)</span>, <span class="math notranslate nohighlight">\(v\in H^1(\Omega)\)</span>. Then</p>
<div class="math notranslate nohighlight">
\[\int_\Omega (-\nabla^2 u)v \, d x
= \int_\Omega \nabla u\cdot\nabla v \, d x - \int_{\partial \Omega}
\frac{\partial u}{\partial n} v\, d S.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>First note that <span class="math notranslate nohighlight">\(u\in H^2(\Omega)\implies \nabla u \in (H^1(\Omega))^d\)</span>.
Then</p>
<p>Then, take <span class="math notranslate nohighlight">\(v_i\in C^\infty(\Omega)\)</span> and <span class="math notranslate nohighlight">\(u_i\in C^\infty(\Omega)\)</span> converging
to <span class="math notranslate nohighlight">\(v\)</span> and <span class="math notranslate nohighlight">\(u\)</span>, respectively, and <span class="math notranslate nohighlight">\(v_i\nabla u_i\in C^\infty(\Omega)\)</span> converges
to <span class="math notranslate nohighlight">\(v\nabla u\)</span>. These satisfy the equation;
we obtain the result by passing to the limit.</p>
</div></div><details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490668791"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=11a1d9f5-c1e9-41c1-9207-ac8f01127eac">watch this video on Panopto</a></p>
</div>
</details><p>Now we have everything we need to show that solutions of the strong
form equation also solve the variational problem. It is just a matter
of substituting into the formula and applying integration by parts.</p>
<div class="proof proof-type-lemma" id="id20">
<div class="proof-title">
<span class="proof-type">Lemma 5.20</span>
</div><div class="proof-content">
<p>For <span class="math notranslate nohighlight">\(f\in L^2\)</span>,
let <span class="math notranslate nohighlight">\(u\in H^2(\Omega)\)</span> solve</p>
<div class="math notranslate nohighlight">
\[u - \nabla^2 u = f, \quad \frac{\partial u}{\partial n} = 0 \mbox{ on } \partial\Omega,\]</div>
<p>in the <span class="math notranslate nohighlight">\(L^2\)</span> sense, i.e. <span class="math notranslate nohighlight">\(\|u-\nabla^2 u - f\|_{L^2}=0\)</span>. Then
<span class="math notranslate nohighlight">\(u\)</span> solves the variational form of the Helmholtz equation.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p><span class="math notranslate nohighlight">\(u\in H^2\implies \|u\|_{H^2}<\infty\implies \|u\|_{H^1}<\infty\implies
u\in H^1\)</span>. Multiplying by test function <span class="math notranslate nohighlight">\(v\in H^1\)</span>, and using the
previous proposition gives</p>
<div class="math notranslate nohighlight">
\[\int_\Omega uv + \nabla u\cdot\nabla v\, d x = \int_\Omega fv \, d x,
\quad \forall v \in H^1(\Omega),\]</div>
<p>as required.</p>
</div></div><p>Now we go the other way, showing that solutions of the variational
problem also solve the strong form equation. To do this, we need to
assume a bit more smoothness of the solution, that it is in <span class="math notranslate nohighlight">\(H^2\)</span>
instead of just <span class="math notranslate nohighlight">\(H^1\)</span>.</p>
<div class="proof proof-type-theorem" id="id21">
<div class="proof-title">
<span class="proof-type">Theorem 5.21</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(f\in L^2(\Omega)\)</span> and suppose that <span class="math notranslate nohighlight">\(u\in H^2(\Omega)\)</span> solves the
variational Helmholtz equation on a polygonal domain <span class="math notranslate nohighlight">\(\Omega\)</span>. Then
<span class="math notranslate nohighlight">\(u\)</span> solves the strong form Helmholtz equation with zero Neumann
boundary conditions.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Using integration by parts for <span class="math notranslate nohighlight">\(u\in H^2\)</span>, <span class="math notranslate nohighlight">\(v\in C^\infty_0(\Omega)\in
H^1\)</span>, we have</p>
<div class="math notranslate nohighlight">
\[\int_\Omega (u-\nabla^2 u -f)v\, d x = \int_\Omega uv + \nabla u\cdot\nabla
v - vf \, d x = 0.\]</div>
<p>It is a standard result that <span class="math notranslate nohighlight">\(C^\infty_0(\Omega)\)</span> is dense in <span class="math notranslate nohighlight">\(L^2(\Omega)\)</span>
(i.e., every <span class="math notranslate nohighlight">\(L^2\)</span> function can be approximated arbitrarily closely by
a <span class="math notranslate nohighlight">\(C^\infty_0\)</span> function),
and therefore we can choose a sequence of v converging to <span class="math notranslate nohighlight">\(u-\nabla^2 u - f\)</span>
and we obtain <span class="math notranslate nohighlight">\(\|u-\nabla^2 u -f \|_{L^2(\Omega)}=0\)</span>.</p>
<p>Now we focus on showing the boundary condition is satisfied.
We have</p>
<div class="math notranslate nohighlight">
\[ \begin{align}\begin{aligned}0 = \int_\Omega uv + \nabla u \cdot \nabla v - fv \, d x\\&= \int_\Omega uv + \nabla u \cdot \nabla v - (u-\nabla^2u)v \, d x\\&= \int_{\partial\Omega} \frac{\partial u}{\partial n}v\, d S.\end{aligned}\end{align} \]</div>
<p>We can find arbitrary <span class="math notranslate nohighlight">\(v\in L_2(\partial\Omega)\)</span>, hence
<span class="math notranslate nohighlight">\(\|\frac{\partial u}{\partial n}\|_{L^2(\partial\Omega)}=0\)</span>.</p>
</div></div></section>
<section id="galerkin-approximations-of-linear-variational-problems">
<h2><span class="section-number">5.4. </span>Galerkin approximations of linear variational problems<a class="headerlink" href="#galerkin-approximations-of-linear-variational-problems" title="Link to this heading">¶</a></h2>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490668756"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=63ad7174-ffe3-44bf-bd94-ac8f011498d9">watch this video on Panopto</a></p>
</div>
</details><p>Going a bit more general again, assume that we have a well-posed
linear variational problem on <span class="math notranslate nohighlight">\(H^k\)</span>, connected to a strong form
PDE. Now we would like to approximate it. This is done in general
using the Galerkin approximation.</p>
<div class="proof proof-type-definition" id="id22">
<div class="proof-title">
<span class="proof-type">Definition 5.22</span>
<span class="proof-title-name">(Galerkin approximation)</span>
</div><div class="proof-content">
<p>Consider a linear variational problem of the form:</p>
<p>find <span class="math notranslate nohighlight">\(u \in H^k\)</span> such that</p>
<div class="math notranslate nohighlight">
\[b(u,v) = F(v), \quad \forall v \in H^k.\]</div>
<p>For a finite element space <span class="math notranslate nohighlight">\(V_h\subset V=H^k(\Omega)\)</span>, the Galerkin
approximation of this <span class="math notranslate nohighlight">\(H^k\)</span> variational problem
seeks to find <span class="math notranslate nohighlight">\(u_h\in V_h\)</span> such that</p>
<div class="math notranslate nohighlight">
\[b(u_h,v) = F(v), \quad \forall v \in V_h.\]</div>
</div></div><p>We just restrict the trial function <span class="math notranslate nohighlight">\(u\)</span> and the test function <span class="math notranslate nohighlight">\(v\)</span> to
the finite element space. <span class="math notranslate nohighlight">\(C^0\)</span> finite element spaces are subspaces of
<span class="math notranslate nohighlight">\(H^1\)</span>, <span class="math notranslate nohighlight">\(C^1\)</span> finite element spaces are subspaces of <span class="math notranslate nohighlight">\(H^2\)</span> and so on.</p>
<p>If <span class="math notranslate nohighlight">\(b(u,v)\)</span> is continuous and coercive on <span class="math notranslate nohighlight">\(H^k\)</span>, then it is also
continuous and coercive on <span class="math notranslate nohighlight">\(V_h\)</span> by the subspace property. Hence,
we know that the Galerkin approximation exists, is unique and is
stable. This means that it will be possible to solve the matrix-vector
equation.</p>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490668557"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=5c5e4671-ddb4-4cf2-afce-ac8f01165ff0">watch this video on Panopto</a></p>
</div>
</details><p>Moving on, if we can solve the equation, we would like to know if it is
useful. What is the size of the error <span class="math notranslate nohighlight">\(u-u_h\)</span>? For Galerkin approximations
this question is addressed by Céa’s lemma.</p>
<div class="proof proof-type-theorem" id="id23">
<span id="thm-cea"></span>
<div class="proof-title">
<span class="proof-type">Theorem 5.23</span>
<span class="proof-title-name">(Céa’s lemma.)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(V_h\subset V\)</span>, and let <span class="math notranslate nohighlight">\(u\)</span> solve a linear variational problem
on <span class="math notranslate nohighlight">\(V\)</span>, whilst <span class="math notranslate nohighlight">\(u_h\)</span> solves the equivalent Galerkin approximation
on <span class="math notranslate nohighlight">\(V_h\)</span>. Then</p>
<div class="math notranslate nohighlight">
\[\|u-u_h\|_V \leq \frac{M}{\gamma}\min_{v\in V_h}
\|u-v\|_V,\]</div>
<p>where <span class="math notranslate nohighlight">\(M\)</span> and <span class="math notranslate nohighlight">\(\gamma\)</span> are the continuity and coercivity constants
of <span class="math notranslate nohighlight">\(b(u,v)\)</span>, respectively.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>We have</p>
<div class="math notranslate nohighlight">
\[b(u,v) = F(v) \quad \forall v \in V,
b(u_h,v) = F(v) \quad \forall v \in V_h.\]</div>
<p>Choosing <span class="math notranslate nohighlight">\(v\in V_h\subset V\)</span> means we can use it in both equations,
and subtraction and linearity lead to the “Galerkin orthogonality”
condition</p>
<div class="math notranslate nohighlight">
\[b(u-u_h,v) = 0, \quad \forall v\in V_h.\]</div>
<p>Then, for all <span class="math notranslate nohighlight">\(v\in V_h\)</span>,</p>
<div class="math notranslate nohighlight">
\[ \begin{align}\begin{aligned}\gamma\|u-u_h\|^2_V &\leq b(u-u_h,u-u_h),\\&= b(u-u_h,u-v) + \underbrace{b(u-u_h,v-u_h)}_{=0},\\&\leq M\|u-u_h\|_V\|u-v\|_V.\end{aligned}\end{align} \]</div>
<p>So,</p>
<div class="math notranslate nohighlight">
\[\gamma\|u-u_h\|_V \leq M\|u-v\|_V.\]</div>
<p>Minimising over all <span class="math notranslate nohighlight">\(v\)</span> completes the proof.</p>
</div></div></section>
<section id="interpolation-error-in-h-k-spaces">
<h2><span class="section-number">5.5. </span>Interpolation error in <span class="math notranslate nohighlight">\(H^k\)</span> spaces<a class="headerlink" href="#interpolation-error-in-h-k-spaces" title="Link to this heading">¶</a></h2>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490668426"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=b473bf39-8d5b-4d2f-b051-ac8f01192b68">watch this video on Panopto</a></p>
</div>
</details><p>The interpretation of Céa’s lemma is that the error is proportional to
the minimal error in approximating <span class="math notranslate nohighlight">\(u\)</span> in <span class="math notranslate nohighlight">\(V_h\)</span>. To do this, we can
simply choose <span class="math notranslate nohighlight">\(v = \mathcal{I}_hu\)</span> in Céa’s lemma, to get</p>
<div class="math notranslate nohighlight">
\[\|u-u_h\|_V \leq \frac{M}{\gamma}\min_{v\in V_h}
\|u-v\|_V \leq \frac{M}{\gamma}\|u - \mathcal{I}_hu\|_V.\]</div>
<p>Hence, Céa’s lemma reduces the problem of estimating the error in the
numerical solution to estimating error in the interpolation of the
exact solution. We have already examined this in the section on
interpolation operators, but in the context of continuous
functions. The problem is that we do not know that the solution <span class="math notranslate nohighlight">\(u\)</span> is
continuous, only that it is in <span class="math notranslate nohighlight">\(H^k\)</span> for some <span class="math notranslate nohighlight">\(k\)</span>.</p>
<p>We now quickly revisit the results of the interpolation section to
extend them to <span class="math notranslate nohighlight">\(H^k\)</span> spaces. The proofs are mostly identical, so we just
give the updated result statements and state how to modify the proofs.</p>
<p>Firstly we recall the averaged Taylor polynomial. Since it involves
only integrals of the derivatives, we can immediately use weak
derivatives here.</p>
<div class="proof proof-type-definition" id="id24">
<div class="proof-title">
<span class="proof-type">Definition 5.24</span>
<span class="proof-title-name">(Averaged Taylor polynomial with weak derivatives)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\Omega\subset \mathbb{R}^n\)</span> be a domain with diameter <span class="math notranslate nohighlight">\(d\)</span>, that
is star-shaped with respect to a ball <span class="math notranslate nohighlight">\(B\)</span> with radius <span class="math notranslate nohighlight">\(\epsilon\)</span>,
contained within <span class="math notranslate nohighlight">\(\Omega\)</span>. For <span class="math notranslate nohighlight">\(f\in H^{k+1}(\Omega)\)</span> the
averaged Taylor polynomial <span class="math notranslate nohighlight">\(Q_{k,B}f\in \mathcal{P}_k\)</span> is defined
as</p>
<div class="math notranslate nohighlight">
\[Q_{k,B} f(x) = \frac{1}{|B|}\int_{B} T^kf(y,x) \, d y,\]</div>
<p>where <span class="math notranslate nohighlight">\(T^kf\)</span> is the Taylor polynomial of degree <span class="math notranslate nohighlight">\(k\)</span> of <span class="math notranslate nohighlight">\(f\)</span>,</p>
<div class="math notranslate nohighlight">
\[T^k f(y,x) = \sum_{|\alpha|\leq k} D^\alpha f(y)\frac{(x-y)^\alpha}{\alpha!},\]</div>
<p>evaluated using weak derivatives.</p>
</div></div><p>This definition makes sense since the Taylor polynomial coefficients
are in <span class="math notranslate nohighlight">\(L^1_{loc}(\Omega)\)</span> and thus their integrals over <span class="math notranslate nohighlight">\(B\)</span> are defined.</p>
<p>The next step was to examine the error in the Taylor polynomial.</p>
<div class="proof proof-type-theorem" id="id25">
<div class="proof-title">
<span class="proof-type">Theorem 5.25</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\Omega\subset \mathbb{R}^n\)</span> be a domain with diameter <span class="math notranslate nohighlight">\(d\)</span>, that
is star-shaped with respect to a ball <span class="math notranslate nohighlight">\(B\)</span> with radius <span class="math notranslate nohighlight">\(\epsilon\)</span>,
contained within <span class="math notranslate nohighlight">\(\Omega\)</span>. There exists a constant <span class="math notranslate nohighlight">\(C(k,n)\)</span> such that
for <span class="math notranslate nohighlight">\(0\leq |\beta| \leq k+1\)</span> and all <span class="math notranslate nohighlight">\(f \in H^{k+1}(\Omega)\)</span>,</p>
<div class="math notranslate nohighlight">
\[\|D^\beta(f-Q_{k,B}f)\|_{L^2} \leq C\frac{|\Omega|^{1/2}}{|B|^{1/2}}
d^{k+1-|\beta|}\|\nabla^{k+1}f\|_{L^2(\Omega)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>To show this, we assume that <span class="math notranslate nohighlight">\(f\in C^\infty(\Omega)\)</span>, in which case
the result of <a class="reference internal" href="L3_interpolation.html#taylorerror"><span class="std std-numref">Theorem 3.15</span></a> applies. Then
we obtain the present result by approximating <span class="math notranslate nohighlight">\(f\)</span> by a sequence of
<span class="math notranslate nohighlight">\(C^\infty(\Omega)\)</span> functions and passing to the limit.</p>
</div></div><p>We then repeat the following corollary.</p>
<div class="proof proof-type-corollary" id="id26">
<div class="proof-title">
<span class="proof-type">Corollary 5.26</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(K_1\)</span> be a triangle with diameter <span class="math notranslate nohighlight">\(1\)</span>.
There exists a constant <span class="math notranslate nohighlight">\(C(k,n)\)</span> such that</p>
<div class="math notranslate nohighlight">
\[\|f-Q_{k,B}f\|_{H^k(K_1)} \leq C|\nabla^{k+1}f|_{H^{k+1}(K_1)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Same as <a class="reference internal" href="L3_interpolation.html#unittaylorerr"><span class="std std-numref">Lemma 3.16</span></a>.</p>
</div></div><p>The next step was the bound on the interpolation operator. Now we just
have to replace <span class="math notranslate nohighlight">\(C^{l,\infty}\)</span> with <span class="math notranslate nohighlight">\(W^l_\infty\)</span> as derivatives may not
exist at every point.</p>
<div class="proof proof-type-lemma" id="id27">
<div class="proof-title">
<span class="proof-type">Lemma 5.27</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\((K_1,\mathcal{P},\mathcal{N})\)</span> be a finite element such that
<span class="math notranslate nohighlight">\(K_1\)</span> is a triangle with diameter 1, and such that the nodal
variables in <span class="math notranslate nohighlight">\(\mathcal{N}\)</span> involve only evaluations of functions or
evaluations of derivatives of degree <span class="math notranslate nohighlight">\(\leq l\)</span>, and <span class="math notranslate nohighlight">\(\|N_i\|_{W^l_\infty(K_1)'}
<\infty\)</span>,</p>
<div class="math notranslate nohighlight">
\[\|N_i\|_{W_\infty^l(K_1)'} = \sup_{\|u\|_{W_\infty^l(K_1)}>0}
\frac{|N_i(u)|}{\|u\|_{W_\infty^l(K_1)}}.\]</div>
<p>Let <span class="math notranslate nohighlight">\(u\in H^k(K_1)\)</span> with
<span class="math notranslate nohighlight">\(k>l+n/2\)</span>. Then</p>
<div class="math notranslate nohighlight">
\[\|\mathcal{I}_{K_1}u\|_{H^k(K_1)} \leq C\|u\|_{H^k(K_1)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Same as <a class="reference internal" href="L3_interpolation.html#ibound"><span class="std std-numref">Lemma 3.22</span></a>. replacing <span class="math notranslate nohighlight">\(C^{l,\infty}\)</span>
with <span class="math notranslate nohighlight">\(W^l_\infty\)</span>, and using the full version of the Sobolev
inequality in <a class="reference internal" href="#sobolev"><span class="std std-numref">Lemma 5.14</span></a>.</p>
</div></div><p>The next steps then just follow through.</p>
<div class="proof proof-type-lemma" id="id28">
<div class="proof-title">
<span class="proof-type">Lemma 5.28</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\((K_1,\mathcal{P},\mathcal{N})\)</span> be a finite element such that
<span class="math notranslate nohighlight">\(K_1\)</span> has diameter <span class="math notranslate nohighlight">\(1\)</span>, and such that the nodal variables in
<span class="math notranslate nohighlight">\(\mathcal{N}\)</span> involve only evaluations of functions or evaluations of
derivatives of degree <span class="math notranslate nohighlight">\(\leq l\)</span>, and <span class="math notranslate nohighlight">\(\mathcal{P}\)</span> contain all
polynomials of degree <span class="math notranslate nohighlight">\(k\)</span> and below, with <span class="math notranslate nohighlight">\(k>l+n/2\)</span>. Let <span class="math notranslate nohighlight">\(u\in
H^{k+1}(K_1)\)</span>. Then for <span class="math notranslate nohighlight">\(i \leq k\)</span>, the local interpolation operator
satisfies</p>
<div class="math notranslate nohighlight">
\[|\mathcal{I}_{K_1}u-u|_{H^i(K_1)} \leq C_1|u|_{H^{k+1}(K_1)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Same as <a class="reference internal" href="L3_interpolation.html#ierrk1"><span class="std std-numref">Lemma 3.23</span></a>.</p>
</div></div><div class="proof proof-type-lemma" id="id29">
<div class="proof-title">
<span class="proof-type">Lemma 5.29</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\((K,\mathcal{P},\mathcal{N})\)</span> be a finite element such that
<span class="math notranslate nohighlight">\(K\)</span> has diameter <span class="math notranslate nohighlight">\(d\)</span>, and such that the nodal variables in
<span class="math notranslate nohighlight">\(\mathcal{N}\)</span> involve only evaluations of functions or evaluations of
derivatives of degree <span class="math notranslate nohighlight">\(\leq l\)</span>, and <span class="math notranslate nohighlight">\(\mathcal{P}\)</span> contains all
polynomials of degree <span class="math notranslate nohighlight">\(k\)</span> and below, with <span class="math notranslate nohighlight">\(k>l+n/2\)</span>. Let <span class="math notranslate nohighlight">\(u\in
H^{k+1}(K)\)</span>. Then for <span class="math notranslate nohighlight">\(i \leq k\)</span>, the local interpolation operator
satisfies</p>
<div class="math notranslate nohighlight">
\[|\mathcal{I}_{K}u-u|_{H^i(K)} \leq C_Kd^{k+1-i}|u|_{H^{k+1}(K)}.\]</div>
<p>where <span class="math notranslate nohighlight">\(C_K\)</span> is a constant that depends on the shape of <span class="math notranslate nohighlight">\(K\)</span> but not
the diameter.</p>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Repeat the scaling argument of <a class="reference internal" href="L3_interpolation.html#scaling"><span class="std std-numref">Lemma 3.24</span></a>.</p>
</div></div><div class="proof proof-type-theorem" id="id30">
<div class="proof-title">
<span class="proof-type">Theorem 5.30</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\mathcal{T}\)</span> be a triangulation with finite elements
<span class="math notranslate nohighlight">\((K_i,\mathcal{P}_i,\mathcal{N}_i)\)</span>, such that the minimum aspect
ratio <span class="math notranslate nohighlight">\(r\)</span> of the triangles <span class="math notranslate nohighlight">\(K_i\)</span> satisfies <span class="math notranslate nohighlight">\(r>0\)</span>, and such that the
nodal variables in <span class="math notranslate nohighlight">\(\mathcal{N}\)</span> involve only evaluations of functions
or evaluations of derivatives of degree <span class="math notranslate nohighlight">\(\leq l\)</span>, and <span class="math notranslate nohighlight">\(\mathcal{P}\)</span>
contains all polynomials of degree <span class="math notranslate nohighlight">\(k\)</span> and below, with <span class="math notranslate nohighlight">\(k>l+n/2\)</span>. Let
<span class="math notranslate nohighlight">\(u\in H^{k+1}(\Omega)\)</span>. Let <span class="math notranslate nohighlight">\(h\)</span> be the maximum over all of the
triangle diameters, with <span class="math notranslate nohighlight">\(0\leq h<1\)</span>. Let <span class="math notranslate nohighlight">\(V\)</span> be the corresponding
<span class="math notranslate nohighlight">\(C^r\)</span> finite element space. Then for <span class="math notranslate nohighlight">\(i\leq k\)</span> and <span class="math notranslate nohighlight">\(i \leq r+1\)</span>, the
global interpolation operator satisfies</p>
<div class="math notranslate nohighlight">
\[\|\mathcal{I}_{h}u-u\|_{H^i(\Omega)} \leq Ch^{k+1-i}|u|_{H^{k+1}(\Omega)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>Identical to <a class="reference internal" href="L3_interpolation.html#iherr"><span class="std std-numref">Theorem 3.25</span></a>.</p>
</div></div></section>
<section id="convergence-of-the-finite-element-approximation-to-the-helmholtz-problem">
<h2><span class="section-number">5.6. </span>Convergence of the finite element approximation to the Helmholtz problem<a class="headerlink" href="#convergence-of-the-finite-element-approximation-to-the-helmholtz-problem" title="Link to this heading">¶</a></h2>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490668331"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=913ad682-d5b9-4849-8dc8-ac8f0120d5e8">watch this video on Panopto</a></p>
</div>
</details><p>Now that we have the required interpolation operator results, we
can return to applying Céa’s lemma to the convergence of the
finite element approximation to the Helmholtz problem.</p>
<div class="proof proof-type-corollary" id="id31">
<div class="proof-title">
<span class="proof-type">Corollary 5.31</span>
</div><div class="proof-content">
<p>The degree <span class="math notranslate nohighlight">\(k\)</span> Lagrange finite element approximation <span class="math notranslate nohighlight">\(u_h\)</span> to the
solution <span class="math notranslate nohighlight">\(u\)</span> of the variational Helmholtz problem satisfies</p>
<div class="math notranslate nohighlight">
\[\|u_h-u\|_{H^1(\Omega)} \leq Ch^k\|u\|_{H^{k+1}(\Omega)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>We combine Céa’s lemma with the previous estimate, since</p>
<div class="math notranslate nohighlight">
\[\min_{v\in V_h}
\|u-v\|_{H^1(\Omega)} \leq \|u-\mathcal{I}_hu\|_{H^1(\Omega)}
\leq Ch^k\|u\|_{H^{k+1}}(\Omega),\]</div>
<p>having chosen <span class="math notranslate nohighlight">\(i=1\)</span>.</p>
</div></div><div class="proof proof-type-exercise" id="id32">
<div class="proof-title">
<span class="proof-type">Exercise 5.32</span>
</div><div class="proof-content">
<p>Consider the variational problem of finding <span class="math notranslate nohighlight">\(u\in H^1([0,1])\)</span>
such that</p>
<div class="math notranslate nohighlight">
\[\int_0^1 vu + v'u' \, d x = \int_0^1 vx \, d x + v(1) - v(0),
\quad \forall v \in H^1([0,1]).\]</div>
<p>After dividing the interval <span class="math notranslate nohighlight">\([0,1]\)</span> into <span class="math notranslate nohighlight">\(N\)</span> equispaced cells and
forming a <span class="math notranslate nohighlight">\(P1\)</span> <span class="math notranslate nohighlight">\(C^0\)</span> finite element space <span class="math notranslate nohighlight">\(V_N\)</span>, the error
<span class="math notranslate nohighlight">\(\|u-u_h\|_{H^1}=0\)</span> for any <span class="math notranslate nohighlight">\(N>0\)</span>.</p>
<p>Explain why this is expected.</p>
</div></div><div class="proof proof-type-exercise" id="id33">
<div class="proof-title">
<span class="proof-type">Exercise 5.33</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(\mathring{H}^1([0,1])\)</span> be the subspace of <span class="math notranslate nohighlight">\(H^1([0,1])\)</span> such
that <span class="math notranslate nohighlight">\(u(0)=0\)</span>. Consider the variational problem of finding <span class="math notranslate nohighlight">\(u \in
\mathring{H}^1([0,1])\)</span> with</p>
<div class="math notranslate nohighlight">
\[\int_0^1 v'u' \, d x = \int_0^{1/2} v \, d x, \quad \forall v \in \mathring{H}([0,1]).\]</div>
<p>The interval <span class="math notranslate nohighlight">\([0,1]\)</span> is divided into <span class="math notranslate nohighlight">\(2N+1\)</span> equispaced cells (where
<span class="math notranslate nohighlight">\(N\)</span> is a positive integer). After forming a <span class="math notranslate nohighlight">\(P2\)</span> <span class="math notranslate nohighlight">\(C^0\)</span> finite
element space <span class="math notranslate nohighlight">\(V_N\)</span>, the error <span class="math notranslate nohighlight">\(\|u-u_h\|_{H^1}\)</span> only converges at
a linear rate. Explain why this is expected.</p>
</div></div><div class="proof proof-type-exercise" id="id34">
<div class="proof-title">
<span class="proof-type">Exercise 5.34</span>
</div><div class="proof-content">
<dl class="simple">
<dt>Let <span class="math notranslate nohighlight">\(\Omega\)</span> be a convex polygonal 2D domain. Consider the</dt><dd><p>following two problems.</p>
</dd>
</dl>
<ol class="arabic">
<li><p>Find <span class="math notranslate nohighlight">\(u \in H^2\)</span> such that</p>
<div class="math notranslate nohighlight">
\[\|\nabla^2 u + f\|_{L^2(\Omega)} = 0, \quad
\|u\|_{L^2(\partial\Omega)}=0,\]</div>
<p>which we write in a shorthand as</p>
<div class="math notranslate nohighlight">
\[-\nabla^2 u = f, \quad u|_{\partial\Omega} = 0.\]</div>
</li>
<li><p>Find <span class="math notranslate nohighlight">\(u \in \mathring{H}^1(\Omega)\)</span> such that</p>
<div class="math notranslate nohighlight">
\[\int_\Omega \nabla u \cdot \nabla v \, d x = \int_\Omega f v \, d x,
\quad \forall v \in \mathring{H}^1(\Omega),\]</div>
<p>where <span class="math notranslate nohighlight">\(\mathring{H}^1(\Omega)\)</span> is the subspace of <span class="math notranslate nohighlight">\(H^1(\Omega)\)</span>
consisting of functions whose trace vanishes on the boundary.</p>
</li>
</ol>
<p>Under assumptions on <span class="math notranslate nohighlight">\(u\)</span> which you should state, show that a solution
to problem (1.) is a solution to problem (2.).</p>
<p>Let <span class="math notranslate nohighlight">\(h\)</span> be the maximum triangle diameter of a triangulation
<span class="math notranslate nohighlight">\(T_h\)</span> of <span class="math notranslate nohighlight">\(\Omega\)</span>, with <span class="math notranslate nohighlight">\(V_h\)</span> the corresponding linear Lagrange
finite element space. Construct a finite element approximation to
Problem (2.) above. Briefly give the main arguments as to why the
<span class="math notranslate nohighlight">\(H^1(\Omega)\)</span> norm of the error converges to zero linearly in <span class="math notranslate nohighlight">\(h\)</span>
as <span class="math notranslate nohighlight">\(h\to 0\)</span>, giving your assumptions.</p>
</div></div><p>Céa’s lemma gives us error estimates in the norm of the space where
the variational problem is defined, where the continuity and coercivity
results hold. In the case of the Helmholtz problem, this is <span class="math notranslate nohighlight">\(H^1\)</span>.
We would also like estimates of the error in the <span class="math notranslate nohighlight">\(L^2\)</span> norm, and
it will turn out that these will have a more rapid convergence rate
as <span class="math notranslate nohighlight">\(h\to 0\)</span>.</p>
<details class="sd-sphinx-override sd-dropdown sd-card sd-mb-3">
<summary class="sd-summary-title sd-card-header">
<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">
<div class="vimeo docutils container">
<iframe src="https://player.vimeo.com/video/490668178"
frameborder="0" allow="autoplay; fullscreen"
allowfullscreen></iframe></div>
<p class="sd-card-text">Imperial students can also <a class="reference external" href="https://imperial.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=256886bb-d6bd-41fa-916a-ac8f0126b14b">watch this video on Panopto</a></p>
</div>
</details><p>To do this we quote the following without proof.</p>
<div class="proof proof-type-theorem" id="id35">
<div class="proof-title">
<span class="proof-type">Theorem 5.35</span>
<span class="proof-title-name">(Elliptic regularity)</span>
</div><div class="proof-content">
<p>Let <span class="math notranslate nohighlight">\(w\)</span> solve the equation</p>
<div class="math notranslate nohighlight">
\[w - \nabla^2 w = f, \quad \frac{\partial w}{\partial n}=0 \mbox{ on }\partial\Omega,\]</div>
<p>on a convex (results also hold for other types of “nice” domains)
domain <span class="math notranslate nohighlight">\(\Omega\)</span>, with <span class="math notranslate nohighlight">\(f\in L^2\)</span>. Then there exists constant <span class="math notranslate nohighlight">\(C>0\)</span>
such that</p>
<div class="math notranslate nohighlight">
\[|w|_{H^2(\Omega)} \leq C\|f\|_{L^2(\Omega)}.\]</div>
</div></div><p>Similar results hold for general elliptic operators, such as Poisson’s
equation with the types of boundary conditions discussed above.
Elliptic regularity is great to have, because it says that the
solution of the <span class="math notranslate nohighlight">\(H^1\)</span> variational problem is actually in <span class="math notranslate nohighlight">\(H^2\)</span>,
provided that <span class="math notranslate nohighlight">\(f\in L^2\)</span>.</p>
<p>We now use this to obtain the following result, using the
Aubin-Nitsche trick.</p>
<div class="proof proof-type-theorem" id="id36">
<span id="thm-l2-estimates"></span>
<div class="proof-title">
<span class="proof-type">Theorem 5.36</span>
</div><div class="proof-content">
<p>The degree <span class="math notranslate nohighlight">\(k\)</span> Lagrange finite element approximation <span class="math notranslate nohighlight">\(u_h\)</span> to the
solution <span class="math notranslate nohighlight">\(u\)</span> of the variational Helmholtz problem satisfies</p>
<div class="math notranslate nohighlight">
\[\|u_h-u\|_{L^2(\Omega)} \leq Ch^{k+1}\|u\|_{H^{k+1}(\Omega)}.\]</div>
</div></div><div class="proof proof-type-proof">
<div class="proof-title">
<span class="proof-type">Proof </span>
</div><div class="proof-content">
<p>We use the Aubin-Nitsche duality argument. Let <span class="math notranslate nohighlight">\(w\)</span> be the
solution of</p>
<div class="math notranslate nohighlight">
\[w - \nabla^2 w = u - u_h,\]</div>
<p>with the same Neumann boundary conditions as for <span class="math notranslate nohighlight">\(u\)</span>.</p>
<p>Since <span class="math notranslate nohighlight">\(u - u_h \in H^1(\Omega) \subset L^2(\Omega)\)</span>, we have
<span class="math notranslate nohighlight">\(w \in H^2(\Omega)\)</span> by elliptic regularity.</p>
<p>Then we have (by multiplying by a test function an integrating by
parts),</p>
<div class="math notranslate nohighlight">
\[b(w,v) = (u-u_h,v)_{L^2(\Omega)}, \quad \forall v\in H^1(\Omega),\]</div>
<p>and so</p>
<div class="math notranslate nohighlight">
\[ \begin{align}\begin{aligned}\|u-u_h\|^2_{L^2(\Omega)} &= (u-u_h,u-u_h) = b(w,u-u_h),
= b(w-\mathcal{I}_hw,u-u_h) \mbox{ (orthogonality) },\\&\leq C\|u-u_h\|_{H^1(\Omega)}\|w-\mathcal{I}_h w\|_{H^1(\Omega)},\\&\leq Ch\|u-u_h\|_{H^1(\Omega)} |w|_{H^2(\Omega)}\\&\leq C_1 h^{k+1} |u|_{H^{k+1}(\Omega)\|u-u_h\|_{L^2(\Omega)}}\end{aligned}\end{align} \]</div>
<p>and dividing both sides by <span class="math notranslate nohighlight">\(\|u-u_h\|_{L^2(\Omega)}\)</span> gives the result.</p>
</div></div><p>Thus we gain one order of convergence rate with <span class="math notranslate nohighlight">\(h\)</span> by using
the <span class="math notranslate nohighlight">\(L^2\)</span> norm instead of the <span class="math notranslate nohighlight">\(H^1\)</span> norm.</p>
</section>
<section id="epilogue">
<h2><span class="section-number">5.7. </span>Epilogue<a class="headerlink" href="#epilogue" title="Link to this heading">¶</a></h2>
<p>This completes our analysis of the convergence of the Galerkin finite
element approximation to the Helmholtz problem. Similar approaches can be
applied to analysis of other elliptic PDEs, using the following programme.</p>
<ol class="arabic simple">
<li><p>Find a variational formulation of the PDE with a bilinear form that
is continuous and coercive (and hence well-posed by Lax-Milgram) on
<span class="math notranslate nohighlight">\(H^k\)</span> for some <span class="math notranslate nohighlight">\(k\)</span>.</p></li>
<li><p>Find a finite element space <span class="math notranslate nohighlight">\(V_h \subset H^k\)</span>. For <span class="math notranslate nohighlight">\(H^1\)</span>, this requires
a <span class="math notranslate nohighlight">\(C^0\)</span> finite element space, and for <span class="math notranslate nohighlight">\(H^2\)</span>, a <span class="math notranslate nohighlight">\(C^1\)</span> finite element
space is required.</p></li>
<li><p>The Galerkin approximation to the variational formulation is obtained
by restricting the solution and test functions to <span class="math notranslate nohighlight">\(V_h\)</span>.</p></li>
<li><p>Continuity and coercivity (and hence well-posedness) for the Galerkin
approximation is assured since <span class="math notranslate nohighlight">\(V_h \subset H^k\)</span>. This means that
the Galerkin approximation is solvable and stable.</p></li>
<li><p>The estimate of the error estimate in terms of <span class="math notranslate nohighlight">\(h\)</span> comes from
Céa’s lemma plus the error estimate for the nodal interpolation
operator.</p></li>
</ol>
<p>This course only describes the beginning of the subject of finite
element methods, for which research continues to grow in both theory
and application. There are many methods and approaches that go beyond
the basic Galerkin approach described above. These include</p>
<ul>
<li><p>Discontinuous Galerkin methods, which use discontinuous finite
element spaces with jump conditions between cells to compensate for