清华曾攀ansys二次开发资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3) 文件管理 源程序文件:
FEM2D.FOR
程序需读入的数据文件:
BASIC.IN(模型的基本信息文件,需手工生成) NODE_ANSYS.IN (节点信息文件,可由 ANSYS 前处理导出,或手工生成) ELEMENT_ANSYS.IN(单元信息文件,可由 ANSYS 前处理导出,或手工生成)
节点数(N_NODE) 单元数(N_ELE) (例如:6 4)
实 际 输 出 的 数 据
X(I)
Y(I)
RESULT_N(2*I-1)
RESULT_N(2*I)
STS_ND(I,1) STS_ND(I,2) STS_ND(I,3) 节点的 x 坐标 节点的 y 坐标 节点 x 方向位移 节点 y 方向位移
清华大学机械工程系 曾攀
IJK_ELE(I,3):单元节点编号数组,IJK_ELE(I,1)、IJK_ELE(I,2)、IJK_ELE(I,3)分别存放单元 I 的三个 X(N_NODE)、Y(N_NODE):节点坐标数组,X(I)、Y(I)分别存放节点 I 的 x 、 表示该节点沿 x 、
y 坐标值
IJK_ELE(I,1) STS_ELE(I,1) 单元的节点号 1 IJK_ELE(I,2) STS_ELE(I,2)
清华大学机械工程系 曾攀
IJK_ELE(I,3)
IJK_ELE(I,3) STS_ELE(I,3)
RESULT_N(N_DOF):节点载荷数组,存放节点载荷向量,解方程后该矩阵存放节点位移
(2)子程序
READ_IN: 读入数据 FORM_KE:计算单元刚度矩阵 CAL_AREA:计算单元面积 CAL_DD: 计算单元弹性矩阵 CAL_BB: 计算单元位移—应变关系矩阵 BAND_K:形成半带宽的整体刚度矩阵 FORM_P:计算节点载荷 DO_BC:处理边界条件 SOLVE:计算节点位移 CAL_STS:计算单元和节点应力
1
自主程序开发使用说明(fortran,C,ANSYS 平台衔接)
开 始
清华大学机械工程系 曾攀
输入数据(子程序READ_IN)
BASIC.IN(基本信息文件) NODE_ANSYS.IN(节点信息文件,可由ANSYS前处理得到) ELEMENT.ANSYS(单元信息文件,可由ANSYS前处理得到)
1.1 程序原理及实现
该程序的特点如下: 问题类型:可用于计算弹性力学平面应力问题和平面应变问题 单元类型:采用常应变(CST)三角形单元 位移模式:采用线性位移模式 载荷类型:节点载荷,非节点载荷应先换算为等效节点载荷 材料性质:弹性体由单一的均匀材料组成 约束方式:为“0”位移固定约束,为保证无刚体位移,弹性体至少应有对三个自由度的独 立约束 方程求解:针对半带宽刚度方程的 Gauss 消元法 节点信息:可以读入由 ANSYS 前处理导出的节点信息文件 NODE_ANSYS.IN,或手工生 成 单元信息:可以读入由 ANSYS 前处理导出的单元信息文件 ELEMENT_ANSYS.IN,或手 工生成 结果文件:输出一般的结果文件 DATA.OUT ,还输出供 ANSYS 进行后处理的文件 FOR_POST.DAT 该程序的原理如框图 1 所示。
形成单元刚度矩阵(子程序FORM_KE)
以半带存储方式形成整体刚度矩阵(BAND_K)
形成节点载荷向量(子程序FORM_P)
处理边界条件(子程序DO_BC)
求解方程获得节点位移(子程序SOLVE)
Biblioteka Baidu
计算单元及节点应力(子程序CAL_STS)
输出文件
(FOR_POST.DAT,供ANSYS后处理用) (DATA.OUT,一般的结果文件)
I
STS_ND(I,1)
STS_ND(I,2) STS_ND(I,3) y 方向应力 剪切应力
节点号 x 方向应力
专供 ANSYS 进行后处理的结果数据文件 FOR_POST.DAT 的格式如表 5 所示。
表 5 输出结果文件 FOR_POST.DAT 的格式 栏 目 格式说明 (共 1 行,两 PARTI:模型信息 个数,格式 2f9.4) PARTII :节点坐标、节 点位移、节点应力的三 个分量(经平均处理后), 在模型信息输出行后的 第 1 行代表第 1 号节点 的结果,往后依此类推。 (共有总节点 数的行数, 每行 7 个数, 格式 7f9.4)
每行为一个单元的信息 (每行有 14 个整型数,前 4 个为单元节点编号,对于 3 NE_ANSYS(N_ELE,14) 单元的节点号 1(空格)单元的节点号 2(空格)单元的节点号 3(空格)单元的节 点号 4( 空格 )0( 空格 )0( 空格 )0( 空格 )0( 空格 )0( 空格 ) 0( 空格 )0( 空格 )0( 空 格)0(空格)0 (例如:1 4 5 5 0 0 0 0 0 0 0 0 0 0 ) ………
表 2 节点信息文件 NODE_ANSYS.IN 的格式 栏目 格式说明
每行为一个节点的信息
实际需输入的数据
ND_ANSYS(N_NODE,3)
节点信息
节点号,该节点的 x 坐标,该节点 y 方向坐标 ( 每行三个数,每两个数之 (例如:3 0.5 1.2) 间用空格或“, ”分开) ………
需读入的单元信息文件 ELEMENT_ANSYS.IN 的格式如表 3 所示。该格式按 4 节点单
IJK_U(N_BC,3):节点约束数组,IJK_U(I,1)表示第 I 个约束的节点编号,IJK_U(I,2)、IJK_U(I,3)分别
y 方向的支承情况,为 1 时表示有约束,为零时无约束 y 方向的节点载荷数值
P_IJK(N_LOAD,3):节点载荷数组,P_IJK (I,1)表示第 I 个作用有节点载荷的节点的编号,P_IJK (I,2)、 P_IJK (I,3)分别为该节点沿 x 、 AK(N_DOF,N_BAND):整体刚度矩阵 AKE(6,6): BB(3,6): DD(3,3): SS(3,6): DISP_E(6): STS_ELE(N_ELE,3): STS_ND(N_NODE,3): 单元刚度矩阵 位移-应变转换矩阵(三节点单元的几何矩阵) 弹性矩阵 应力矩阵 单元的节点位移向量 单元的应力分量 节点的应力分量
节点 x 方向应力 节点 y 方向应力 节点剪切应力 ( 例 如 : 0.0000 0.4396) 2.0000 0.0000 -5.2527 -1.0879 -3.0000
5
自主程序开发使用说明(fortran,C,ANSYS 平台衔接) PARTIII : 单 元 节 点 编 号、单元应力的三个分 量,在节点输出结果后 的第 1 行代表第 1 号单 元的结果,往后依此类 推。 (共有总单 元 数 的 行 数,每行 7 个数,格式 7f9.4)
自主程序开发使用说明(fortran,C,ANSYS 平台衔接)
清华大学机械工程系 曾攀
《有限元分析及应用》
自主程序开发使用说明
(fortran, C, 与 ANSYS 平台衔接)
曾
攀
(清华大学机械工程系)
1 连续体平面问题的有限元分析程序(Fortran)
源程序名称:FEM2D.FOR Fortran 源程序、相关接口程序和数据文件见本配书盘中目录 /有限元分析源程序(f,c,ANSYS 衔接)/fortran 源程序及与 ANSYS 衔接(FEM2D)/ 下面将介绍 FEM2D.FOR 程序的实现原理。该程序可以接受由 ANSYS 前处理所输出 的节点信息文件 NODE_ANSYS.IN 和单元信息文件 ELEMENT_ANSYS.IN,经过计算分析 后,输出一个一般性的结果文件 DATA.OUT 和一个专供 ANSYS 进行后处理的结果数据文 件 FOR_POST.DAT 。该程序所使用的需手工生成的模型基本信息文件为 BASIC.IN ,与 ANSYS 后处理衔接的接口程序程序为 USER_POST.LOG。
4
自主程序开发使用说明(fortran,C,ANSYS 平台衔接)
清华大学机械工程系 曾攀
元准备,节点号 4 与节点号 3 的编号相同,由于需要与 ANSYS 前处理的输出数据文件相衔 接,该文件的每行有 14 个数,后 10 位整型数在本程序中暂时无用,可输入“0” 。
表 3 单元信息文件 ELEMENT_ANSYS.IN 的格式 栏 目 格 式 说 明
若需从 ANSYS 前处理中导出 NODE_ANSYS.IN 和 ELEMENT_ANSYS.IN 这两个文件,其方 法见后面的第 3 节。 程序输出的数据文件:
DATA.OUT (一般的结果文件) FOR_POST.DAT(专供 ANSYS 进行后处理的结果数据文件)
与 ANSYS 后处理衔接的接口程序:
第 1 行,每两个数 (N_BC),有载荷的节点数(N_LOAD) 之间用“, ”号隔开 (例如:1,4,6,5,3)
实际需输入的数据
问题类型(ID),单元个数(N_ELE),节点个数(N_NODE),有约束的节点数
基本模型数据
材料性质
第 2 行,每两个数 之间用“, ”号隔开 在材料性质输入行 之后另起行,每两
FEM2D.FOR
供ANSYS后处理的输出文件 FOR_POST.DAT
ANSYS平台后处理 USER_POST.LOG
图 2 FEM2D.FOR 程序中的文件管理以及与 ANSYS 前后处理平台的衔接
(4) 数据文件格式 需读入的模型基本信息文件 BASIC.IN 的格式如表 1 所示。
表 1 模型基本信息文件 BASIC.IN 的格式 栏目 格式说明
P_IJK(N_LOAD,3) 入行之后另起行,
节点荷载信息
每两个数之间用 “, ”号隔开。
载荷作用的节点编号,该节点 x 方向载荷,该节点 y 方向载荷,……….. (例如:1,-0.5,-1.5,3,-1.,-1,6,-0.5,-0.5)
需读入的节点信息文件 NODE_ANSYS.IN 的格式如表 10.2 所示。
结 束
图 1 FEM2D.FOR 程序的原理框图
程序中主要变量、子程序、求解的说明如下。 (1) 主要变量
ID: N_NODE: N_LOAD: 问题类型码,ID=1 时为平面应力问题,ID=2 时为平面应变问题 节点个数 节点载荷个数 2
自主程序开发使用说明(fortran,C,ANSYS 平台衔接) N_DOF: N_ELE: N_BAND: N_BC: PE: PR: PT: 自由度,N_DOF=N_NODE*2(平面问题) 单元个数 矩阵半带宽 有约束的节点个数 弹性模量 泊松比 厚度 节点的整体编号
USER_POST.LOG(接口文件,供 ANSYS 调用实现结果的可视化)
3
自主程序开发使用说明(fortran,C,ANSYS 平台衔接)
清华大学机械工程系 曾攀
FEM2D.FOR 程序中的文件管理如图 2 所示。
基本信息数据文件 BASIC.IN 一般结果输出文件 DATA.OUT
节点信息数据文件 NODE_ANSYS.IN ANSYS平台前处理 NWRITE命令 EWRITE命令 单元信息数据文件 ELEMENT_ANSYS.IN
I
实 际 输 出 的 数 据
RESULT_N(2*I-1) RESULT_N(2*I) x 方向位移 y 方向位移
节点位移
节点号
IE
STS_ELE(IE,1) STS_ELE(IE,2) STS_ELE(IE,3) y 方向应力 剪切应力
单元应力的三个分量
单元号 x 方向应力
节点应力的三个分量 (经平均处理后)
实 际 需 输 入 的 数 据
单元信息
节点单元,第 4 个节点编号 与第 3 个节点编号相同,后 10 个数暂时无用,可输入 “0 ” ,每两个整型数之间用 至少一个空格分开。)
输出结果文件 DATA.OUT (一般的结果文件) 格式如表 4 所示。
表 4 输出结果文件 DATA.OUT 的格式 栏 目
弹性模量(PE),泊松比(PR),单元厚度(PT) (例如:1.,0.,1.)
节点约束信息
IJK_U(N_BC,3) 位移约束的节点编号, 该节点 x 方向约束代码, 该节点 y 方向约束代码, ….. (例如:1,1,0,2,1,0,4,1,1,5,0,1,6,0,1)
个数之间用“, ”号 隔开。 (约束代码:1 表示 有约束,0 无约束) 在节点约束信息输