文档详情

平面应力应变有限元软件开发软件工程.doc

发布:2017-08-04约1.3千字共4页下载文档
文本预览下载声明
“平面应力/应变有限元软件开发”基本要求: 以文件的形式输入有限元分析数据 采用三角形单元 能够各种分析平面问题 输出单元的变形,应变,应力 有限元的求解步骤: 离散化,划分网格,准备数据 计算单元刚度矩阵 3. 组装总体刚度矩阵 4. 将载荷移置到节点上,并形成载荷向量{R} [K] {δ} = {R} 5. 边界条件处理 6. 求解线性方程组以得到节点的位移分量 7. 计算单元应变,单元应力 数据流图:0层 图1 图2 图2.1 结构图: 1. 区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分 2. 进行一级分解,设计系统模块结构的顶层和第一层 3. 进行二级分解,设计输入、中心变换、输出部分的中、下层模块 详细设计: 例如: 模块名称:计算D矩阵(DMATRIX) 输入:(1)问题类型IPLNAX(1—平面应力 2—平面应变) (2)杨氏模量YOUNG (3)泊松比POISSON 输出:D矩阵 D(4,4) 公式: 平面应力问题 μ—泊松比 E—弹性模量 平面应变:E→ E/(1-μ2) ,μ →μ/(1-μ) 程序设计: void CalDMatrix(int iplnax, double young, double poisson, double d[3][3]) { int i,j; for(i=0; i3; i++) for(j=0; j3; j++) d[i][j] = 0.0; double u,e; u = poisson; e = young; if(iplnax == 2) { e = e / ( 1 – u*u); u = u / (1 – u); } d[0][0] = 1; d[1][1] = 1; d[2][2]=(1-u)/2; d[0][1] = u; d[1][0] =u; double dd; dd = e / (1 – u*u) for(i=0; i3; i++) for(j=0; j3; j++) d[i][j] = dd * d[i][j]; } 读入有限元输入数据 1 有限元分析计算 2 输出限元结果 3 输出文件 输入文件 读入有限元数据 .1 总体刚度矩阵 .1 检验数据 .2 边界条件的处理 .2 求解方程组的解,得到各个节点的位移 .3 计算单元的应变、应力 .4 输入文件 输出文件 输出限元结果 3 有限元分析计算 2 读入有限元输入数据 1 平面应力/应变有限元分析主模块 有限元数据输入模块 有限元结果输出模块 有限元分析模块 有限元分析 有限元结果输出 有限元数据输入 平面应力/应变有限元分析主模块 读入控制参数、网格单元数据、材料参数: 计算半带宽、确定数组大小 输出节点位移,单元应变,单元应力 计算单元应变,应力 检验 总体刚度矩阵合成 边界条件处理 方程组求解 单元刚度矩阵 B矩阵 D矩阵 计算半带宽,数组大小 .3 组装整体刚度矩阵 .2 单元刚度矩阵 .1
显示全部
相似文档