Ansys 中提取节点、单元、约束及载荷等信息

2025-11-21 08:35:22

1、在Ansys中建立一简单的有限元模型,本文以平面应力问题为例。

建立两个三角形单元的模型(长度500,高度250)

①单元Plane42

②材料:E=210e3 MPa;NU=0.3;实常数=25(单元厚度)

Ansys 中提取节点、单元、约束及载荷等信息

2、施加约束,加载载荷

①约束节点1,4的所有位移

②在节点2,3施加x方向集中力9375N

Ansys 中提取节点、单元、约束及载荷等信息

3、建立一文本文件(如文件名为0003getNodeElement.txt),输入如下代码:

*GET, ELEMENTNUM,ELEM,0,COUNT*GET, NODENUM,NODE,0,COUNT  *CFOPEN,3nodes-TriangleElement,txt   !!输出文件*VWRITE,NODENUM%6I*DO, I,1,NODENUM,1 *VWRITE, I, NX(I),NY(I)%7I%12.6F%12.6F*ENDDO *VWRITE, ELEMENTNUM%6I*DO, I,1,ELEMENTNUM,1*GET,m_num,ELEM,I,ATTR,MAT *VWRITE, I,NELEM(I,1),NELEM(I,2),NELEM(I,3),m_num%7I%7I%7I%7I%7I*ENDDO*CFCLOS

4、在Ansys中输入该文件,及可在当前目录下得到包含节点及单元信息的文本文件3nodes-TriangleElement.txt。

Ansys 中提取节点、单元、约束及载荷等信息

5、在Ansys中用Dlist和Flist命令列出约束和载荷信息,保存为文本文件。

Ansys 中提取节点、单元、约束及载荷等信息

6、合并前面两部生成的文本文件,结果如下:

4      1    0.000000    0.000000      2  500.000000    0.000000      3  500.000000  250.000000      4    0.000000  250.0000002      1      1      3      4      1      2      1      2      3      11      1 210000    0.300000    24         1  1     0.00000000      0.00000000             1  2     0.00000000      0.00000000             4  1     0.00000000      0.00000000             4  2     0.00000000      0.00000000   2        2  1      9375.00000      0.00000000            3  1      9375.00000      0.00000000

7、在Matlab中读入这些数据,以供有限元分析计算。

建立一.m文件,代码如下:

    filename='3nodes-TriangleElement.txt';    fid = fopen( filename, 'r' ) ;        % 读取节点坐标    node_number = fscanf( fid, '%d', 1 ) ;    gNode = zeros( node_number, 2 ) ;    for i=1:node_number        dummy = fscanf( fid, '%d', 1 ) ;        gNode( i, : ) = fscanf( fid, '%f', [1, 2] ) ;    end        % 读取单元定义    element_number = fscanf( fid, '%d', 1 ) ;    gElement = zeros( element_number, 4 ) ;    for i=1:element_number        dummy = fscanf( fid, '%d', 1 ) ;        gElement( i, : ) = fscanf( fid, '%d', [1, 4] ) ;    end        % 读取材料信息    material_number = fscanf( fid, '%d', 1 ) ;    gMaterial = zeros( material_number, 3 ) ;    for i=1:material_number        dummy = fscanf( fid, '%d', 1 ) ;        gMaterial( i, : ) = fscanf( fid, '%f', [1,3] ) ;    end        % 读取边界条件    bc1_number = fscanf( fid, '%d', 1 ) ;    gBC1 = zeros( bc1_number, 3 ) ;    for i=1:bc1_number        gBC1( i, 1 ) = fscanf( fid, '%d', 1 ) ;        gBC1( i, 2 ) = fscanf( fid, '%d', 1 ) ;        gBC1( i, 3 ) = fscanf( fid, '%f', 1 ) ;        dummy=fscanf( fid, '%f', 1 ) ;    end        % 读取节点力    nf_number = fscanf( fid, '%d', 1 ) ;    gNF = zeros( nf_number, 3 ) ;    for i=1:nf_number        gNF( i, 1 ) = fscanf( fid, '%d', 1 ) ;        gNF( i, 2 ) = fscanf( fid, '%d', 1 ) ;        gNF( i, 3 ) = fscanf( fid, '%f', 1 ) ;        dummy=fscanf( fid, '%f', 1 ) ;    end        % 关闭文件    fclose( fid ) ;

8、读入完成后在工作空间将生成包含节点、单元、约束和载荷的数组。

以用于有限元计算

Ansys 中提取节点、单元、约束及载荷等信息

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢