FEniCS主要包含DOLFINx, ffcx, Basix, UFL 4个核心模块。
DOLFINx:
顶层接口模块。是Fenics提供给用户的操作接口,用户求解PDE问题需要操作的函数大部分包含在这个模块里,对另外3个模块里用户常用的部分函数进行了封装。
版本0.8.0官网:https://docs.fenicsproject.org/dolfinx/v0.8.0/python/index.html
Basix:
操作有限元单元的核心模块。比如定义单元离散类型(如一阶Lagrange)、网格映射、有限元空间插值等。
官网:https://docs.fenicsproject.org/basix/main/index.html
UFL:
数学运算符模块。将张量计算、微积分计算等变分计算中所需的数学运算符转换为了函数,方便用户调用,其中包括梯度、散度、旋度、内积、积分等。
官网:https://docs.fenicsproject.org/ufl/main/index.html
ffcx:
编译模块。FEnics的编译器,用户通常不会对其进行操作。