FEALPy:Python 有限元仿真引擎,10 分钟跑通你的第一个求解器
【免费下载链接】fealpyFinite Element Analysis Library in Python项目地址: https://gitcode.com/gh_mirrors/fe/fealpy
FEALPy 是 Python 编写的有限元分析库(Finite Element Analysis Library in Python),覆盖网格生成、函数空间、方程求解与结果可视化,帮研究者把 Poisson、扩散、弹性、流体力学等偏微分方程问题从建模到出图串成一条流水线,省掉手写离散矩阵的重复劳动。
能干什么
- 网格即代码:内置均匀网格、Delaunay 细分、自适应加密与高次 Lagrange 元生成,mesh 模块支持三角形、四边形、六面体多种拓扑,网格对象可直接调用
uniform_refine迭代加密。 - 多方程模型开箱即用:model 目录按物理问题组织,涵盖 Poisson、抛物、双曲、Stokes、线性弹性、Allen-Cahn 等,每类提供解析解基准便于对拍验证。
- 后端可切换:通过 backend 统一接口在 numpy、pytorch、jax、cupy 之间切换,同一份模型代码即可跑 CPU 或 GPU,方便后续接入自动微分与 AI 加速。
10 分钟跑通 Poisson
环境只需 Python 3.10 + numpy,克隆后编辑安装:
git clone https://gitcode.com/gh_mirrors/fe/fealpy cd fealpy pip install -e . python -c "import fealpy; print(fealpy.__version__)"最小可运行示例,逐行注释说明每步目的:
from fealpy.backend import backend_manager as bm from fealpy.fem import PoissonLFEMModel bm.set_backend('numpy') # 选择 numpy 计算后端 model = PoissonLFEMModel() # 实例化 Poisson 有限元模型 model.set_pde() # 设置方程与解析解 model.set_init_mesh(nx=20, ny=20) # 生成 20x20 初始网格 model.set_space_degree(p=1) # 一阶 Lagrange 元 model.solve.set('cg') # 指定共轭梯度求解器 model.run['uniform_refine']() # 均匀细分并输出收敛误差效果与延伸
跑通后可直接换网格密度或元阶数观察误差下降;把模型换成 Stokes / 弹性即可扩展到流固耦合场景。example 目录提供 CFD、电磁、微流控芯片等可复现脚本,下方向包括:接 jax 做参数化自动微分、用 solver 的并行迭代器处理大规模网格、把结果导出 VTK 接入 ParaView 可视化。常配合 NumPy、SciPy、matplotlib、ParaView 使用。
谁适合用
有数学/物理背景、想验证数值方法的学生和科研人员,以及希望绕开商业软件、用开源栈自建仿真流程的开发者,用 FEALPy 都能以几十行代码复现一篇论文的核心算法。
【免费下载链接】fealpyFinite Element Analysis Library in Python项目地址: https://gitcode.com/gh_mirrors/fe/fealpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考