FEALPy用 Python 手写有限元全流程的仿真引擎【免费下载链接】fealpyFinite Element Analysis Library in Python项目地址: https://gitcode.com/gh_mirrors/fe/fealpy想用自己的代码控制有限元流程的每一步FEALPy 就是为这种需求写的 Python 有限元仿真库从网格生成、函数空间构造到弱形式装配、线性方程组求解整条数值管线都在库内。相比 FEniCS 一类的形式语言库它的装配代码全是可直接阅读的纯 Python计算后端还能切到 JAX、PyTorch。它和别的不一样在哪 模型类是“五步脚本”不是形式语言FEniCS 用 UFL 形式语言写弱形式FEALPy 走另一条路每个 PDE 对应一个 Model 类比如PoissonLFEMModel只有set_pde()、set_init_mesh()、set_space_degree()、solve、run五个入口网格到解的代码路径全是可读可改的纯 Python。代价是没有形式语言抽象弱形式要自己保证换来的是装配、积分器、边界条件处理都能逐行改。计算后端可以一行切换fealpy/backend/里内置 NumPy、PyTorch、JAX 等后端bm.set_backend(jax)全局切换。同样的装配代码可以带着自动微分跑、也可以跑在 GPU 上这是传统 FEM 库基本固定 NumPy SciPy 给不了的。它是库不是 CAE 工具没有图形界面也没有 CAD 前处理几何建模主要靠MeshFactory和fealpy/mesher/模块。它不追求一键仿真工程零件追求的是让你能看懂并改动机理管线的每一行。五分钟跑通 ⏱️conda create -n fealpy310 python3.10 -y # 3.10 与 README 维护的依赖版本一致 conda activate fealpy310 conda install numpy2.0.1 scipy matplotlib -c conda-forge git clone https://gitcode.com/gh_mirrors/fe/fealpy cd fealpy pip install -e .装好后六行代码解一个二维 Poisson 问题from fealpy.fem import PoissonLFEMModel model PoissonLFEMModel() # 二维 Poisson 模型 model.set_pde() # 设置 PDE 与精确解 model.set_init_mesh(nx20, ny20) # 20x20 三角形网格 model.set_space_degree() # 一次 Lagrange 单元 model.solve.set(cg) # 共轭梯度法 model.run[uniform_refine]() # 求解并逐次加密至收敛这段代码跑通了网格 → 函数空间 → 装配 → 线性求解 → 加密收敛的完整闭环输出是 FEALPy 解二维 Poisson 问题的收敛历史。能解决哪些实际问题 椭圆问题二维 Poisson 方程与收敛阶验证fealpy/fem/poisson_lfem_model.py的PoissonLFEMModel内置标准测试问题与误差估计工具一次run[uniform_refine]()就能做收敛阶验证想提高精度把函数空间换成LagrangeFiniteElementSpace(mesh, p2)就是二次单元。热传导二维平板上的非稳态热方程fealpy/model/下 parabolic 目录存放抛物型扩散模型时间步进内置适合二维平板非均匀热源这类热传导场景example/fem/和tutorial/里的脚本可直接对照复现。线性弹性二维位移场求解fealpy/fem/linear_elasticity_lfem_model.py的LinearElasticityLFEMModel解位移场配合fealpy/material/的弹性材料类设置 Lamé 参数example/fem/linear_elasticity_lfem_example.py是仓库里现成的可运行脚本。不可压流动Stokes 速度压力耦合fealpy/fem/stokes_lfem_model.py的StokesLFEMModel处理速度与压力的耦合线性系统fealpy/fvm/模块另有有限体积法 Stokes 实现可以用来交叉核对有限元结果。它和谁搭配 NumPy默认计算后端矩阵装配与线性代数都走它。SciPy稀疏矩阵存储与共轭梯度、直接稀疏求解器线性求解环节接在这里。JAX / PyTorch通过bm.set_backend()切换装配过程需要自动微分时接上。matplotlib解云图与收敛曲线出图tutorial/pde_solve.py里的uh.add_plot(axes)就是现成用法。完整可运行脚本在example/目录如example/fem/poisson_lfem_example.py。想手写装配或把 FEM 嵌入机器学习管线的研究者打开example/fem/poisson_lfem_example.py上面所有结果五分钟可复现。【免费下载链接】fealpyFinite Element Analysis Library in Python项目地址: https://gitcode.com/gh_mirrors/fe/fealpy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考