設計と構成部品
FEniCSプロジェクトは、相互運用可能なコンポーネントの集合のための包括的なプロジェクトとして設計されています。コアコンポーネントは[ 4 ]です。
FEniCSコンポーネントとその相互作用の概略図- UFL(統一形式言語)は、有限要素変分形式を用いて微分方程式の有限要素離散化を指定するための、Pythonに組み込まれたドメイン固有言語である。
- FIAT(有限要素自動集計器)は、単体上の任意の次数有限要素基底関数を生成するためのPythonモジュールであるFEniCSの有限要素バックエンドです。
- FFC(fenics form compiler)は、UFLコードを入力として受け取り、UFCを出力する有限要素変分形式用のコンパイラです。
- UFC(統一形式アセンブリコード)は、有限要素変分形式を評価および組み立てるための低レベル関数で構成されるC++インターフェースである。
- Instantは、Python内でCおよびC++コードをインライン化するためのPythonモジュールです。
- DOLFINは、有限要素メッシュ、自動有限要素アセンブリ、および数値線形代数のためのデータ構造とアルゴリズムを提供するC++/Pythonライブラリです。
FEniCSの高性能計算C++バックエンドであるDOLFINは、主要な問題解決環境(C++とPythonの両方に対応)およびユーザーインターフェースとして機能します。その機能は、他のFEniCSコンポーネントを統合し、数値線形代数用のPETSc、Trilinos、Eigen 、メッシュ分割用のParMETIS、SCOTCH 、分散コンピューティング用のMPI、OpenMPなどの外部ライブラリとの通信を処理します。
2022年5月現在、DOLFINxはFEniCSプロジェクトの推奨ユーザーインターフェースです。[ 5 ]
ドルフィンクス
2019年以降、FEniCSプロジェクトのコアコンポーネントは大規模なリファクタリングを受け[ 7 ]、その結果DOLFINxが誕生しました[ 8 ]。DOLFINxは、従来のDOLFINインターフェースにはなかった多くの新機能をサポートしています。
- 区間セル、三角形セル、四角形セル、四面体セル、六面体セル上の任意次数有限要素(特別な順序付けのない非構造メッシュを含む)。
- 平らなセルまたは湾曲したセルを持つメッシュ。
- 複数のプロセスにわたるセルのカスタム分割。
- Gmsh、VTK、PyVista、およびADIOS2を介した並列 IO 。
- 複素数型を含む、さまざまな浮動小数点スカラー型を使用するアセンブリ言語およびソルバー。
- Numbaを使用して記述されたカスタム要素カーネルのアセンブリ。
- 任意の関数空間への関数の補間。
- 異なる(一致しない)メッシュ上に構築された関数空間間の補間。非アフィン形状を使用するメッシュも含む。
- NumPy、PETSc、Trilinos、Eigenなど、さまざまな線形代数バックエンドを非侵襲的にサポートする機能。
- ユーザー定義有限要素。
参考文献
- ↑ https://github.com/FEniCS/dolfinx/releases/tag/v0.9.0
- ↑ 「FEniCSプロジェクトのページ」。FEniCSプロジェクト。 2016年7月28日取得。
- ↑ Anders Logg; Kent-Andre Mardal; Garth N. Wells 編 (2011).有限要素法による微分方程式の自動解法. Springer. ISBN 978-3-642-23098-1。
- ↑ 「FEniCSプロジェクトのコアコンポーネント」。FEniCSプロジェクト。 2011年11月4日のオリジナルからアーカイブ済み。 2011年12月8日取得。
- ↑ 「新しいDOLFINxソルバーはDOLFINよりも推奨されるようになりました」。fenicsproject.discourse.group 。
- 1 2 FEniCSガバナンス文書。 2016年7月28日取得。
- ↑ 「ロードマップ 2019-2020 – FEniCS プロジェクト」。fenicsproject.org。2019年6月7日にオリジナルからアーカイブ済み。
- ↑ 「DOLFINx: 次世代FEniCS問題解決環境」 。 2024年4月4日取得。
- ↑ 「FEniCSとFEAToolを使用したPython FEMとマルチフィジックスシミュレーション」 . featool.com . 2017年6月28日取得。
- ↑ Abali, Bilen Emek (2017). Computational Reality | SpringerLink . Advanced Structured Materials. Vol. 55. doi : 10.1007/978-981-10-2444-3 . ISBN 978-981-10-2443-6。