二维泊松与拉普拉斯场FEM计算程序实现

需积分: 9 1 下载量 194 浏览量 更新于2024-08-21 收藏 344KB PPT 举报
"该资源是关于FEM计算程序——EMF2D的详细说明,用于解决均匀媒质中的二维泊松、拉普拉斯平行平面场问题。程序支持扩展到多种媒质共存的情况以及轴对称问题。计算流程包括数据读入、系数阵构建、边界条件处理、高斯消去法求解等步骤。" 本文介绍了一个基于有限元方法(FEM)的计算程序——EMF2D,专门用于解决均匀媒质中的二维泊松和拉普拉斯平行平面场问题。该程序设计灵活,可以根据备注适应多种媒质环境以及轴对称问题。计算流程主要分为以下几个步骤: 1. **数据读入**:程序通过子程序1从AGEN.DAT数据文件读取FEM三角剖分信息,包括节点数(N0)、边数(E0)以及节点坐标(X, Y)和连接信息(I, J, M)。 2. **参数设置**:用户可以设定参数如CPM、SD、NX1、NY1和NUMBER1,它们分别代表媒质特性、源密度、网格尺寸和其他问题特定参数。 3. **系数阵构建**:子程序2中,程序构造一维压缩存储的系数阵[K],这是有限元方法中的关键部分,用于表示离散化后的偏微分方程。 4. **右端项形成**:子程序3涉及构造右端列向量[P],它包含了问题的初始条件或边界条件。 5. **强制边界条件**:子程序4和5处理不同类型的边界条件,利用高斯消去法对系数矩阵[K]进行修改,以满足这些条件。 6. **求解器**:子程序6和7采用高斯消去法作为求解器,KD子程序确定系数矩阵在内存中的位置,从而高效地执行解算。 在实际运行过程中,程序首先进行预处理,包括读取几何结构、媒质和源密度参数,计算带宽,分配内存空间,并初始化数组。然后,通过一系列操作,如形成系数矩阵、处理边界条件,直至解出数值解。最终,程序提供数值解(位值),并可能根据需要停止运行。 在程序的实现中,使用了一些关键变量和数组,例如,`U(N0)`存储节点位函数值,`LBN`记录强制边界条件的节点总数,`BNODE(LBN)`和`BPTAL(LBN)`存储边界节点编号和给定的位函数值。此外,`NX1`和`NY1`用于特定问题的边界条件构造,`K(SL)`是变带宽一维压缩存储的系数矩阵。 EMF2D程序是用Fortran语言编写的,通过精心设计的计算流程和数据结构,能有效地处理复杂的电磁场问题,特别适合于二维均匀和非均匀媒质环境中的泊松和拉普拉斯方程求解。