不同的有限元问题会有不同的数据结构。为此,FEtch 系统推出了一套统一的有限元数据结构规范,可根据不同的有限元问题来自动生成不同的有限元数据结构格式,即面向 GiD 的前处理模板。为了保证数据文件的易读性和开放性,FEtch 系统将网格数据和材料参数数据分隔开来,使用 dat 和 mat 两种文件来进行记录。

这里需要关注的是,第一类边界条件体现在节点约束上,会写入 GID 前处理产生的 dat 文件;第二类、第三类边界条件直接体现在方程的弱形式中,会写入 FBC 文件,因此相关的参数值由 mat 文件给出。

这两种文件都是纯文本文件,可方便地查看和修改。以下给两种文件格式的详细介绍。

DAT 文件格式

FEtch 通过配置 GiD 的模板文件(cnd 文件和 bas 文件)来控制前处理的数据输出结构,将全部有限元网格数据存储在单独的 dat 文件中。dat 文件具体格式主要包括以下 5 部分

下面将针对有限元计算所涉及的有限元输入数据分别进行论述。表格的列数通常是变化的,为了表述简洁,以下用 "类型*n" 代表共有 n 列该类型的数。

统计信息

格式

节点总数(整型数) 最大单元数(整型数)

说明

该信息给出了问题的计算规模,在计算过程中决定了动态数组的大小。

节点坐标表格

格式

-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
节点编号(整型数) 节点坐标值(实型数*3)

说明

这里的坐标值全部按三维直角坐标系来书写,计算时生成的程序会自动根据用户指定的坐标系进行变换。

指定节点规格数表格

格式

-2000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
节点编号(整型数) 节点自由度规格数((整型数+实型数)*n)

说明

这里 n 代表节点自由度数目。本系统用 1,0,-1 和大于 1 的整型数来表示节点规格数,它们的意义分别是:

未指定节点的默认自由度规格数为 1。无自由度的规定意味着不同节点可以具有不同数目的自由度,这对某些有限元问题,例如混合单元问题,是十分必要的。

节点初始值表格

格式

-3001 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
节点编号(整型数) 节点初始值(实型数*n)
-3002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
节点编号(整型数) 节点初始值(实型数*n)
-3003 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
节点编号(整型数) 节点初始值(实型数*n)

说明

该表格可以为空。 n 代表节点自由度数目。初始值通常出现于依赖时间的问题和非线性问题,具体数目随求解问题的不同而不同。例如求解瞬态温度场问题,要给出初始时刻温度值;用 Newmark 方法求解波动方程的问题,则要给出初始时刻位移值、初始时刻速度值和初始时刻加速度值。

单元节点信息表格

格式

-4000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
单元编号(整型数) 节点编号(整型数*n) 材料编号(整型数)
-n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
单元编号(整型数) 节点编号(整型数*n) 材料编号(整型数)

-5000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

说明

单元节点信息按体单元、面单元、线单元的顺序依次给出。这里 n 代表了该单元的节点数量,因此,这里会产出 n 列的节点编号数据。

最后一列的材料编号与 mat 文件中的材料标号一一对应,这样就建立起了网格的单元信息与材料信息的联系。

MAT 文件格式

mat 文件给出各个物理场单元的材料参数值。按体单元、面单元、线单元的顺序依次给出各种单元的材料信息。

格式

材料数量(整型数) 参数数量+1(整型数) 单元名称(字符串)
num 参数名称(字符串*n)
材料编号(整型数) 参数值(实型数*n) 材料编号(整型数) 参数值(实型数*n)

材料数量(整型数) 参数数量+1(整型数) 单元名称(字符串)
num 参数名称(字符串*n)
材料编号(整型数) 参数值(实型数*n) 材料编号(整型数) 参数值(实型数*n)

说明

这里 n 代表了单元所属材料参数的数量。参数名称和参数值都与 PDE 和 FBC 文件的 mate 行的信息相一致。或者说,mat 文件的默认内容全部是由 PDE 和 FBC 文件给出的,用户可自行查证。

材料编号从 1 开始逐渐增大,具体数量不受限制。因此,可以以此建立材料库,按需调用。使用时,仅需更新单元节点信息中关于材料编号的数据。

在程序成功生成后,用户修改最多的可能就是 mat 文件。为此,FEtch 系统客户端提供了专门的编辑功能,可方便地对 mat 文件进行读写操作。由于是纯文本格式,用户也可以使用自己的编辑器查看和编辑 mat 文件,但要保证符合上述的格式规定,以免出现莫名其妙的错误。

范例

下面给出一个简单例子。考虑三维的弹性静力学问题。取一个简单的正方体模型,底部完全约束,上部以面单元的形式施加竖向的均布荷载。对于上图中的四面体网格剖分,对应的 dat 文件内容如下:

9 11   
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   
 1 -4.999245e-01 -4.999245e-01 0.000000e+00  
 2 4.999245e-01 -4.999245e-01 0.000000e+00  
 3 -4.999245e-01 4.999245e-01 0.000000e+00    
 4 -4.999245e-01 -4.999245e-01 1.000000e+00  
 5 2.166339e-01 2.166339e-01 5.068421e-01  
 6 4.999245e-01 4.999245e-01 0.000000e+00   
 7 -4.999245e-01 4.999245e-01 1.000000e+00   
 8 4.999245e-01 -4.999245e-01 1.000000e+00  
 9 4.999245e-01 4.999245e-01 1.000000e+00  
-2000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    
1 -1 0.0 -1 0.0 -1 0.0  
2 -1 0.0 -1 0.0 -1 0.0  
3 -1 0.0 -1 0.0 -1 0.0  
6 -1 0.0 -1 0.0 -1 0.0  
-4000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  
-4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   
      1      3     1     2     8      1   
      2      2     6     3     5      1   
      3      2     6     5     9      1   
      4      6     5     9     7      1   
      5      5     9     7     8      1   
      6      5     9     8     2      1   
      7      6     3     5     7      1   
      8      8     5     2     3      1   
      9      3     5     7     8      1   
     10      7     8     4     3      1   
     11      3     4     1     8      1   
-3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   
      5      9     8     7      1   
     10      7     8     4      1   
-5000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

mat 文件内容如下:

1 6 aew4g2
num pe pv fu fv fw
1 1.0e8 0.3 0 0
#
1 4 alt3g2
num fu fv fw
1 0 0 10.0 
#



打赏一个
取消

感谢您的支持,我们会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝或微信扫一扫,即可进行扫码打赏哦