function FemModel(filename) % 定义有限元模型 % 该函数定义平面问题的有限元模型数据: % gNode ------- 节点定义 % gElement ---- 单元定义 % gMaterial --- 材料定义,包括弹性模量,梁的截面积和梁的抗弯惯性矩 % gBC1 -------- 约束条件 % gDF --------- 分布力 global gNode gElement gMaterial gBC1 gDF % 打开文件 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 % 读取荷载信息 load_number = fscanf( fid, '%d', 1 ) ; gDF = zeros( load_number, 4 ) ; for i=1:load_number dummy = fscanf( fid, '%d', 1 ) ; gDF( i, : ) = fscanf( fid, '%f', [1, 4] ) ; end % 读取材料信息 material_number = fscanf( fid, '%d', 1 ) ; gMaterial = zeros( material_number, 4 ) ; for i=1:material_number dummy = fscanf( fid, '%d', 1 ) ; gMaterial( i, : ) = fscanf( fid, '%f', [1,4] ) ; 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 ) ; end % 关闭文件 fclose( fid ) ; return