有限元作业:三角形单元求解

合集下载

有限元算例分析

有限元算例分析

一、平面3节点三角形单元分析的算例如图所示为一矩形薄平板,在右端部受集中力F=10000N 作用,材料常数为:弹性模量1E 二1 107 Pa 、泊松比,板的厚度为t 二0.1m ,试按平面应力问题计算各个节点位3移及支座反力。

閹4-^20右瑞部受集中力作用的平面问题(高深梁)解:(1) 结构的离散化与编号形单元。

载荷F 按静力等效原则向节点 1节点2移置等效。

约束的支反力列阵: R =「0 0 0 0 R X 3 &3 R x4 Ry 4T其中(R X 3, R y3)和(R x4,R y4)分别为节点3和节点4的两个方向的支反力。

(2)各个单元的描述当两个单元取图示中的局部编码(i,j,m)时,其单元刚度矩阵完全相同,即a=X j y m —X m y j , b i=y j —y m , C i=X j —X m a j =X m y i -xy m , b j =y m -y i , c^x^X i a m =X j y m —X m y j , b m =y i —y j , c^x^X j对该结构进行离散,单元编号及节点编号如图4-20(b)所示,即有二个3节点三角 节点位移列阵:q - g v u 2 v 2U 3 V 3 U 4 V 4 r1-^b r b s 十 ---- C r C s2 1 - J亠 -------- b r C s 2^C r b s十丁农I1 - J GG 2brbs"b r C sk iik ⑴,(2)k jjkmma)制赳描述 b)冇限元分折模型节点外载列阵:k ijk jmk mj1 00132I23-12T1I3023434323220042一』—112427433212d413L 333T(3)建立整体刚度方程按单元的位移自由度所对应的位置进行组装可以得到整体刚度矩阵,成k二k⑴k⑵具体写出单元刚度矩阵的各个子块在总刚度矩阵中的对应位置如下该组装过程可以写代入整体刚度方程Kq =P中,有(5)支反力的计算将所求得的节点位移式代入总刚度方程中,可求得支反力如下9Et/ 2 4 、 “(-U i ——V i + — V 2) = —2 F 32 3 3 9Et 2 1 4(U v U 2)»0.07F 32 3 3 3 9Et 2 (-U 2 V 2) =2F32 3 9Et 2 1 (u 2 v 2) = 1.07F7 亍474 3 n — 3-1—3斗1 3 q21-4一 一 □0 33 3 34 r74 "q—0 □-13 3 7亍31341-4 033 33 I2 4 "7'4"-1 7 0亍T7亍r 141 32— —□=-4 33J3 3 i hi BW-Wa-ivKaH4q7 4 0 □ -1——-—33 3 331 2413■^= -^^a--433373 J9Z732(4) 边界条件的处理及刚度方程求解该问题的位移边界条件为 U 3 = 0,V 3 二 0, U 4 二 0,V4 -0 将其代入上式中,划去已知节点位移对应的第5行至第8行(列),有13由上式可求出节点位移如下[U i w u 2 v 2]Et131.88 -8.99-1.50 -8.42 TR X 4 R y432 3 3、MATLAB —平面3节点三角形单元分析的算例(Triangle2D3Node)解:(1)结构的离散化与编号将结构离散为二个3节点三角形单元,单元编号及节点编号如图4-20(b)所示。

平面有限元法作业

平面有限元法作业
在单元的边界 x = ±a 及 y = ±b 上,位移是按线性变化的,而在公共边界上有两个节点相
连,这两个公共节点有共同的节点位移值,从而保证了两个相邻单元在其公共边界上位移的 连续性。故四节点矩形单元满足位移连续性条件。#
{ } 3-7:求以下受力单元的等效节点载荷 R 。已知:lij、lim、lmj 、
⎢⎣ 0 0 0
0 0.5 0
0
0 − 0.5 − 0.5 0 0.5 ⎥⎦12×12
利用矩阵的运算关系
[ ] [ ] [k]T =
B]T [D][B]tA T
= [B]T [D]T
[B]T
T
tA
由于 [D]是对称矩阵, [D]T = [D]
所以 [k]T = [B]T [D] [B]tA = [k],即 [k]为对称矩阵。#
3-5:图示平面等腰三角形单元,若 μ = 0.3 ,弹性模量为 E,厚度为 t,求形函数矩阵 [N ]、 应变矩阵 [B] 及单元刚度矩阵 [K ]。(补充题意:平面应力情况)
q、P,厚度 t,P 点作用在 jm 中点处,沿 x 方向,三角形分布 载荷垂直于 ij 边。
4
解:q 的单元 N/m2 ,设厚度为 t,如图示
Xi
=

1 3
qlij
t
cos
30°
=

3 6
qlij
t
Yi
=

1 3
qlij
t
sin
30°
=

1 6
qlij
t
等效节点载荷
X
j
=

1 6
qlijt cos30° +
第三章作业

平面三角形单元有限元程序设计

平面三角形单元有限元程序设计

平面三角形单元有限元程序设计P9 m 9 m一、题目如图1所示,一个厚度均匀的三角形薄板,在顶点作用沿板厚方向均匀分布的竖向载荷。

已知:P=150N/m,E=200GPa,=0、25,t=0、1m,忽略自重。

试计算薄板的位移及应力分布。

要求:1.编写有限元计算机程序,计算节点位移及单元应力。

(划分三角形单元,单元数不得少于30个);2.采用有限元软件分析该问题(有限元软件网格与程序设计网格必须一致),详细给出有限元软件每一步的操作过程,并将结果与程序计算结果进行对比(任选取三个点,对比位移值);3.提交程序编写过程的详细报告及计算机程序;4.所有同学参加答辩,并演示有限元计算程序。

有限元法中三节点三角形分析结构的步骤如下:1)整理原始数据,如材料性质、荷载条件、约束条件等,离散结构并进行单元编码、结点编码、结点位移编码、选取坐标系。

2)单元分析,建立单元刚度矩阵。

3)整体分析,建立总刚矩阵。

4)建立整体结构的等效节点荷载与总荷载矩阵5)边界条件处理。

6)解方程,求出节点位移。

7)求出各单元的单元应力。

8)计算结果整理。

一、程序设计网格划分如图,将薄板如图划分为6行,并建立坐标系,则刚度矩阵的集成建立与总刚度矩阵等维数的空矩阵,已变单元刚度矩阵的集成。

由单元分析已知节点、单元的排布规律,继而通过循环计算求得每个单元对应的节点序号。

通过循环逐个计算:(1)每个单元对应2种单元刚度矩阵中的哪一种; (2)该单元对应总刚度矩阵的那几行哪几列 (3)将该单元的单元刚度矩阵加入总刚度矩阵的对应行列循环又分为3层循环:(1)最外层:逐行计算(2)中间层:该行逐个计算(3)最里层:区分为第 奇/偶 数个计算XYPXYP节点编号单元编号单元刚度的集成:[][][][][][]''''''215656665656266256561661eZeeeZeZeeeekkkKkkkkkk+⋯++=⇓=⇒==⇒==⇒=⨯⨯⨯⨯⨯⨯M边界约束的处理:划0置1法适用:这种方法适用于边界节点位移分量为已知(含为0)的各种约束。

matlab有限元三角形单元编程

matlab有限元三角形单元编程

matlab有限元三角形单元编程
在MATLAB中进行有限元分析,可以使用其自带的有限元分析工具箱(FEATool)进行编程。

以下是一个简单的例子,演示如何使用三角形单元进行有限元分析:
1. 打开MATLAB,进入FEATool环境。

2. 创建新的有限元模型。

选择“Model”菜单下的“New Model”选项,进入“Model Builder”界面。

3. 在“Model Builder”界面中,选择“2D Triangle”单元类型,并在绘图区域中绘制出三角形网格。

4. 在“Model Builder”界面中,设置材料属性、边界条件和载荷等参数。

5. 运行有限元分析。

选择“Model”菜单下的“Solve”选项,进行有限元求解。

6. 查看结果。

选择“Model”菜单下的“Results”选项,可以查看位移、应力、应变等结果。

以上是一个简单的例子,演示了如何使用三角形单元进行有限元分析。

在实际应用中,还需要根据具体问题进行详细的建模和计算。

有限元-用三角形单元分析

有限元-用三角形单元分析

(e 1,2,3,4) 分块形式如下:
k e
(4-28)
页码: 9
材料成形数值模拟
School of Materials Science and engineering, WHUT 平面三角形单元整体分析
第4章 平面单元有限元法
2) 求各单元的贡献矩阵 K e 以单元②为例,贡献矩阵 K 2 由式(4-41)求出:
F K
F1 k11 F k 2 21 F6 k 61
分块形式
k12 k 22 k 62


k 66 6
解题步骤:先进行单元分析,得出单元矩阵; 考虑单元综合,得出整体矩阵。因此,平面问题有限元法步骤:
离散化→单元分析→整体分析
页码: 1
材料成形数值模拟
School of Materials Science and engineering, WHUT
4.4 平面三角形单元分析
第4章 平面单元有限元法
u1 1 v 1
则三角形单元结点位移向量为:
u1 v 1 1 u 2 e 2 v 2 3 u 3 v3 以 6 个结点位移分量作为基本未知量,对应的物理量是六个结点力分量, U 1 V F1 1 U 2 F e F2 V 2 F3 U 3 V3
Str 1 2 3 4 1 2 1 0 1 1 0 2 0 2 3 Et 1 0 3 1 4 4 1 2 1 3 5 0 0 2 0 1 0 1 1 6 1 2 6 0 1 1 0 0 2 1 2 0 1 2 0 3 0 1 3 E 5

matlab有限元三角形单元程序

matlab有限元三角形单元程序

matlab有限元三角形单元程序以下是一个简单的 MATLAB 有限元三角形单元程序的示例:```matlab% 定义模型参数E = 1000; % 弹性模量nu = 0.3; % 泊松比thickness = 1; % 板的厚度% 定义节点坐标nodes = [0, 0; 1, 0; 1, 1; 0, 1; 0.5, 0.5];% 定义单元连接关系connectivity = [1, 2, 5; 2, 3, 5; 3, 4, 5; 4, 1, 5];% 计算总节点数和总单元数numNodes = size(nodes, 1);numElements = size(connectivity, 1);% 初始化全局刚度矩阵和载荷向量K = zeros(numNodes);F = zeros(numNodes, 1);% 循环遍历每个单元for i = 1:numElements% 查找当前单元的节点编号nodesIndex = connectivity(i, :);% 根据节点编号从全局坐标矩阵中取出节点坐标coordinates = nodes(nodesIndex, :);% 计算当前单元的局部刚度矩阵localK = calculateLocalStiffness(E, nu, thickness, coordinates);% 组装局部刚度矩阵到全局刚度矩阵中K(nodesIndex, nodesIndex) = K(nodesIndex, nodesIndex) + localK;% 计算当前单元的局部载荷向量localF = calculateLocalLoad(thickness, coordinates);% 组装局部载荷向量到全局载荷向量中F(nodesIndex) = F(nodesIndex) + localF;end% 边界条件:节点1固定K(1, :) = 0;K(1, 1) = 1;F(1) = 0;% 解线性方程组U = K \ F;% 输出位移结果disp('节点位移:');disp(U);% 计算应力结果stress = calculateStress(E, nu, thickness, nodes, connectivity, U);% 输出应力结果disp('节点应力:');disp(stress);% 计算局部刚度矩阵的函数function localK = calculateLocalStiffness(E, nu, thickness, coordinates)% 计算单元的雅可比矩阵J = (1/2) * [coordinates(2,1)-coordinates(1,1), coordinates(3,1)-coordinates(1,1);coordinates(2,2)-coordinates(1,2), coordinates(3,2)-coordinates(1,2)];% 计算雅可比矩阵的逆矩阵invJ = inv(J);% 计算单元刚度矩阵B = invJ * [-1, 1, 0; -1, 0, 1];D = (E/(1-nu^2)) * [1, nu, 0; nu, 1, 0; 0, 0, (1-nu)/2]; localK = thickness * abs(det(J)) * (B' * D * B);end% 计算局部载荷向量的函数function localF = calculateLocalLoad(thickness, coordinates) localF = zeros(3, 1);midPoint = [sum(coordinates(:,1))/3,sum(coordinates(:,2))/3];localF(3) = thickness * 1 * det([coordinates(1,:); coordinates(2,:); midPoint]);end% 计算各节点应力的函数function stress = calculateStress(E, nu, thickness, nodes, connectivity, U)stress = zeros(size(nodes, 1), 3);for i = 1:size(connectivity, 1)nodesIndex = connectivity(i, :);coordinates = nodes(nodesIndex, :);Ke = calculateLocalStiffness(E, nu, thickness, coordinates);Ue = U(nodesIndex);stress(nodesIndex, :) = stress(nodesIndex, :) + (Ke * Ue)';endstress = stress / thickness;end```这个程序实现了一个简单的平面三角形单元有限元分析,包括定义节点坐标和单元连接关系、计算全局刚度矩阵和载荷向量、施加边界条件、解线性方程组、计算节点位移和应力等。

1 三角形单元有限元

1 三角形单元有限元

节点三角形单元,将矩阵位移法用到平面问题上。同时,联邦德国
斯图加特大学的J. H. Argyris教授发表了一组能量原理与矩阵分 析的论文,为这一方法的理论基础作出了杰出贡献。1960年美国的
R. W. Clough教授在一篇题为“平面应力分析的有限单元法”的论
文中首先使用“有限单元法(the Finite Element Method)”一 词,此后这一名称得到广泛承认。
2、位移函数设定 不同类型结构会有不同的位移函数。这里,仍 以平面问题三角形单元(图1-2)为例,说明设定位 移函数的有关问题。 v
yHale Waihona Puke 图 1-2 是一个三节点三角形 单元,其节点i、j、m按逆时针 方向排列。每个节点位移在单 元平面内有两个分量:
{ i } [ui
m m
um
vj
j
vi
i
ui
uj x
2
l/2 1、F1 3、F3
4、F4
2、F2
2

3
l/2 1、F1 3、F3
4、F4
(3)由平衡方程求解得节点位移和计算单元应力。
1.1.2 有限元法分析思路流程
离散(剖分)结构
为若干单元
单元分析
(建立单元刚度矩阵[k]e 形成单元等价节点力)
系统分析
(把单元刚度矩阵集合成结构刚度矩阵[K] 形成等价节点荷载{P} )
•20世纪60年代有限单元法发展迅速,除力学界外,许多数学家也参与 了这一工作,奠定了有限单元法的理论基础,搞清了有限单元法与变 分法之间的关系,发展了各种各样的单元模式,扩大了有限单元法的 应用范围。
• 20世纪70年代以来,有限单元法进一步得到蓬勃发展,其应用范围

有限元实验2-三角形单元的形函数性质

有限元实验2-三角形单元的形函数性质

实验三:三角形单元的形函数性质验证
一、 实验目的
1、加深对平面三角形单元有限元分析过程的理解;
2、掌握平面三角形单元形函数矩阵的求解过程和性质。

二、 实验要求
1、明确形函数矩阵的含义和求法;
2、根据题目要求,给出具体的计算过程;
3、编制相应的matlab 计算程序并调试运行。

三、 实验内容
用有限元法求图示平面三角形单元的形函数。

已知节点i,j,m 在xoy 平面中。

用所编程序验证形函数特性:
1、在单元任一点上,三个形函数之和等于1;
2、形函数N i 在i 点的函数值为1,在j 点及m 点的函数值为零;
3、三边上任一点的形函数与第三个顶点的坐标无关。

四、 实验提示
1、()() 21,y c x b a y x N i i i i ++∆=
,其中下标i , j , m 轮换; 2、()()m i j m i j i m m j j i y x y x y x y x y x y x ++++=∆2
1 -21; 3、j m i m m i j m m j i x x c y y b y x y x a -=-=-=;;,其中下标i , j , m 轮换。

手算有限元

手算有限元

手算有限元高深悬臂梁平面应力问题的常应变三角形单元的手工计算一块矩形平板,边长分别为4mm和2mm,厚度1mm,一端固支,另一端受有平行于平面的均布载荷,p=1MPa,在梁的右上角有一沿厚度方向的均布力F=1N/mm。

如图1所示,材料的弹性模量为E=2.0e5MPa,泊松比μ=0.3。

图1 模型及受力图图2 单元划分及节点编号图一、解答:(1)前处理:网格划分和单元信息如图2所示,将梁划分为4个单元,各节点坐标为:表1 节点坐标图每个单元包含三个节点,分别编号为i, j, k。

且为了使下面计算的三角形面积不为负值,各单元节点的次序必须为逆时针方向。

单元节点编码信息:(2)单元分析三角形面积:[*()*()*()]/22xi yj yk xj yk yi xk yi yj ∆=-+-+-=应变几何矩阵:[][][][]i j k B B B B ⎡⎤=⎣⎦[]/0010/02//r rr r r r r rr N x b B N y c N y N x c b ∂∂⎡⎤⎡⎤⎢⎥⎢⎥=∂∂=⎢⎥⎢⎥∆⎢⎥⎢⎥∂∂∂∂⎣⎦⎣⎦,,r i j k = []000-0.5000 0 0.5000 0 0 01000 0 -0.5000 0 0 0 0.50002-0.5000 bi bj bk B ci cj ck ci bi cj bj ck bk ⎛⎫ ⎪== ⎪∆ ⎪⎝⎭ -0.5000 0 0.5000 0.5000 0⎛⎫⎪⎪ ⎪⎝⎭平面应力状态时,材料的弹性矩阵:210[]10100(1)/2E D μμμμ⎛⎫ ⎪= ⎪- ⎪-⎝⎭=52.1978 0.6593 0 0.6593 2.1978 010 0 0 0.7692⎛⎫⎪⨯ ⎪ ⎪⎝⎭单元刚度矩阵:[][][][]1e Tk B D B =∆= 1.4835 0.7143 -1.0989 -0.3846 -0.3846 -0.3297 0.7143 1.4835 -0.3297 -0.3846 -0.3846 -1.0989-1.0989 -0.3297 1.0989 0 0 0.3297-0.3846 -0.3846 510 0 0.3846 0.3846 0-0.3846 -0.3846 0 0.3846 0.3846 0-0.3297 -1.0989 0.3297 0 0 1.0989⎛⎫ ⎪ ⎪ ⎪⨯ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭同理计算另外三个单元的刚度矩阵:[]2e k = 1.0989 0 0 0.3297 -1.0989 -0.3297 0 0.3846 0.3846 0 -0.3846 -0.3846 0 0.3846 0.3846 0 -0.3846 -0.3846 0.3251097 0 0 1.0989 -0.3297 -1.0989-1.0989 -0.3846 -0.3846 -0.3297 1.4835 0.7143-0.3297 -0.3846 -0.3846 -1.0989 0.7143 1.4835⎛⎫ ⎪ ⎪ ⎪⨯ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭[]3e k = 1.4835 0.7143 -1.0989 -0.3846 -0.3846 -0.3297 0.7143 1.4835 -0.3297 -0.3846 -0.3846 -1.0989-1.0989 -0.3297 1.0989 0 0 0.3297-0.3846 -0.3846 510 0 0.3846 0.3846 0-0.3846 -0.3846 0 0.3846 0.3846 0-0.3297 -1.0989 0.3297 0 0 1.0989⎛⎫ ⎪ ⎪ ⎪⨯ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭[]4e k = 1.0989 0 0 0.3297 -1.0989 -0.3297 0 0.3846 0.3846 0 -0.3846 -0.3846 0 0.3846 0.3846 0 -0.3846 -0.3846 0.3297 0 0 1.0989 -0.3297 -1.0989-1.0989 -0.3846 -0.3846 -0.3297 1.4835 0.7143-0.3297 -0.3846 -0.3846 -1.0989 0.7143 1.4835⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭510⨯(3)总体刚度矩阵的集成将四个单元刚度矩阵集合成总体刚度矩阵[K]。

有限元作业:三角形单元求解

有限元作业:三角形单元求解

有限元作业:三角形单元求解-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《有限元作业》年级2015级学院机电工程学院专业名称班级学号学生姓名2016年05月如下图所示为一受集中力P作用的结构,弹性模量E为常量,泊松比V=1/6,厚度为I=1。

按平面应力问题计算,运用有限元方法,分别采用三角形及四边形单元求解,求节点位移及单元应力(要求三角形单元数量不少于4个,四边形单元不少于2个)图(一)图(二)三角形单元求解图(三)四边形单元求解(1)如图划分三角形单元,工分成四个分别为 ④(2)如图分别进行编号1、2、3、4、5、6,并建立坐标系(3)编程进行求解,得出结果,其中假设力P=2000N调用Triangle2D3Node_Stiffness函数,求出单元刚度矩阵k1 =1.0e+06 *7.2857 -3.0000 -2.1429 0.8571 -5.1429 2.1429 -3.0000 7.2857 2.1429 -5.1429 0.8571 -2.1429 -2.1429 2.1429 2.1429 0 0 -2.14290.8571 -5.1429 0 5.1429 -0.8571 0-5.1429 0.8571 0 -0.8571 5.1429 02.1429 -2.1429 -2.1429 0 0 2.1429k2 =1.0e+06 *5.1429 0 -5.1429 0.8571 0 -0.85710 2.1429 2.1429 -2.1429 -2.1429 0-5.1429 2.1429 7.2857 -3.0000 -2.1429 0.8571 0.8571 -2.1429 -3.0000 7.2857 2.1429 -5.1429 0 -2.1429 -2.1429 2.1429 2.1429 0-0.8571 0 0.8571 -5.1429 0 5.1429k3 =1.0e+06 *2.1429 0 -2.1429 -2.1429 0 2.14290 5.1429 -0.8571 -5.1429 0.8571 0-2.1429 -0.8571 7.2857 3.0000 -5.1429 -2.1429 -2.1429 -5.1429 3.0000 7.2857 -0.8571 -2.1429 0 0.8571 -5.1429 -0.8571 5.1429 02.1429 0 -2.1429 -2.1429 0 2.1429k4 =1.0e+06 *2.1429 0 -2.1429 -2.1429 0 2.14290 5.1429 -0.8571 -5.1429 0.8571 0-2.1429 -0.8571 7.2857 3.0000 -5.1429 -2.1429 -2.1429 -5.1429 3.0000 7.2857 -0.8571 -2.1429 0 0.8571 -5.1429 -0.8571 5.1429 02.1429 0 -2.1429 -2.1429 0 2.1429调用Triangle2D3Node_Assembly函数,求出总体刚度矩阵求出的节点位移U =-0.00040.00080.00050.00100.00070.0023-0.00070.0026调用Triangle2D3Node_Stress函数,求出应力,S1、S2、S3、中求出的分别为Sx,Sy,SxyS1 =1.0e+03 *-4.4086-0.73483.5914S2 =1.0e+03 *4.4086-0.64050.4086S3 =1.0e+03 *1.8907-1.06012.1093S4 =1.0e+03 *-1.89072.10931.8907二、(1)如图划分四边形单元,工分成四个分别为(2)如图分别进行编号1、2、3、4、5、6,并建立坐标系(3)编程进行求解,得出结果,其中假设力P=2000N调用 Quad2D4Node_Stiffness函数,求出单元刚度矩阵调用Quad2D4Node_Assembly函数,求出求出总体刚度矩阵求出节点位移U =0.00120.0017-0.00120.00170.00160.0049-0.00170.0052调用Quad2D4Node_Stress函数,求出单元应力中的的S1、S2、S3分别为Sx,Sy,Sxy应力分量S1 =1.0e+03 *0.0000-0.24782.0000S2 =1.0e+07 *0.68564.1135-1.7137程序附录一、1、三角形单元总程序:E=1e7;NU=1/6;t=1;ID=1;%调用Triangle2D3Node_Stiffness函数,求出单元刚度矩阵k2=Triangle2D3Node_Stiffness(E,NU,t,0,0,1,0,1,1,ID)k3=Triangle2D3Node_Stiffness(E,NU,t,1,1,1,0,2,0,ID)k4=Triangle2D3Node_Stiffness(E,NU,t,2,0,2,1,1,1,ID)%调用Triangle2D3Node_Assembly函数,求出总体刚度矩阵KK = zeros(12,12);KK=Triangle2D3Node_Assembly(KK,k1,1,2,3);KK=Triangle2D3Node_Assembly(KK,k2,2,4,3);KK=Triangle2D3Node_Assembly(KK,k3,3,4,5);KK=Triangle2D3Node_Assembly(KK,k4,5,6,3)% 边界条件的处理及刚度方程求解k=KK(5:12,5:12)p=[0;0;0;0;0;0;0;2000]u=k\p%支反力的计算U=[0;0;0;0;u] %为节点位移P=KK*U%调用Triangle2D3Node_Strain函数,求出应变SN1、SN2、SN3中求出的分别为SNx,SNy,SNxyu1=[U(1);U(2);U(3);U(4);U(5);U(6)];u2=[U(3);U(4);U(7);U(8);U(5);U(6)];u3=[U(5);U(6);U(7);U(8);U(9);U(10)];u4=[U(9);U(10);U(11);U(12);U(5);U(6)];SN1=Triangle2D3Node_Strain(0,1,0,0,1,1,u1)SN2=Triangle2D3Node_Strain(0,0,1,0,1,1,u2)SN3=Triangle2D3Node_Strain(1,1,1,0,2,0,u3)SN4=Triangle2D3Node_Strain(2,0,2,1,1,1,u4)%调用Triangle2D3Node_Stress函数,求出应力,S1、S2、S3、中求出的分别为Sx,Sy,Sxyu1=[U(1);U(2);U(3);U(4);U(5);U(6)];u2=[U(3);U(4);U(7);U(8);U(5);U(6)];u3=[U(5);U(6);U(7);U(8);U(9);U(10)];u4=[U(9);U(10);U(11);U(12);U(5);U(6)];S1=Triangle2D3Node_Stress(E,NU,0,1,0,0,1,1,u1,ID)S2=Triangle2D3Node_Stress(E,NU,0,0,1,0,1,1,u2,ID)S3=Triangle2D3Node_Stress(E,NU,1,1,1,0,2,0,u3,ID)2、求刚度矩阵程序function k=Triangle2D3Node_Stiffness(E,NU,t,xi,yi,xj,yj,xm,ym,ID)%该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU,厚度t%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输出单元刚度矩阵k(6X6)%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endk= t*A*B'*D*B;3、求整体刚度矩阵function z = Triangle2D3Node_Assembly(KK,k,i,j,m)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k%输入单元的节点编号I、j、m%输出整体刚度矩阵KK%---------------------------------------------------------------DOF(1)=2*i-1;DOF(2)=2*i;DOF(3)=2*j-1;DOF(4)=2*j;DOF(5)=2*m-1;DOF(6)=2*m;for n1=1:6for n2=1:6KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);endendz=KK;4、求应变程序function strain=Triangle2D3Node_Strain(xi,yi,xj,yj,xm,ym,u)%该函数计算单元的应变%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入单元的位移列阵u(6X1)%输出单元的应力strain(3X1),由于它为常应变单元,则单元的应变分量为SNx,SNy,SNz%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);strain = B*u;5、求应力程序function stress=Triangle2D3Node_Stress(E,NU,xi,yi,xj,yj,xm,ym,u,ID)%该函数计算单元的应力%输入弹性模量E,泊松比NU,厚度t%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入平面问题性质指示参数ID(1为平面应力,2为平面应变),单元的位移列阵u(6X1)%输出单元的应力stress(3X1),由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2];endstress = D*B*u;二、1、四边形单元总程序:E=1e7;NU=1/6;h=1;ID=1;%调用 Quad2D4Node_Stiffness函数,求出单元刚度矩阵k1= Quad2D4Node_Stiffness(E,NU,h,0,1,0,0,1,0,1,1,ID)k2= Quad2D4Node_Stiffness(E,NU,h,1,0,2,0,2,1,1,1,ID)%调用Quad2D4Node_Assembly函数,求出求出总体刚度矩阵KK=zeros(12,12);KK= Quad2D4Node_Assembly(KK,k1,1,2,3,4);KK= Quad2D4Node_Assembly(KK,k2,3,5,6,4)% 边界条件的处理及刚度方程求解k=KK(5:12,5:12)p=[0;0;0;0;0;0;0;2000]u=k\p%支反力的计算U=[0;0;0;0;u] %为节点位移P=KK*U%调用Quad2D4Node_Stress函数,求出单元应力中的的S1、S2、S3分别为Sx,Sy,Sxy应力分量u1=[U(1);U(2);U(3);U(4);U(5);U(6);U(7);U(8)];u2=[U(5);U(6);U(9);U(10);U(11);U(12);U(7);(8)];S1= Quad2D4Node_Stress(E,NU,0,1,0,0,1,0,1,1,u1,ID)S2= Quad2D4Node_Stress(E,NU,1,0,2,0,2,1,1,1,u2,ID)2、求刚度矩阵程序function k= Quad2D4Node_Stiffness(E,NU,h,xi,yi,xj,yj,xm,ym,xp,yp,ID)%该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU,厚度h%输入4个节点i、j、m、p的坐标xi,yi,xj,yj,xm,ym,xp,yp%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输出单元刚度矩阵k(8X8)%---------------------------------------------------------------syms s t;a = (yi*(s-1)+yj*(-1-s)+ym*(1+s)+yp*(1-s))/4;b = (yi*(t-1)+yj*(1-t)+ym*(1+t)+yp*(-1-t))/4;c = (xi*(t-1)+xj*(1-t)+xm*(1+t)+xp*(-1-t))/4;d = (xi*(s-1)+xj*(-1-s)+xm*(1+s)+xp*(1-s))/4;B1 = [a*(t-1)/4-b*(s-1)/4 0 ; 0 c*(s-1)/4-d*(t-1)/4 ;c*(s-1)/4-d*(t-1)/4 a*(t-1)/4-b*(s-1)/4];B2 = [a*(1-t)/4-b*(-1-s)/4 0 ; 0 c*(-1-s)/4-d*(1-t)/4 ;c*(-1-s)/4-d*(1-t)/4 a*(1-t)/4-b*(-1-s)/4];B3 = [a*(t+1)/4-b*(s+1)/4 0 ; 0 c*(s+1)/4-d*(t+1)/4 ;c*(s+1)/4-d*(t+1)/4 a*(t+1)/4-b*(s+1)/4];B4 = [a*(-1-t)/4-b*(1-s)/4 0 ; 0 c*(1-s)/4-d*(-1-t)/4 ;c*(1-s)/4-d*(-1-t)/4 a*(-1-t)/4-b*(1-s)/4];Bfirst = [B1 B2 B3 B4];Jfirst = [0 1-t t-s s-1 ; t-1 0 s+1 -s-t ;s-t -s-1 0 t+1 ; 1-s s+t -t-1 0];J = [xi xj xm xp]*Jfirst*[yi ; yj ; ym ; yp]/8;B = Bfirst/J;if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endBD = J*transpose(B)*D*B;r = int(int(BD, t, -1, 1), s, -1, 1);z = h*r;k = double(z);3、求总体刚度矩阵程序function z = Quad2D4Node_Assembly(KK,k,i,j,m,p)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k,单元的节点编号i、j、m、p%输出整体刚度矩阵KK%---------------------------------------------------------------DOF(1)=2*i-1;DOF(2)=2*i;DOF(3)=2*j-1;DOF(4)=2*j;DOF(5)=2*m-1;DOF(6)=2*m;DOF(7)=2*p-1;DOF(8)=2*p;for n1=1:8for n2=1:8KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);endendz=KK;4、求应力程序function stress= Quad2D4Node_Stress(E,NU,xi,yi,xj,yj,xm,ym,xp,yp,u,ID) %该函数计算单元的应力%输入弹性模量E,泊松比NU,厚度h,%输入4个节点i、j、m、p的坐标xi,yi,xj,yj,xm,ym,xp,yp,%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输入单元的位移列阵u(8X1)%输出单元的应力stress(3X1)%由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy%---------------------------------------------------------------syms s t;a = (yi*(s-1)+yj*(-1-s)+ym*(1+s)+yp*(1-s))/4;b = (yi*(t-1)+yj*(1-t)+ym*(1+t)+yp*(-1-t))/4;c = (xi*(t-1)+xj*(1-t)+xm*(1+t)+xp*(-1-t))/4;d = (xi*(s-1)+xj*(-1-s)+xm*(1+s)+xp*(1-s))/4;B1 = [a*(t-1)/4-b*(s-1)/4 0 ; 0 c*(s-1)/4-d*(t-1)/4 ;c*(s-1)/4-d*(t-1)/4 a*(t-1)/4-b*(s-1)/4];B2 = [a*(1-t)/4-b*(-1-s)/4 0 ; 0 c*(-1-s)/4-d*(1-t)/4 ;c*(-1-s)/4-d*(1-t)/4 a*(1-t)/4-b*(-1-s)/4];B3 = [a*(t+1)/4-b*(s+1)/4 0 ; 0 c*(s+1)/4-d*(t+1)/4 ;c*(s+1)/4-d*(t+1)/4 a*(t+1)/4-b*(s+1)/4];B4 = [a*(-1-t)/4-b*(1-s)/4 0 ; 0 c*(1-s)/4-d*(-1-t)/4 ;c*(1-s)/4-d*(-1-t)/4 a*(-1-t)/4-b*(1-s)/4];Bfirst = [B1 B2 B3 B4];Jfirst = [0 1-t t-s s-1 ; t-1 0 s+1 -s-t ;s-t -s-1 0 t+1 ; 1-s s+t -t-1 0];J = [xi xj xm xp]*Jfirst*[yi ; yj ; ym ; yp]/8;B = Bfirst/J;if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endstr1 = D*B*u;str2 = subs(str1, {s,t}, {0,0});stress = double(str2);。

有限元-三角形板载荷作用点位移的求解

有限元-三角形板载荷作用点位移的求解

有限元法基础与程序设计--三角形板载荷作用点位移的求解如图1所示三角形截面简支梁,底边中点受载荷P=1的作用,已知E=0,μ=0,厚度h=1。

按平面应力考虑,用有限元法计算载荷作用点的位移。

图1解:由题意可知,三角截面关于受力P点的作用线对称,则可单独考虑其右侧半部分,且可作如图2划分单元,划分成4个三角形单元,共有6个节点。

单元和节点的详细信息见下表。

图2由图2可知其各节点的编号和坐标节点,如下表所示:单元连通性表节点坐标表单元的刚度矩阵为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡111413414443313433k k k k k k k k k 则总的刚度矩阵表达为⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡++++244243241234133133132231131123122121214213113112211111k k k k k k k k k k k k k k k k k k 有平衡方程⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡++++4433221144332211244243241234133133132231131123122121214213113112211111y x y x y x y x F F F F F F F F v u v u v u v u k k k k k k k k k k k k k k k k k k运用MATLAB 软件编写程序:Main.mE=1;NU=0;t=1;k1=LinearTriangleElementStiffness(E,NU,t,0,1,0,0.5,0.5,0.5,1); k2=LinearTriangleElementStiffness(E,NU,t,0,0.5,0,0,0.5,0,1); k3=LinearTriangleElementStiffness(E,NU,t,0,0.5,0.5,0,0.5,0.5,1); k4=LinearTriangleElementStiffness(E,NU,t,0.5,0.5,0.5,0,1,0,1); K=zeros(12);K=LinearTriangleAssemble(K,k1,1,2,3); K=LinearTriangleAssemble(K,k2,2,4,5); K=LinearTriangleAssemble(K,k3,2,5,3); K=LinearTriangleAssemble(K,k4,3,5,6);Kff=[K(2,2) K(2,4:6) K(2,8:11);K(4:6,2) K(4:6, 4:6) K(4:6,8:11);K(8:11,2) K(8:11,4:6) K(8:11,8:11)];F=[0 0 0 0 -0.5 0 0 0]'; u=Kff\F解得:u =-4.3429-4.3429-0.4190-3.4095-20.8381-3.25710.8381所以,载荷作用点位移为-2调用的两个函数:(1) LinearTriangleElementStiffness.mfunction y = LinearTriangleElementStiffness(E,NU,t,xi,yi,xj,yj,xm,ym,p)A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if p == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif p == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endy = t*A*B'*D*B;(2) LinearTriangleAssemble.mfunction y = LinearTriangleAssemble(K,k,i,j,m)K(2*i-1,2*i-1) = K(2*i-1,2*i-1) + k(1,1);K(2*i-1,2*i) = K(2*i-1,2*i) + k(1,2);K(2*i-1,2*j-1) = K(2*i-1,2*j-1) + k(1,3);K(2*i-1,2*j) = K(2*i-1,2*j) + k(1,4);K(2*i-1,2*m-1) = K(2*i-1,2*m-1) + k(1,5);K(2*i-1,2*m) = K(2*i-1,2*m) + k(1,6);K(2*i,2*i-1) = K(2*i,2*i-1) + k(2,1);K(2*i,2*i) = K(2*i,2*i) + k(2,2);K(2*i,2*j-1) = K(2*i,2*j-1) + k(2,3);K(2*i,2*j) = K(2*i,2*j) + k(2,4);K(2*i,2*m-1) = K(2*i,2*m-1) + k(2,5);K(2*i,2*m) = K(2*i,2*m) + k(2,6);K(2*j-1,2*i-1) = K(2*j-1,2*i-1) + k(3,1);K(2*j-1,2*i) = K(2*j-1,2*i) + k(3,2);K(2*j-1,2*j-1) = K(2*j-1,2*j-1) + k(3,3);K(2*j-1,2*j) = K(2*j-1,2*j) + k(3,4);K(2*j-1,2*m-1) = K(2*j-1,2*m-1) + k(3,5); K(2*j-1,2*m) = K(2*j-1,2*m) + k(3,6);K(2*j,2*i-1) = K(2*j,2*i-1) + k(4,1);K(2*j,2*i) = K(2*j,2*i) + k(4,2);K(2*j,2*j-1) = K(2*j,2*j-1) + k(4,3);K(2*j,2*j) = K(2*j,2*j) + k(4,4);K(2*j,2*m-1) = K(2*j,2*m-1) + k(4,5);K(2*j,2*m) = K(2*j,2*m) + k(4,6);K(2*m-1,2*i-1) = K(2*m-1,2*i-1) + k(5,1); K(2*m-1,2*i) = K(2*m-1,2*i) + k(5,2);K(2*m-1,2*j-1) = K(2*m-1,2*j-1) + k(5,3); K(2*m-1,2*j) = K(2*m-1,2*j) + k(5,4);K(2*m-1,2*m-1) = K(2*m-1,2*m-1) + k(5,5); K(2*m-1,2*m) = K(2*m-1,2*m) + k(5,6);K(2*m,2*i-1) = K(2*m,2*i-1) + k(6,1);K(2*m,2*i) = K(2*m,2*i) + k(6,2);K(2*m,2*j-1) = K(2*m,2*j-1) + k(6,3);K(2*m,2*j) = K(2*m,2*j) + k(6,4);K(2*m,2*m-1) = K(2*m,2*m-1) + k(6,5);K(2*m,2*m) = K(2*m,2*m) + k(6,6);y = K;。

有限元平面问题三角形实例

有限元平面问题三角形实例

有限元平面问题三角形实例有限元法是一种常用的计算方法,可以用来解决各种工程问题。

其中,有限元平面问题是有限元法的一种应用,常用于分析三角形结构。

在有限元平面问题中,我们通常会将结构划分成许多小的单元,每个单元由节点和单元刚度矩阵组成。

而三角形结构则是有限元平面问题中常用的一种单元形状。

三角形结构的特点是简单而且易于处理,因此广泛应用于各种领域,如土木工程、机械工程、航空航天等。

下面我们就以一个实际的例子来说明如何应用有限元平面问题分析三角形结构。

假设我们要分析一个三角形钢板在受力作用下的变形情况。

首先,我们需要将钢板划分为许多小的三角形单元。

每个单元由三个节点组成,节点之间通过边连接。

在有限元分析中,我们需要对每个单元进行网格划分,并确定节点的坐标和边的长度。

然后,通过求解节点的位移和应力分布,可以得到钢板在受力作用下的变形情况。

具体来说,我们可以通过求解线性方程组来得到节点的位移。

而节点的应力则可以通过应变-位移关系来计算。

通过这种方式,我们可以得到钢板在受力作用下各个节点的位移和应力分布情况。

有限元平面问题的分析结果可以帮助我们了解结构的强度和刚度情况,为设计和优化提供依据。

例如,在钢板的设计中,我们可以通过有限元分析来确定合适的材料和尺寸,以满足结构的强度和刚度要求。

除了钢板,有限元平面问题还可以应用于其他类型的三角形结构。

例如,在土木工程中,我们可以使用有限元分析来分析三角形桥梁或者三角形支撑结构的变形和应力分布情况。

有限元平面问题是一种常用的分析方法,可以应用于各种三角形结构的分析。

通过对节点的位移和应力分布的求解,我们可以得到结构在受力作用下的变形情况。

这对于工程设计和优化至关重要,可以帮助我们提高结构的强度和刚度,确保其安全可靠。

第五章 三角形单元的有限元法

第五章 三角形单元的有限元法
T
{ } [ x y xy ]T (1-4)
(1-6)
7、物理方程矩阵式 对于弹性力学的平面应力问题,物理方程的矩阵形 式可表示为:
x E y 2 1 xy 1 0 对 x 1 称 y 1 xy 0 2
qVx T {qV } [qVx qVy ] qVy
(1-2)
3、单元内任意点的位移列阵f
{ f } [u
y
i m
]T
y
m
(1-3) ·
i
·u
v
j
j
x
x
图1-1
4、单元内任意点的应变列阵
{ } [ x y xy ]T
(1-4)
[ N ] [[Ni ] [ N j ] [ Nm ]]
(1-21)
其中子矩阵
Ni 0 [ Ni ] Ni [ I ] 0 Ni [I]是2×2的单位矩阵。
(i, j, m) (1-22)
(2)形函数性质 形函数是有限单元法中的一个重要函数,它具 有以下性质: 性质1 形函数Ni在节点i上的值等于1,在其它节点 上的值等于0。对于本单元,有
用形函数把式(1-16)写成矩阵,有
u N i v 0
缩写为
0 Ni
Nj 0
0 Nj
Nm 0
ui v i 0 u j Nm v j um vm
{ f } [ N ]{ }
(1-20)
[N]为形函数矩阵,写成分块形式:
第五章 三角形单元的有限元法
5.1 基本思想
把整体结构离散为有限个单元,研究单元的平衡和变 形协调;再把这有限个离散单元集合还原成结构,研究离 散结构的平衡和变形协调。划分的单元大小和数目根据计 算精度和计算机能力来确定。

有限元方法-第五章--平面三角形单元

有限元方法-第五章--平面三角形单元

D
E
1 2
1
0
对 1 0

1
(i)
2
所以,[S]的子矩阵可记为
Si DBi
E
2 1 2
bi
1
bi
2
ci
ci
1
ci
2
bi
( i
,
j
,
m轮换) (5-19)
对于平面应变问题,只要将 (i) 式中的E换成E/1-2 , 换成 /1-,即得到其弹性矩阵
D
1
E1 1 2
1
1
起来,便可近似地表示整个区域的真实位移函数。这种 化繁为简、联合局部逼近整体的思想,正是有限单元法 的绝妙之处。
基于上述思想,我们可以选择一个单元位移模式,
单元内各点的位移可按此位移模式由单元节点位移通过
插值而获得。线性函数是一种最简单的单元位移模式,
故设
u 1 2x 3y
v 4 5x 6y
(b)
0
(b)
Ni xm
,
ym
1 2
ai
bi xm
ci ym
0
(c)
类似地有
N j xi , yi 0 , N j x j , y j 1 , N j xm , ym 0 (d) Nm xi , yi 0 , Nm x j , y j 0 , Nm xm , ym 1
式中 1、2、…6是待定常数。因三角形单元共有六个
自由度,且位移函数u、v在三个节点处的数值应该等于 这些点处的位移分量的数值。假设节点i、j、m的坐标分 别为(xi , yi )、(xj , yj )、(xm , ym ),代入 (b) 式, 得:
ui 1 2 xi 3 yi

有限元作业:三角形单元求解

有限元作业:三角形单元求解

《有限元作业》年级2015级学院机电工程学院专业名称班级学号学生2016年05月如下图所示为一受集中力P作用的结构,弹性模量E为常量,泊松比V=1/6,厚度为I=1。

按平面应力问题计算,运用有限元方法,分别采用三角形及四边形单元求解,求节点位移及单元应力(要求三角形单元数量不少于4个,四边形单元不少于2个)图(一)图(二)三角形单元求解图(三)四边形单元求解(1)如图划分三角形单元,工分成四个分别为④(2)如图分别进行编号1、2、3、4、5、6,并建立坐标系(3)编程进行求解,得出结果,其中假设力P=2000N调用Triangle2D3Node_Stiffness函数,求出单元刚度矩阵k1 =1.0e+06 *7.2857 -3.0000 -2.1429 0.8571 -5.1429 2.1429-3.0000 7.2857 2.1429 -5.1429 0.8571 -2.1429 -2.1429 2.1429 2.1429 0 0 -2.14290.8571 -5.1429 0 5.1429 -0.8571 0-5.1429 0.8571 0 -0.8571 5.1429 02.1429 -2.1429 -2.1429 0 0 2.1429k2 =1.0e+06 *5.1429 0 -5.1429 0.8571 0 -0.85710 2.1429 2.1429 -2.1429 -2.1429 0-5.1429 2.1429 7.2857 -3.0000 -2.1429 0.85710.8571 -2.1429 -3.0000 7.2857 2.1429 -5.14290 -2.1429 -2.1429 2.1429 2.1429 0-0.8571 0 0.8571 -5.1429 0 5.1429 k3 =1.0e+06 *2.1429 0 -2.1429 -2.1429 0 2.14290 5.1429 -0.8571 -5.1429 0.8571 0-2.1429 -0.8571 7.2857 3.0000 -5.1429 -2.1429 -2.1429 -5.1429 3.0000 7.2857 -0.8571 -2.14290 0.8571 -5.1429 -0.8571 5.1429 02.1429 0 -2.1429 -2.1429 0 2.1429 k4 =1.0e+06 *2.1429 0 -2.1429 -2.1429 0 2.14290 5.1429 -0.8571 -5.1429 0.8571 0-2.1429 -0.8571 7.2857 3.0000 -5.1429 -2.1429 -2.1429 -5.1429 3.0000 7.2857 -0.8571 -2.14290 0.8571 -5.1429 -0.8571 5.1429 02.1429 0 -2.1429 -2.1429 0 2.1429 调用Triangle2D3Node_Assembly函数,求出总体刚度矩阵求出的节点位移U =-0.00040.00080.00050.00100.00070.0023-0.00070.0026调用Triangle2D3Node_Stress函数,求出应力,S1、S2、S3、中求出的分别为Sx,Sy,SxyS1 =1.0e+03 *-4.4086-0.73483.5914S2 =1.0e+03 *4.4086-0.64050.4086S3 =1.0e+03 *1.8907-1.06012.1093S4 =1.0e+03 *-1.89072.10931.8907二、(1)如图划分四边形单元,工分成四个分别为(2)如图分别进行编号1、2、3、4、5、6,并建立坐标系(3)编程进行求解,得出结果,其中假设力P=2000N调用Quad2D4Node_Stiffness函数,求出单元刚度矩阵调用Quad2D4Node_Assembly函数,求出求出总体刚度矩阵求出节点位移U =0.00120.0017-0.00120.00170.00160.0049-0.00170.0052调用Quad2D4Node_Stress函数,求出单元应力中的的S1、S2、S3分别为Sx,Sy,Sxy应力分量S1 =1.0e+03 *0.0000-0.24782.0000S2 =1.0e+07 *0.68564.1135-1.7137程序附录一、1、三角形单元总程序:E=1e7;NU=1/6;t=1;ID=1;%调用Triangle2D3Node_Stiffness函数,求出单元刚度矩阵k1=Triangle2D3Node_Stiffness(E,NU,t,0,1,0,0,1,1,ID)k2=Triangle2D3Node_Stiffness(E,NU,t,0,0,1,0,1,1,ID)k3=Triangle2D3Node_Stiffness(E,NU,t,1,1,1,0,2,0,ID)k4=Triangle2D3Node_Stiffness(E,NU,t,2,0,2,1,1,1,ID)%调用Triangle2D3Node_Assembly函数,求出总体刚度矩阵KK = zeros(12,12);KK=Triangle2D3Node_Assembly(KK,k1,1,2,3);KK=Triangle2D3Node_Assembly(KK,k2,2,4,3);KK=Triangle2D3Node_Assembly(KK,k3,3,4,5);KK=Triangle2D3Node_Assembly(KK,k4,5,6,3)% 边界条件的处理及刚度方程求解k=KK(5:12,5:12)p=[0;0;0;0;0;0;0;2000]u=k\p%支反力的计算U=[0;0;0;0;u] %为节点位移P=KK*U%调用Triangle2D3Node_Strain函数,求出应变SN1、SN2、SN3中求出的分别为SNx,SNy,SNxyu1=[U(1);U(2);U(3);U(4);U(5);U(6)];u2=[U(3);U(4);U(7);U(8);U(5);U(6)];u3=[U(5);U(6);U(7);U(8);U(9);U(10)];u4=[U(9);U(10);U(11);U(12);U(5);U(6)];SN1=Triangle2D3Node_Strain(0,1,0,0,1,1,u1)SN2=Triangle2D3Node_Strain(0,0,1,0,1,1,u2)SN3=Triangle2D3Node_Strain(1,1,1,0,2,0,u3)SN4=Triangle2D3Node_Strain(2,0,2,1,1,1,u4)%调用Triangle2D3Node_Stress函数,求出应力,S1、S2、S3、中求出的分别为Sx,Sy,Sxyu1=[U(1);U(2);U(3);U(4);U(5);U(6)];u2=[U(3);U(4);U(7);U(8);U(5);U(6)];u3=[U(5);U(6);U(7);U(8);U(9);U(10)];u4=[U(9);U(10);U(11);U(12);U(5);U(6)];S1=Triangle2D3Node_Stress(E,NU,0,1,0,0,1,1,u1,ID)S2=Triangle2D3Node_Stress(E,NU,0,0,1,0,1,1,u2,ID)S3=Triangle2D3Node_Stress(E,NU,1,1,1,0,2,0,u3,ID)S4=Triangle2D3Node_Stress(E,NU,2,0,2,1,1,1,u4,ID)2、求刚度矩阵程序function k=Triangle2D3Node_Stiffness(E,NU,t,xi,yi,xj,yj,xm,ym,ID)%该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU,厚度t%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输出单元刚度矩阵k(6X6)%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endk= t*A*B'*D*B;3、求整体刚度矩阵function z = Triangle2D3Node_Assembly(KK,k,i,j,m)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k%输入单元的节点编号I、j、m%输出整体刚度矩阵KK%---------------------------------------------------------------DOF(1)=2*i-1;DOF(2)=2*i;DOF(3)=2*j-1;DOF(4)=2*j;DOF(5)=2*m-1;DOF(6)=2*m;for n1=1:6for n2=1:6KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);endendz=KK;4、求应变程序function strain=Triangle2D3Node_Strain(xi,yi,xj,yj,xm,ym,u)%该函数计算单元的应变%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入单元的位移列阵u(6X1)%输出单元的应力strain(3X1),由于它为常应变单元,则单元的应变分量为SNx,SNy,SNz%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);strain = B*u;5、求应力程序function stress=Triangle2D3Node_Stress(E,NU,xi,yi,xj,yj,xm,ym,u,ID)%该函数计算单元的应力%输入弹性模量E,泊松比NU,厚度t%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入平面问题性质指示参数ID(1为平面应力,2为平面应变),单元的位移列阵u(6X1)%输出单元的应力stress(3X1),由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endstress = D*B*u;二、1、四边形单元总程序:E=1e7;NU=1/6;h=1;ID=1;%调用Quad2D4Node_Stiffness函数,求出单元刚度矩阵k1= Quad2D4Node_Stiffness(E,NU,h,0,1,0,0,1,0,1,1,ID)k2= Quad2D4Node_Stiffness(E,NU,h,1,0,2,0,2,1,1,1,ID)%调用Quad2D4Node_Assembly函数,求出求出总体刚度矩阵KK=zeros(12,12);KK= Quad2D4Node_Assembly(KK,k1,1,2,3,4);KK= Quad2D4Node_Assembly(KK,k2,3,5,6,4)% 边界条件的处理及刚度方程求解k=KK(5:12,5:12)p=[0;0;0;0;0;0;0;2000]u=k\p%支反力的计算U=[0;0;0;0;u] %为节点位移P=KK*U%调用Quad2D4Node_Stress函数,求出单元应力中的的S1、S2、S3分别为Sx,Sy,Sxy应力分量u1=[U(1);U(2);U(3);U(4);U(5);U(6);U(7);U(8)];u2=[U(5);U(6);U(9);U(10);U(11);U(12);U(7);(8)];S1= Quad2D4Node_Stress(E,NU,0,1,0,0,1,0,1,1,u1,ID)S2= Quad2D4Node_Stress(E,NU,1,0,2,0,2,1,1,1,u2,ID)2、求刚度矩阵程序function k= Quad2D4Node_Stiffness(E,NU,h,xi,yi,xj,yj,xm,ym,xp,yp,ID) %该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU,厚度h%输入4个节点i、j、m、p的坐标xi,yi,xj,yj,xm,ym,xp,yp%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输出单元刚度矩阵k(8X8)%---------------------------------------------------------------syms s t;a = (yi*(s-1)+yj*(-1-s)+ym*(1+s)+yp*(1-s))/4;b = (yi*(t-1)+yj*(1-t)+ym*(1+t)+yp*(-1-t))/4;c = (xi*(t-1)+xj*(1-t)+xm*(1+t)+xp*(-1-t))/4;d = (xi*(s-1)+xj*(-1-s)+xm*(1+s)+xp*(1-s))/4;B1 = [a*(t-1)/4-b*(s-1)/4 0 ; 0 c*(s-1)/4-d*(t-1)/4 ;c*(s-1)/4-d*(t-1)/4 a*(t-1)/4-b*(s-1)/4];B2 = [a*(1-t)/4-b*(-1-s)/4 0 ; 0 c*(-1-s)/4-d*(1-t)/4 ;c*(-1-s)/4-d*(1-t)/4 a*(1-t)/4-b*(-1-s)/4];B3 = [a*(t+1)/4-b*(s+1)/4 0 ; 0 c*(s+1)/4-d*(t+1)/4 ;c*(s+1)/4-d*(t+1)/4 a*(t+1)/4-b*(s+1)/4];B4 = [a*(-1-t)/4-b*(1-s)/4 0 ; 0 c*(1-s)/4-d*(-1-t)/4 ;c*(1-s)/4-d*(-1-t)/4 a*(-1-t)/4-b*(1-s)/4];Bfirst = [B1 B2 B3 B4];Jfirst = [0 1-t t-s s-1 ; t-1 0 s+1 -s-t ;s-t -s-1 0 t+1 ; 1-s s+t -t-1 0];J = [xi xj xm xp]*Jfirst*[yi ; yj ; ym ; yp]/8;B = Bfirst/J;if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endBD = J*transpose(B)*D*B;r = int(int(BD, t, -1, 1), s, -1, 1);z = h*r;k = double(z);3、求总体刚度矩阵程序function z = Quad2D4Node_Assembly(KK,k,i,j,m,p)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k,单元的节点编号i、j、m、p%输出整体刚度矩阵KK%---------------------------------------------------------------DOF(1)=2*i-1;DOF(2)=2*i;DOF(3)=2*j-1;DOF(4)=2*j;DOF(5)=2*m-1;DOF(6)=2*m;DOF(7)=2*p-1;DOF(8)=2*p;for n1=1:8for n2=1:8KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);endendz=KK;4、求应力程序function stress= Quad2D4Node_Stress(E,NU,xi,yi,xj,yj,xm,ym,xp,yp,u,ID) %该函数计算单元的应力%输入弹性模量E,泊松比NU,厚度h,%输入4个节点i、j、m、p的坐标xi,yi,xj,yj,xm,ym,xp,yp,%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输入单元的位移列阵u(8X1)%输出单元的应力stress(3X1)%由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy%---------------------------------------------------------------syms s t;a = (yi*(s-1)+yj*(-1-s)+ym*(1+s)+yp*(1-s))/4;b = (yi*(t-1)+yj*(1-t)+ym*(1+t)+yp*(-1-t))/4;c = (xi*(t-1)+xj*(1-t)+xm*(1+t)+xp*(-1-t))/4;d = (xi*(s-1)+xj*(-1-s)+xm*(1+s)+xp*(1-s))/4;B1 = [a*(t-1)/4-b*(s-1)/4 0 ; 0 c*(s-1)/4-d*(t-1)/4 ;c*(s-1)/4-d*(t-1)/4 a*(t-1)/4-b*(s-1)/4];B2 = [a*(1-t)/4-b*(-1-s)/4 0 ; 0 c*(-1-s)/4-d*(1-t)/4 ;c*(-1-s)/4-d*(1-t)/4 a*(1-t)/4-b*(-1-s)/4];B3 = [a*(t+1)/4-b*(s+1)/4 0 ; 0 c*(s+1)/4-d*(t+1)/4 ;c*(s+1)/4-d*(t+1)/4 a*(t+1)/4-b*(s+1)/4];B4 = [a*(-1-t)/4-b*(1-s)/4 0 ; 0 c*(1-s)/4-d*(-1-t)/4 ;c*(1-s)/4-d*(-1-t)/4 a*(-1-t)/4-b*(1-s)/4];Bfirst = [B1 B2 B3 B4];Jfirst = [0 1-t t-s s-1 ; t-1 0 s+1 -s-t ;s-t -s-1 0 t+1 ; 1-s s+t -t-1 0];J = [xi xj xm xp]*Jfirst*[yi ; yj ; ym ; yp]/8;B = Bfirst/J;if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endstr1 = D*B*u;str2 = subs(str1, {s,t}, {0,0});stress = double(str2);。

有限元 2-弹性力学平面问题有限单元法(2.1三角形单元,2.2几个问题的讨论)

有限元 2-弹性力学平面问题有限单元法(2.1三角形单元,2.2几个问题的讨论)

第2章 弹性力学平面问题有限单元法2.1 三角形单元(triangular Element)三角形单元是有限元分析中的常见单元形式之一,它的优点是:①对边界形状的适应性较好,②单刚形式及其推导比较简单,故首先介绍之。

一、结点位移和结点力列阵设图为从某一结构中取出的一典型三角形单元。

在平面应力问题中,单元的每个结点上有沿x、y两个方向的力和位移,单元的结点位移列阵规定为: 相应结点力列阵为: (式2-1-1){}⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧=⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧=m j i m ed d d d m j j i v u v u v u i {}ii j j m X Y X (2-1-1)Y X Y iej m m F F F F ⎧⎫⎪⎪⎪⎪⎧⎫⎪⎪⎪⎪⎪⎪==⎨⎬⎨⎬⎪⎪⎪⎪⎩⎭⎪⎪⎪⎪⎪⎪⎩⎭二、单元位移函数和形状函数前已述及,有限单元法是一种近似方法,在单元分析中,首先要求假定(构造)一组在单元内有定义的位移函数作为近似计算的基础。

即以结点位移为已知量,假定一个能表示单元内部(包括边界)任意点位移变化规律的函数。

构造位移函数的方法是:以结点(i,j,m)为定点。

以位移(u i ,v i ,…u m v m 3)为定点上的函数值,利用普通的函数插值法构造出一个单元位移函数。

在平面应力问题中,有u,v 两个方向的位移,若假定单元位移函数是线性的,则可表示成:(,)12u u x y x yααα+46y ==+ 5(,)v v x y x ααα+==+ (2-1-2)a式中的6个待定常数α1 ,…, α6 可由已知的6个结点位移分量(3个结点的坐标)确定。

将13个结点坐标(x i,3iy y i ),(x j,y j ),(x m,y m )代入上式得如下两组线性方程: 12i i u x ααα+3=+12j j j x y u αα=+α+3m y (a)12m m u x ααα=++46i y和5i i v x αα=+α+465j j j x y v αα=+α+46m y (b)5m m v x ααα=++利用线性代数中解方程组的克来姆法则,由(a)可解出待定常数1α 、2α 、3α :211A Aα=22A 3A Aα=3Aα=式中行列式:2111i i 1i i i j m j j m m u x y A u x y u x y =j jm mu y A u y u y =3111i i j jm mx u A 2111i i j j m mAx y A x y x y x u x u ===A为△ijm 的面积,只要A不为0,则可由上式解出:112i i j j a u a u ()m m a u A α=++21(2i ij j bu b u )m m b u A α=++ (C)312i i j j c u c u ()m mc u A α=++i j a x y =−j i y x y =−m i j j i y x y 式中:m m j x y a x a x m m i =−y m y y =−m i j y ym i j b y =− b b j i =− (d)3c m i j x x =− j i c m x x =−m j i c x x =−m iy x y =−m为了书写方便,可将上式记为: a xm i j b i jy y =−(,,) i u j m uu u ruuu u r i jc m x x =−(,,)i j m uuu u r uuu u r)m m N x y u N x y u N x y u =++)m x y v 表示按顺序调换下标,即代表采用i,j,m 作轮换的方式便可得到(d)式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《有限元作业》年级2015级学院机电工程学院专业名称班级学号学生姓名2016年05月如下图所示为一受集中力P作用的结构,弹性模量E为常量,泊松比V=1/6,厚度为I=1。

按平面应力问题计算,运用有限元方法,分别采用三角形及四边形单元求解,求节点位移及单元应力(要求三角形单元数量不少于4个,四边形单元不少于2个)图(一)图(二)三角形单元求解图(三)四边形单元求解(1)如图划分三角形单元,工分成四个分别为???④(2)如图分别进行编号1、2、3、4、5、6,并建立坐标系(3)编程进行求解,得出结果,其中假设力P=2000N调用Triangle2D3Node_Stiffness函数,求出单元刚度矩阵k1 =+06 *0 00 00 00 0k2 =+06 *0 00 00 00 0k3 =+06 *0 00 00 00 0k4 =+06 *0 00 00 00 0调用Triangle2D3Node_Assembly函数,求出总体刚度矩阵求出的节点位移U =调用Triangle2D3Node_Stress函数,求出应力,S1、S2、S3、中求出的分别为Sx,Sy,SxyS1 =+03 *S2 =+03 *S3 =+03 *S4 =+03 *二、(1)如图划分四边形单元,工分成四个分别为??(2)如图分别进行编号1、2、3、4、5、6,并建立坐标系(3)编程进行求解,得出结果,其中假设力P=2000N调用 Quad2D4Node_Stiffness函数,求出单元刚度矩阵调用Quad2D4Node_Assembly函数,求出求出总体刚度矩阵求出节点位移U =调用Quad2D4Node_Stress函数,求出单元应力中的的S1、S2、S3分别为Sx,Sy,Sxy应力分量S1 =+03 *S2 =+07 *程序附录一、1、三角形单元总程序:E=1e7;NU=1/6;t=1;ID=1;%调用Triangle2D3Node_Stiffness函数,求出单元刚度矩阵k1=Triangle2D3Node_Stiffness(E,NU,t,0,1,0,0,1,1,ID)k2=Triangle2D3Node_Stiffness(E,NU,t,0,0,1,0,1,1,ID)k3=Triangle2D3Node_Stiffness(E,NU,t,1,1,1,0,2,0,ID)k4=Triangle2D3Node_Stiffness(E,NU,t,2,0,2,1,1,1,ID)%调用Triangle2D3Node_Assembly函数,求出总体刚度矩阵KK = zeros(12,12);KK=Triangle2D3Node_Assembly(KK,k1,1,2,3);KK=Triangle2D3Node_Assembly(KK,k2,2,4,3);KK=Triangle2D3Node_Assembly(KK,k3,3,4,5);KK=Triangle2D3Node_Assembly(KK,k4,5,6,3)% 边界条件的处理及刚度方程求解k=KK(5:12,5:12)p=[0;0;0;0;0;0;0;2000]u=k\p%支反力的计算U=[0;0;0;0;u] %为节点位移P=KK*U%调用Triangle2D3Node_Strain函数,求出应变SN1、SN2、SN3中求出的分别为SNx,SNy,SNxyu1=[U(1);U(2);U(3);U(4);U(5);U(6)];u2=[U(3);U(4);U(7);U(8);U(5);U(6)];u3=[U(5);U(6);U(7);U(8);U(9);U(10)];u4=[U(9);U(10);U(11);U(12);U(5);U(6)];SN1=Triangle2D3Node_Strain(0,1,0,0,1,1,u1)SN2=Triangle2D3Node_Strain(0,0,1,0,1,1,u2)SN3=Triangle2D3Node_Strain(1,1,1,0,2,0,u3)SN4=Triangle2D3Node_Strain(2,0,2,1,1,1,u4)%调用Triangle2D3Node_Stress函数,求出应力,S1、S2、S3、中求出的分别为Sx,Sy,Sxyu1=[U(1);U(2);U(3);U(4);U(5);U(6)];u2=[U(3);U(4);U(7);U(8);U(5);U(6)];u3=[U(5);U(6);U(7);U(8);U(9);U(10)];u4=[U(9);U(10);U(11);U(12);U(5);U(6)];S1=Triangle2D3Node_Stress(E,NU,0,1,0,0,1,1,u1,ID)S2=Triangle2D3Node_Stress(E,NU,0,0,1,0,1,1,u2,ID)S3=Triangle2D3Node_Stress(E,NU,1,1,1,0,2,0,u3,ID)S4=Triangle2D3Node_Stress(E,NU,2,0,2,1,1,1,u4,ID)2、求刚度矩阵程序function k=Triangle2D3Node_Stiffness(E,NU,t,xi,yi,xj,yj,xm,ym,ID)%该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU,厚度t%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输出单元刚度矩阵k(6X6)%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endk= t*A*B'*D*B;3、求整体刚度矩阵function z = Triangle2D3Node_Assembly(KK,k,i,j,m)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k%输入单元的节点编号I、j、m%输出整体刚度矩阵KK%---------------------------------------------------------------DOF(1)=2*i-1;DOF(2)=2*i;DOF(3)=2*j-1;DOF(4)=2*j;DOF(5)=2*m-1;DOF(6)=2*m;for n1=1:6for n2=1:6KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);endend4、求应变程序function strain=Triangle2D3Node_Strain(xi,yi,xj,yj,xm,ym,u)%该函数计算单元的应变%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入单元的位移列阵u(6X1)%输出单元的应力strain(3X1),由于它为常应变单元,则单元的应变分量为SNx,SNy,SNz%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);strain = B*u;5、求应力程序function stress=Triangle2D3Node_Stress(E,NU,xi,yi,xj,yj,xm,ym,u,ID) %该函数计算单元的应力%输入弹性模量E,泊松比NU,厚度t%输入三个节点i、j、m的坐标xi,yi,xj,yj,xm,ym%输入平面问题性质指示参数ID(1为平面应力,2为平面应变),单元的位移列阵u(6X1)%输出单元的应力stress(3X1),由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy%---------------------------------------------------------------A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yj))/2;betai = yj-ym;betaj = ym-yi;betam = yi-yj;gammai = xm-xj;gammaj = xi-xm;gammam = xj-xi;B = [betai 0 betaj 0 betam 0 ;0 gammai 0 gammaj 0 gammam ;gammai betai gammaj betaj gammam betam]/(2*A);if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2];stress = D*B*u;二、1、四边形单元总程序:E=1e7;NU=1/6;h=1;ID=1;%调用 Quad2D4Node_Stiffness函数,求出单元刚度矩阵k1= Quad2D4Node_Stiffness(E,NU,h,0,1,0,0,1,0,1,1,ID)k2= Quad2D4Node_Stiffness(E,NU,h,1,0,2,0,2,1,1,1,ID)%调用Quad2D4Node_Assembly函数,求出求出总体刚度矩阵KK=zeros(12,12);KK= Quad2D4Node_Assembly(KK,k1,1,2,3,4);KK= Quad2D4Node_Assembly(KK,k2,3,5,6,4)% 边界条件的处理及刚度方程求解k=KK(5:12,5:12)p=[0;0;0;0;0;0;0;2000]u=k\p%支反力的计算U=[0;0;0;0;u] %为节点位移P=KK*U%调用Quad2D4Node_Stress函数,求出单元应力中的的S1、S2、S3分别为Sx,Sy,Sxy应力分量u1=[U(1);U(2);U(3);U(4);U(5);U(6);U(7);U(8)];u2=[U(5);U(6);U(9);U(10);U(11);U(12);U(7);(8)];S1= Quad2D4Node_Stress(E,NU,0,1,0,0,1,0,1,1,u1,ID)S2= Quad2D4Node_Stress(E,NU,1,0,2,0,2,1,1,1,u2,ID)2、求刚度矩阵程序function k= Quad2D4Node_Stiffness(E,NU,h,xi,yi,xj,yj,xm,ym,xp,yp,ID) %该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU,厚度h%输入4个节点i、j、m、p的坐标xi,yi,xj,yj,xm,ym,xp,yp%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输出单元刚度矩阵k(8X8)%---------------------------------------------------------------syms s t;a = (yi*(s-1)+yj*(-1-s)+ym*(1+s)+yp*(1-s))/4;b = (yi*(t-1)+yj*(1-t)+ym*(1+t)+yp*(-1-t))/4;c = (xi*(t-1)+xj*(1-t)+xm*(1+t)+xp*(-1-t))/4;d = (xi*(s-1)+xj*(-1-s)+xm*(1+s)+xp*(1-s))/4;B1 = [a*(t-1)/4-b*(s-1)/4 0 ; 0 c*(s-1)/4-d*(t-1)/4 ;c*(s-1)/4-d*(t-1)/4 a*(t-1)/4-b*(s-1)/4];B2 = [a*(1-t)/4-b*(-1-s)/4 0 ; 0 c*(-1-s)/4-d*(1-t)/4 ;c*(-1-s)/4-d*(1-t)/4 a*(1-t)/4-b*(-1-s)/4];B3 = [a*(t+1)/4-b*(s+1)/4 0 ; 0 c*(s+1)/4-d*(t+1)/4 ;c*(s+1)/4-d*(t+1)/4 a*(t+1)/4-b*(s+1)/4];B4 = [a*(-1-t)/4-b*(1-s)/4 0 ; 0 c*(1-s)/4-d*(-1-t)/4 ;c*(1-s)/4-d*(-1-t)/4 a*(-1-t)/4-b*(1-s)/4];Bfirst = [B1 B2 B3 B4];Jfirst = [0 1-t t-s s-1 ; t-1 0 s+1 -s-t ;s-t -s-1 0 t+1 ; 1-s s+t -t-1 0];J = [xi xj xm xp]*Jfirst*[yi ; yj ; ym ; yp]/8;B = Bfirst/J;if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endBD = J*transpose(B)*D*B;r = int(int(BD, t, -1, 1), s, -1, 1);z = h*r;k = double(z);3、求总体刚度矩阵程序function z = Quad2D4Node_Assembly(KK,k,i,j,m,p)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k,单元的节点编号i、j、m、p%输出整体刚度矩阵KK%---------------------------------------------------------------DOF(1)=2*i-1;DOF(2)=2*i;DOF(3)=2*j-1;DOF(4)=2*j;DOF(5)=2*m-1;DOF(6)=2*m;DOF(7)=2*p-1;DOF(8)=2*p;for n1=1:8for n2=1:8KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);endendz=KK;4、求应力程序function stress= Quad2D4Node_Stress(E,NU,xi,yi,xj,yj,xm,ym,xp,yp,u,ID) %该函数计算单元的应力%输入弹性模量E,泊松比NU,厚度h,%输入4个节点i、j、m、p的坐标xi,yi,xj,yj,xm,ym,xp,yp,%输入平面问题性质指示参数ID(1为平面应力,2为平面应变)%输入单元的位移列阵u(8X1)%输出单元的应力stress(3X1)%由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy%---------------------------------------------------------------syms s t;a = (yi*(s-1)+yj*(-1-s)+ym*(1+s)+yp*(1-s))/4;b = (yi*(t-1)+yj*(1-t)+ym*(1+t)+yp*(-1-t))/4;c = (xi*(t-1)+xj*(1-t)+xm*(1+t)+xp*(-1-t))/4;d = (xi*(s-1)+xj*(-1-s)+xm*(1+s)+xp*(1-s))/4;B1 = [a*(t-1)/4-b*(s-1)/4 0 ; 0 c*(s-1)/4-d*(t-1)/4 ;c*(s-1)/4-d*(t-1)/4 a*(t-1)/4-b*(s-1)/4];B2 = [a*(1-t)/4-b*(-1-s)/4 0 ; 0 c*(-1-s)/4-d*(1-t)/4 ;c*(-1-s)/4-d*(1-t)/4 a*(1-t)/4-b*(-1-s)/4];B3 = [a*(t+1)/4-b*(s+1)/4 0 ; 0 c*(s+1)/4-d*(t+1)/4 ;c*(s+1)/4-d*(t+1)/4 a*(t+1)/4-b*(s+1)/4];B4 = [a*(-1-t)/4-b*(1-s)/4 0 ; 0 c*(1-s)/4-d*(-1-t)/4 ;c*(1-s)/4-d*(-1-t)/4 a*(-1-t)/4-b*(1-s)/4];Bfirst = [B1 B2 B3 B4];Jfirst = [0 1-t t-s s-1 ; t-1 0 s+1 -s-t ;s-t -s-1 0 t+1 ; 1-s s+t -t-1 0];J = [xi xj xm xp]*Jfirst*[yi ; yj ; ym ; yp]/8;B = Bfirst/J;if ID == 1D = (E/(1-NU*NU))*[1 NU 0 ; NU 1 0 ; 0 0 (1-NU)/2];elseif ID == 2D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0 ; NU 1-NU 0 ; 0 0 (1-2*NU)/2]; endstr1 = D*B*u;str2 = subs(str1, {s,t}, {0,0});stress = double(str2);。

相关文档
最新文档