応用数理特別講義III:有限要素法による微分作用素の固有値評価

Homepage: http://www.ces-alpha.org/hp/MSUTCourse2017/       2017/07/10~14     東京大学数理科学研究科  

講義の履修者へ

該当ページから講義の資料と計算例のコードをダウンロードできます。

このページで公開されるコードはCloud Education System(CES)の環境で実行できます。CESはオンデマンドの計算サーバーを1人に一台提供しています。

CESアカウントの登録: http://www.ces-alpha.org/session/login/  (HELP)

レポートの提出:

レポートをCESで提出してください。 リンク: http://www.ces-alpha.org/MSUTCourse2017/

 

 

講義の資料

微分方程式と有限要素法 PDF  (1.2M)

 

計算例 (2017年9月4日更新あり)

更新について

CESにインストールされたDOLFINのバージョンを1.6から2017.01にアップグレードしましたので、従来のコードはそのまま実行出来ないことがあります。このページに公開されるコードは全部2017.01に対応済みです。

1)1次適合有限要素法の計算例と事前誤差評価 (Jupyter Notebook with Python )

   [Simple version Download View] [Detailed Version: Download View]

2)混合有限要素法によるPoisson問題を解く  (Jupyter Notebook with Python ) [Download View]

3)Hypercircle法による1次適合有限要素法解の事後誤差評価  (Jupyter Notebook with Python ) [Download View]

4) ラプラス作用素の固有値問題 (言語:Jupyter Notebook with Python and Octave) [Download View]

5) 非適合有限要素法による固有値評価の下界評価  (Jupyter Notebook with Python ) [Download View]

6) Lehmann-Goriesch定理による固有値評価の計算例 (Jupyter Notebook with Python ) [Download] [View]

 

他の計算コード:

1) 行列の一般化固有値問題の計算ライブラリ (Octave/MATLAB)  [Download]

 

レポート課題 

PDF Notebook 締め切り: 2017年8月7日(月)

注意:システムをアップグレードしましたので、FeniCSのバージョンを2017.1に変更しました。この変更の伴に、以下のコードの修正が必要です。

 

旧:  f = Expression("2*x[0]*(1- x[0]) + 2*x[1]*(1- x[1])" ) #Degree is used in

新:  f = Expression("2*x[0]*(1- x[0]) + 2*x[1]*(1- x[1])", degree=4) #Degree is used in calculating the integral.

 

混合要素の定義について

旧: 

RT = FunctionSpace(mesh, "RT", degree)
DG = FunctionSpace(mesh, "DG", degree-1)
W = RT*DG

新:

RT_Element = FiniteElement("RT", mesh.ufl_cell(), degree)
DG_Element = FiniteElement("DG", mesh.ufl_cell(), degree-1)
W = FunctionSpace( mesh , MixedElement ([RT_Element, DG_Element]) )