科学计算

DOLFIN:C++/Python有限元库》变分形式/组装/边界条件【翻译】

2021-01-11
| 科学计算 | | FEniCS , 有限元法 , 偏微分方程 | Comment 评论

章节目录

10·3·7 变分形式

DOLFIN依靠FEniCS工具链FIAT–UFL–FFC / SFC–UFC来计算有限元变分形式。 使用形式编译器FFC或SFC(第11章和第15章)之一来编译以UFL形式语言表示的变分形式(第17章),DOLFIN使用生成的UFC代码(第16章)来计算(组装)变分形式 。

...

DOLFIN:C++/Python有限元库》线性代数【翻译】

2021-01-07
| 科学计算 | | FEniCS , 有限元法 , 偏微分方程 | Comment 评论

章节目录

10·3 功能

DOLFIN被组织为库(模块)的集合,每个库都覆盖某个功能区域。 我们在这里回顾这些领域,并解释最常用的类和函数的用途和用法。 回顾是自下而上的; 也就是说,我们首先描述DOLFIN的核心低层功能(线性代数和网格),然后向上移动以描述高层功能。 有关更多详细信息,请参阅FEniCS项目网页上的DOLFIN程序员参考和Logg and Wells(2010)。

...

有限元矩阵计算的离散优化【翻译】

2021-01-06
| 科学计算 | | FEniCS , 有限元法 , 偏微分方程 | Comment 评论

章节目录

第8章中,用于单元张量 \(A_T\) 计算的张量缩并结构不仅可以构造变分形式编译器,而且还可以优化编译器。 对于典型的变分形式,参考张量 \(A^0\) 具有显著的结构,允许以较低计算成本在任意胞元 \(T\) 上计算单元张量 \(A_T\) 。 利用这种结构减少运算次数,自然会导致离散数学中的几个问题。 本章介绍了一些可能的优化,并讨论了构成FErari项目核心的编译时组合优化问题(Kirby等,2006; Kirby和Scott,2007; Kirby和Logg,2008),这是 第12章的主题。

...

有限元变分形式的张量表示【翻译】

2021-01-05
| 科学计算 | | FEniCS , 有限元法 , 偏微分方程 | Comment 评论

章节目录

在第6章中,对有限元变分问题离散化,我们看到在矩阵和向量组装中的一个重要步骤是计算由下式定义的胞元(单元)张量 \(A_T\)

\[ A_{T,i} = a_T(\phi_{i_\rho}^{T,\rho}, \dots , \phi_{i_2}^{T,2}, \phi_{i_1}^{T,1}) \tag{8.1} \]

这里, \(a_T\) 是对多重线性形式 \(a:V_\rho\times\dots\times V_2\times V_1 \to \mathbb{R}\) 的局部贡献, \(i=(i_1,i_2,\dots,i_\rho)\) 是长为 \(\rho\) 的多重指标,并且 \(\{\phi_k^{T,j}\}^{n_j}_{k=1}\) 是局部胞元 \(T\) 上的局部有限元空间 \(V_{j,h} \subset V_j,\quad j = 1, 2, \dots, \rho\) 的基底。 在本章中,我们描述了如何通过称为张量表示的方法来有效地计算胞元张量 \(A_T\)

...

有限元变分形式的正交表示(二)【翻译】

2021-01-05
| 科学计算 | | FEniCS , 有限元法 , 偏微分方程 | Comment 评论

章节目录

7·3 性能比较

在本节中,我们研究上一节概述的优化策略对运行时性能的影响。 关键不是要对优化进行严格的分析,而是要提供有关不同策略何时最有效的指示。 我们还将比较正交表示和张量表示的运行时性能(在第8章中进行了介绍),以说明两种方法的优缺点。

...