《有限元分析与应用》

第1讲 引论 力学的分类

《有限元分析与应用》,曾攀,清华大学出版社

  • 质点描述轨道——质点力学
  • 刚体描述姿态——刚体力学
  • 变形体描述姿态的耦合影响——弹性力学
  • 复杂形状变形——弹塑性力学

有限元分析的力学基础是弹性力学,方程求解的数学原理是加权残值法和泛函极值原理,实现的方法是数值化离散技术,最终的载体是有限元分析软件。

注:为书写和理解统一,向量在本文中有时又称为矩阵

变形体力学

三个方面:力的平衡、变形状态、材料行为
三大变量:应力σ(x)、应变ϵ、位移
三大方程:平衡方程,物理方程,几何方程
边界:位移边界,力边界

应力-应变曲线:哑铃状样品按标准执行

一维线性力学模型——三大方程

  • 平衡方程:σ(x)=FA
  • 物理方程:σ(x)=Eϵ
  • 几何方程:ϵ(x)=ul

微分方程求解

一维杆模型

p为力密度,是一个常量,拉力F=0Lpdx

images/《有限元分析与应用》-20240805175355117.webp

σ=Eϵ可知,任意长度微元dx内都有,xLpdxA=Edudx


微分方程:d2udx2+pAE=0
边界条件(左端固定,右端自由):u|x=0=0dudx|x=L=0

方程求解

解析法u(x)=12pAEx2+pAELx

差分法

采用向前差分ui12ui+ui+1Δl2=d2udx2

  1. 划分五个网格单元,中间四个节点

images/《有限元分析与应用》-20240806085357901.webp

{u02u1+u2+152PL2AE=0,1u12u2+u3+152PL2AE=0,2u22u3+u4+152PL2AE=0,3u32u4+u5+152PL2AE=0,4

边界:u|x=0=u0=0u5=u4,代入方程中

(2100121001210011)(u1u2u3u4)+152PL2AE(1111)=0

矩阵方程解为:

(u1u2u3u4)T=PL2AE(0.250.43750.56230.625)T

  1. 划分n个网格单元,中间n-1个节点

images/《有限元分析与应用》-20240806091110604.webp

矩阵方程:

(210000121000012100000000121000011)(u1u2u3un2un1)+1n2PL2AE(11111)=0

边界:u|x=0=u0=0un=un1,代入方程中

差分法和解析法结果对比

分段数n L/5 2L/5 3L/5 4L/5 L
5 0.250 0.438 0.563 0.625 0.625
50 0.185 0.329 0.431 0.491 0.510
100 0.183 0.324 0.425 0.486 0.505
500 0.180 0.321 0.421 0.481 0.501
解析解 0.180 0.320 0.420 0.480 0.500
网格划分越多,差分解越接近解析解

试函数法:伽辽金法-加权余量法

  • 假定一个含有位置系数的函数族u¯(x)(基函数为幂函数或者三角函数),该函数满足边界条件
  • 将试函数代入控制方程中,使得残差函数最小来确定试函数的系数
  • 残差函数(余量)通过权函数(函数族)得到最小值

已知

微分方程:d2udx2+pAE=0
边界条件(左端固定,右端自由):u|x=0=0dudx|x=L=0

求解

u¯(x)=c1ϕ1(x)=c1sinπx2L,显然满足边界条件

将试函数代入控制微分方程中,得到残差函数R(x)
R(x)=d2u¯1dx2+pAE=C1(π2L)2sinπx2L+pAE0

使用族函数加权,求和(积分):
I=0Lϕ1(x)R(x)dx=0Lc1sinπx2LR(x)dx=0

确定待定系数c1=16π3PL2AE

代回试函数,u¯(x)=c1ϕ1(x)=16π3PL2AEsinπx2L

也可以使用多待定系数

images/《有限元分析与应用》-20240806095552602.webp

试函数 L/5 2L/5 3L/5 4L/5 L
u¯(x)1 0.159 0.303 0.417 0.491 0.516
u¯(x)2 0.175 0.321 0.423 0.480 0.497
解析解 0.180 0.320 0.420 0.480 0.500

微分方程求解方法对比

解析解 差法法 试函数法
求解过程 解微分方程 微商代替微分;线性方程组;求解 满足边界的试函数;代回控制方程;余量最小;线性方程组
技术关键 满足全场条件的解函数 全场试函数只需满足一定边界条件
难易程度 很难 较简单 简单
求解精度 极高 高,计算量大 较高,计算量小
方法规范性 不规范,技巧不统一 规范 试函数确定不规范,后续规范
解题范围 一定范围 涵盖复杂领域 范围大

函数逼近

以为函数f(x)x[x0,xL]

基于全域展开
傅里叶级数展开,f(x)=i=0nciϕi(x[x0,xL]),其中ϕi为基底函数,ci为系数

基于子域展开
采用线性函数在子域[xi,xi+1上分段展开,f(x)=i=0n{ai+bix(x[xi,xi+1)},其中ai,bi为系数,基底函数为一次函数

全域展开 子域展开
优点 基底函数高次连续,容易逼近高精度 基函数简单;原始微分方程可转化为线性方程组
缺点 基底函数复杂,多维较难 基函数连续性阶次低,分段区间多

复杂几何域的函数表征与逼近

非规则的几何域很难直接构造全域的试函数,进行网格划分,网格片区构造可实现,然后进行拼接成全域

images/《有限元分析与应用》-20240807111555784.webp

在网格单元上构建试函数,并建立力学方程,以处理复杂几何问题

单元——有限元中构建复杂结构的基本组成

  • 1D:梁,杆,弹簧
  • 2D:四边形,三角形,曲边六边形,八节点四边形(二阶四边形)
  • 3D:八节点六面体,多节点曲面体
  • 板壳:结构壳单元,热学壳单元

有限元方法和软件发展

两条路线找试函数,最后发展成有限元

  • 工程:1870年变分法,1940年相似结构置换,1955年直接连续单元(矩阵力学)
  • 数学:1795和1915年加权残值法,有限差值法,可变的有限差值法

有限元研究开拓者

  • RICHARD COURANT,美国数学家
  • JOHNARGYRIS,德国人,计算机有限元计算
  • OLGIERD CECIL ZIENKIEWIZ,英国人,第一本有限元领域专著《有限元方法》

主要软件

  • 1966:nastran
  • 1969:Marc
  • 1970:Ansys
  • 1975:ADINA
  • 1978:DYNA
  • 1979:Abaqus
  • 1982:cosmos
  • 1984:ALGOR

第2讲 直接刚度法—弹簧力学分析

弹簧的力学分析原理

遵循胡克定律:力正比于弹簧位移

对于弹簧网格单元

images/《有限元分析与应用》-20240807114051706.webp
那么
{k(u2u1)=F2F1+F2=0

转换为场方程
{k(u1u2)=F1k(u2u1)=F2

矩阵形式,KU=F——平衡方程
[kkkk][u1u2]=[F1F2]

刚度矩阵组装

images/《有限元分析与应用》-20240807133917778.webp

[k1k10k1k1+k2k20k2k2][u1u2u3]=[FR1F2FR3]

边界条件:u1=0,u3=0

矩阵求解:u2=F2k1+k2FR1=k1u2=k1F2k1+k2FR3=k2u2=k2F2k1+k2

弹簧单元与杆单元的比较

弹簧:F=kδ
拉杆:σ=Eϵ,即F/A=Eδ/l

故:k=EAl,拉杆与弹簧是等价的,刚度系数

images/《有限元分析与应用》-20240807134927008.webp

杆单元的坐标变换

局部坐标转化为全局坐标,以便对单元进行集成和组装

对于平面杆,全局坐标系x¯oy¯,局部坐标系xo

images/《有限元分析与应用》-20240807135740533.webp

局部坐标系中的节点位移:qe=[u1,u2]

全局坐标系中的节点位移:q¯e=[u¯1,v¯1,u¯2,v¯2]

存在关系:u1=u¯1cosα+v¯1sinαu2=u¯2cosα+v¯2sinα

qe=[u1,u2]=[cosαsinα0000cosαsinα][u¯1v¯1u¯2v¯2]=Teq¯e

代入平衡方程:Keqe=Fe

得到:Ke(Teq¯e)=Fe,两边左乘旋转矩阵的转置TeT

即:K¯eq¯e=F¯e,其中K¯e=TeTKeTeF¯e=TeTFe表示全局坐标系下的单元刚度矩阵和节点力矩阵

images/《有限元分析与应用》-20240807141216821.webp

同理,空间杆单元的坐标变换

images/《有限元分析与应用》-20240807141449974.webp

四杆结构的实例分析

images/《有限元分析与应用》-20240807142211984.webp

已知四杆相同材质和横截面积A=100mm2,弹性模量E=29.5×104N/mm2

  1. 结构的离散化

节点标记及坐标

Node x y
1 0 0
2 400 0
3 400 300
4 0 300

单元编号以及对应的节点、长度和轴线的方向余弦

Element start end l nx ny
1 1 2 400 1 0
2 3 2 300 0 -1
3 1 3 500 0.8 0.6
4 4 3 400 1 0
  1. 各个单元的矩阵描述

全局坐标系下各个单元的刚度矩阵

images/《有限元分析与应用》-20240807142916549.webp

images/《有限元分析与应用》-20240807142927492.webp

images/《有限元分析与应用》-20240807142936548.webp

images/《有限元分析与应用》-20240807142947460.webp

  1. 刚度矩阵的组装

对应位移的矩阵元素进行累加,组成刚度矩阵和节点载荷

刚度矩阵:K=K(1)+K(2)+K(3)+K(4)
节点位移:q=[u1v1u2v2u3v3u4v4]T
节点力:P=R+F=[Rx1Ry12×104Ry202.5×104Rx4Ry4]T

其中,(Rx1,Ry1)为节点1处沿x和y方向的支反力,Ry2为节点2处沿y方向的支反力,(Rx4,Ry4)为节点4处沿x和y方向的支反力,

组装成整体的刚度方程

images/《有限元分析与应用》-20240807144008807.webp

  1. 边界条件的处理和刚度方程求解

边界条件BC:u1=v1=v2=u4=v4=0,代入刚度方程,化简

images/《有限元分析与应用》-20240807144213846.webp

求解:[u2u3v3]=[0.27120.05650.2225]mm

q=[000.271200.05650.22500]Tmm

  1. 支反力的计算

images/《有限元分析与应用》-20240807144548499.webp

images/《有限元分析与应用》-20240807144604652.webp

四杆结构的ANSYS实例分析

软件仿真流程

  • 分析类型和单元类型
  • 前处理,材料,几何模型,网格划分
  • 边界条件,求解
  • 检查结果并处理

使用杆单元link建立模型

第3讲 针对复杂几何形状变形体的力学描述(1)

力学描述的基本思路及关于变形体材料的基本假设

材料力学

  • 拉伸:杆
  • 扭转:扭杆
  • 弯曲:梁

弹性体基本假设5条:

  • 物体内的物质连续性continuity假设,可使用连续函数描述
  • 物体内的物质均匀性homogeneity假设,各个位置具有相同特性
  • 物体内的物质特性各向同性isotropy假设,各个方向具有相同的力学特性
  • 线弹性 linear elasticity假设,变形遵循胡克定律,去除外力后,物体可恢复
  • 小变形small deformation假设,物体变形量远远小于物体几何尺寸,即在建立方程时,可以忽略高阶小量(二阶以上)

指标记法

坐标系为右手

矢量的分量形式:F=[F1,F2,F3]=Fi,(i=1,2,3)

  • 自由指标,每项中只出现一次的下表
    • σij中的i,j在(1,2,3)中只出现一次
  • 哑指标,针对乘法时的指标默认处理
    • σijxj=bij为哑指标,可以在(1,2,3)变化
  • Einstein求和约定,哑指标意味着求和
    • j=13aijxj=bj,(i=1,2,3)可以简化为aijxj=bj,(i=1,2,3);等价于三个线性方程的组合
  • Voigt标记,将高阶自由指标的张量遵循移动规则改写成低阶张量形式
    • 对称张量,仅写一半;沿着主对角后逆时针排序元素
    • 将3*3矩阵按照角标11-22-33-23-13-12将一半元素排列成向量

三大变量及三大方程

单元的三大变量:位移,应力,应变
单元的三大方程:平衡方程,几何方程,物理方程
边界:力边界和位移边界

法应力σ和切(剪)应力τ

images/《有限元分析与应用》-20240807154138773.webp

平面问题的平衡方程构建

  • 约定:正面正向为正,负面负向为正

  • 有四个侧面,在平衡方程中,应考虑合力的平衡

    • 沿方向所有合力的平衡
    • 沿y方向所有合力的平衡
    • 所有合力关于任一点的力矩平衡
  • 应力在经过dx或dy变化后的位置上有增量表达

  • 应力在各个侧面上为均匀分布

  • 对于均匀厚度t的平板,微元dxdy_t

  • 面的法应力为σ,正方向为单元内部垂直指向面的外部

  • 剪应力为τ,方向垂直于法应力

  • 体积力为b表示单位体积内的力载荷

images/《有限元分析与应用》-20240808093523563.webp

  1. 力学变量的增量计算

泰勒展开
σxx(x+dx,y)=σxx(x,y)+σxx(x,y)xdx+2σxx(x,y)2x2dx2+

略去二阶以上微量
σxx(x+dx,y)=σxx(x,y)+σxx(x,y)xdx

  1. 合力的平衡

Fx=0Fy=0M0=0

x方向的力:左右面上的法应力*面积+上下面的剪应力*面积+体积力*微元体积
σxx(x+dx,y)dytσxx(x,y)dyt+τxy(x,y+dy)dxtτxy(x,y)dxt+b¯xdxdyt=0
位置增量(x+dx或者y+dy)上的应力(即σxx(x+dx,y)τxy(x,y+dy))使用一阶泰勒展开替换

σxx(x,y)xdxdyt+τxy(x,y)ydydxt+b¯xdxdyt=0

等式两边除以微元体积dxdyt,函数对xy连续且可微,雅可比行列式为

σxx(x,y)x+τxy(x,y)y+b¯x=0简记为σxxx+τxyy+b¯x=0

同理,y方向上的合力平衡

σyyy+τyxx+b¯y=0

最后,力矩平衡,即力关于微元的几何中心形成力矩平衡,对于几何中心,上下面剪应力及其偏导形成的力矩=左右面剪应力及其偏导形成的力矩;(体积力和法应力的力臂为0)
τxy(x,y)dxty2+τxy(x,y+dy)dxty2=τyx(x+dx,y)dytx2+τyx(x,y)dytx2
同样位置增量的剪应力使用一阶泰勒展开替换,则有:

τxy=τyx,即剪应力互等定理

汇总三个力平衡方程

{σxxx+τxyy+b¯x=0σyyy+τyxx+b¯y=0τxy=τyx

剪应力互等,故

{σxxx+τxyy+b¯x=0σyyy+τxyx+b¯y=0

哑指标形式:σij,j+b¯i=0,其中σij,j的下角标(ij,j)表示物理量σijj方向求偏导,i=x或者y

平面问题的几何方程构建

平面变形量的定义需要考感两个方面

  • 沿各个方向上的长度相对变化量(应变)
  • 夹角的变化量

位移场u(x,y),v(x,y)分别表示任意位置的沿x和y方向的位移量

images/《有限元分析与应用》-20240808104343496.webp

  1. 沿各个方向上的应变(即单位长度的变化量)

忽略PA的小角度变化,那么

PA=dx+(u+uxdx)u=dx+uxdx
PA=dx
x方向上的应变ϵxx=PAPAPA=ux
同理,y方向上的应变ϵyy=PBPBPB=vy

  1. 夹角变化量

images/《有限元分析与应用》-20240808105508776.webp

PAPA的夹角α=tanα=v+vxdxvdx=vx
PBPB的夹角β=tanβ=u+uydyudy=uy
定义夹角的总变化为γxy=α+β=vx+uy

汇总平面问题的几何方程

{ϵxx=uxϵyy=vyγxy=vx+uy

指标形式:ϵij=12(ui,j+uj.i)

其中,ϵij=12γi,j(ij)

就平面问题

  • 如果已知2个位移分量u和v,可以通过式唯一求出3个应变分量ϵxxϵxyϵyy
  • 但如果是一个反问题,即已知3个应变分量是ϵxxϵxyϵyy,就不一定能够惟一求出2个位移分量u和v,除非这3个应变分量满足一定的关系--变形协调条件(compatibilitycondition)2ϵxxy2+2ϵyyx2=2γxyxy
  • 变形协调条件的物理意义是,材料在变形过程中应是整体连续的,不应出现“撕裂”和“重叠”现象

平面问题的物理方程构建

定义x方向为主(拉伸)方向上的伸长:ϵx=σxE

泊松比定义为垂直拉伸方向的缩短与拉伸方向的伸长之比:μ=ϵyϵx

对于平面的微元dxdy_t,法应力和剪应力可分解为拉伸作用和剪切作用

images/《有限元分析与应用》-20240808151814483.webp

images/《有限元分析与应用》-20240808151935197.webp

x方向的主拉伸σxx会产生泊松效应

ϵxx=σxxE,ϵyy=μσxxE

同理,y方向的主拉伸σxx也会产生泊松效应,ϵxx=μσyyE,ϵyy=σyyE

剪切力只产生角度变化,γxy=τxyG

组装成本构物理方程——本构模型,又称材料的力学 本构方程 ,或材料的应力-应变模型,是描述材料的力学特性 (应力-应变-强度-时间关系)的数学表达式

{ϵxx=1E(σxxμσyy)ϵyy=1E(σyyμσxx)γxy=1Gτxy

或者逆形式

{σxx=E1μ2(ϵxx+μϵyy)σyy=E1μ2(ϵyy+μϵxx)τxy=Gγxy

其中G=E2(1+μ)

矩阵形式

[σxxσyyτxy]=[E1μ2Eμ1μ20Eμ1μ2E1μ2000G][ϵxxϵyyγxy]

两类边界条件

BC(boundary condition):外部描述,包括位移方面和力平衡方面的边界条件,即变形体的几何空间Ω其表面Ω被位移边界Su和力边界Sp完全不重叠地包围

  • Ω=Su+Sp
  • SuSp=0

给定u¯i,p¯i

  • ui=u¯i,On Su
  • On Spnx=dy/ds,ny=dx/ds
    • σxxnx+τxyny=p¯x
    • σyyny+τyxnx=p¯y
    • τxy=τyx

images/《有限元分析与应用》-20240808170310019.webp

※ 第4讲 针对复杂几何形状变形体的力学描述(2) ※

三大变量

  • 位移:u(x,y),v(x,y)
  • 应力:σxx(x,y),σyy(x,y),τxy(x,y)
  • 应变:ϵxx(x,y),ϵyy(x,y),γxy(x,y)

三大方程

  1. 平衡方程
  • {σxxx+τxyy+b¯x=0σyyy+τxyx+b¯y=0
  1. 几何方程
  • {ϵxx=uxϵyy=vyγxy=vx+uy
  1. 物理方程
  • {ϵxx=1E(σxxμσyy)ϵyy=1E(σyyμσxx)γxy=1Gτxy

两类边界条件

  • On Su{u=u¯v=v¯
  • On Sp{σxxnx+τxyny=p¯xσyyny+τxynx=p¯y

几种特殊情况的讨论

平面应力:近似认为σzz=0

images/《有限元分析与应用》-20240808172929495.webp

images/《有限元分析与应用》-20240808173029931.webp

平面应变:近似认为ϵzz=0

images/《有限元分析与应用》-20240808173248147.webp

images/《有限元分析与应用》-20240808173358581.webp

平面应力(平衡方程)和平面应变(几何方程)的变量和方程完全相同,二者通过物理方程转换

images/《有限元分析与应用》-20240808173717157.webp

刚体位移:物体内不产生任何应变,对几何方程给定零位移

images/《有限元分析与应用》-20240808174019596.webp

images/《有限元分析与应用》-20240808174057003.webp

故平面刚体位移的表达(u0,v0,ω0均为常数):

{u(x,y)=ω0y+u0v(x,y)=ω0x+v0

  • u0为整个物体在x方向的刚体位移量
  • v0为整个物体在y方向的刚体位移量
  • ω0为整个物体在空间的刚体旋转角度

简单拉杆问题的完整弹性力学求解

images/《有限元分析与应用》-20240808174811062.webp

images/《有限元分析与应用》-20240808174920215.webp

1D弹性杆的方程解

{σx(x)=PAϵx(x)=PEAu(x)=PEAx

images/《有限元分析与应用》-20240808175325449.webp

  • 解析方法的求解过程严谨,可得到物体内各点力学变量的表达,是场变量
  • 经验方法的求解过程较简单,但需要事先进行假定,往往只得到一些特定位置的力学变量表达,而只能应用于一些简单情形

平面纯弯梁的描述及求解

images/《有限元分析与应用》-20240808175530255.webp

假设:

  • 直法线假设
  • 小变形

images/《有限元分析与应用》-20240809114411415.webp

位移:v(x,y~=0) (中性层绕度)
应力: σx(x,y) (其它应力分量很小,不考虑),该变量对应于梁截面上的弯矩M
应变:ϵx(x,y)(满足直线假定)

images/《有限元分析与应用》-20240809114518414.webp

images/《有限元分析与应用》-20240809114640657.webp

images/《有限元分析与应用》-20240809114706531.webp

物理方程:σx=Eϵx

images/《有限元分析与应用》-20240809114848311.webp

images/《有限元分析与应用》-20240809143147229.webp

images/《有限元分析与应用》-20240809143222688.webp

images/《有限元分析与应用》-20240809143241712.webp

※空间弹性问题的完整描述※

对于空间中的微元体dxdydz,维度扩展

基本变量

1D 2D 3D
位移分量 u(x) u(x,y),v(x,y) u(x,y,z),v(x,y,z),w(x,y,z)
应变分量 ϵxx(x) ϵxx(x,y),ϵyy(x,y),γxy(x,y) ϵxx(x,y,z),ϵyy(x,y,z),ϵxy(x,y,z)
γxy(x,y,z),γyz(x,y,z),γxz(x,y,z)
应力分量 σxx(x) σxx(x,y),σyy(x,y),τxy(x,y) σxx(x,y,z),σyy(x,y,z),σxy(x,y,z)
τxy(x,y,z),τyz(x,y,z),τxz(x,y,z)
平衡方程 σxxx=0 {σxxx+τxyy+b¯x=0σyyy+τxyx+b¯y=0 {σxxx+τxyy+τxzz+b¯x=0τxyx+σyyy+τyzz+b¯y=0τxzx+τyzy+σzzz+b¯z=0
几何方程 ϵxx=dudx {ϵxx=uxϵyy=vyγxy=vx+uy {ϵxx=ux,ϵyy=vy,ϵzz=wzγxy=vx+uy,γyz=wy+vz,γxz=wx+uz
物理方程 ϵxx=σxxE {ϵxx=1E(σxxμσyy)ϵyy=1E(σyyμσxx)γxy=1Gτxy {ϵxx=1E(σxxμ(σyy+σzz))ϵyy=1E(σyyμ(σxx+σzz))ϵzz=1E(σzzμ(σxx+σyy))γxy=1Gτxy,γyz=1Gτyz,γxz=1Gτxz
几何边界BC(u) u(x)|x=x0=u¯ u(x,y)|x=x0,y=y0=u¯
v(x,y)|x=x0,y=y0=v¯
u(x,y,z)|x=x0,y=y0,z=z0=u¯
v(x,y,z)|x=x0,y=y0,z=z0=v¯
w(x,y,z)|x=x0,y=y0,z=z0=w¯
外力边界BC(p) σ(x)|x=x0=p¯x σxx(x0,y0)nx+τxyx0,y0)ny=p¯x
σyy(x0,y0)ny+τyx(x0,y0)nx=p¯y
σxx(x0,y0,z0)nx+τxy(x0,y0,z0)ny+τxz(x0,y0,z0)nz=p¯x
τxy(x0,y0,z0)nx+σyy(x0,y0,z0)ny+σxz(x0,y0,z0)nz=p¯y
τxz(x0,y0,z0)nx+τyz(x0,y0,z0)ny+σzz(x0,y0,z0)nz=p¯z

三组剪应变相等:γxy=γyx,γyz=γzy,γzx=γxz
三组剪应力相等:τxy=τyx,τyz=τzy,τzx=τxz
独立变量变为:3(方向位移)+6(法向应变+剪切应变)+6(法向应力+剪切应力)

  • x0,y0,z0为边界上的几何坐标
  • nx,ny,nz为边界外法线的方向余弦
  • u¯,v¯,w¯为给定的对应方向上的位移值
  • p¯x,p¯y,p¯z为给定的对应方向上的边界分布力

逆形式
images/《有限元分析与应用》-20240809152039884.webp

关于张量的描述及理解

  • 0阶张量:无自由指标的量,与坐标系选取无关,如温度、质量、能量等标量
  • 阶张量:有1个自由指标的量,如坐标x,位移u等矢量
  • 2阶张量:有2个自由指标的量,如应力、应变
  • n阶张量:有n个自由指标的量,如四阶弹性系数张量

同一矢量在不同坐标系下的分量形式不同,但模长不变——张量的不变量

应力转换
images/《有限元分析与应用》-20240809153228599.webp

应力莫尔圆中应力最大特征量——第一特征量,最小特征量——第二特征量

  • 第一和第二特征量可以作为材料强度准则

莫尔圆

应力应变莫尔圆(Mohr's Circle)是一种图示工具,用于分析二维应力或应变状态。它可以帮助工程师和材料科学家可视化不同方向上材料内部的应力和应变情况。

莫尔圆的定义

  • 莫尔圆是一个图形,用于表示在任意方向上的应力和应变状态。通过在圆内描绘不同方向下的法向应力和切向应力,可以直观地展示材料内部的应力状态。
  1. 确定基本应力

    • 标识出直应力(σxσy)和剪应力(τxy)的值。
  2. 画坐标系

    • 选择一个二维坐标系,横轴表示法向应力(σ),纵轴表示剪应力(τ)
  3. 标记点

    • 在坐标系中标记出应力状态下的两个点:
      • 点A:(σx,τxy)
      • 点B:(σy,τxy)
  4. 连接点并绘制圆

    • 连接这两个点,然后找到圆心(σx+σy2,0),并根据两个点的距离绘制完整的圆
    • σ2(σx+σy)σ+σxσy+τ2τxy2=0
  5. 计算主应力

    • 圆的交点表示材料的主应力状态,主应力(σ1σ2)位于圆的极点上
    • 主应力(σ1σ2)在横轴表示法向应力(σ),此时剪应力为0

理解莫尔圆

  • 几何意义:莫尔圆的几何特征直观地表明了法向应力和切向应力之间的关系。圆上的每一点对应一个特定的方向上的应力状态

  • 主应力:通过求出圆的交点,可以获得主应力,这些应力是材料内部的“最大”与“最小”应力状态,确保在设计和分析中考虑材料的弱点

  • 切向应力变化:圆的大小和位置说明了在不同方向上剪切和法向应力的变化。有助于理解材料在不同加载条件下的表现,包括屈服和破坏

第5讲 变形体力学方程求解的试函数方法的原理

变形体力学方程求解的主要方法分类及试函数方法

1、直接针对原始方程进行求解,方法有

  • 解析法(analytical method)
  • 半解析法(semi-inverse method)
  • 差分法(finite difference method)

2、间接针对原始方程进行求解(误差处理),方法有

  • 加权残值法(weighted residual method)
    • Galerkin加权残值法
    • 残值最小二乘法(least sguares method) images/《有限元分析与应用》-20240809174448188.webp
  • 虚功原理(principle of virtual work)
  • 最小势能原理(principle of minimum potential energy)
  • 变分方法(variational method)

Galerkin加权残值法
images/《有限元分析与应用》-20240809174536430.webp

残值最小二乘法
images/《有限元分析与应用》-20240809174658173.webp

平面弯曲梁求解的试函数方法-残值处理法

images/《有限元分析与应用》-20240809174803182.webp

控制方程:EId4vdx4=p¯0
位移边界条件:v(x)|x=0=0v(x)|x=l=0
载荷边界条件:v(x)|x=0=0v(x)|x=l=0

  1. 单系数试函数

v^1(x)=c1ϕ(x)=c1sinπxl

代入控制方程得到余量函数,=EId4(v^1(x))dx4p¯00

选择基底函数作为权函数w=sinπxl

残差方程,0lwdx=0l(sinπxl)[EId4(v^1(x))dx4p¯0]dx=0

求解得到c1=4l4π5EIp¯0,故试函数v^1(x)=4l4π5EIp¯0sinπxl

  1. 多系数试函数

v^2(x)=c1ϕ1(x)+c2ϕ2(x)=c1sinπxl+c2sin3πxl

代入控制方程得到余量函数,=EId4(v^2(x))dx4p¯00

选择基底函数作为权函数w1=ϕ1=sinπxlw2=ϕ2=sin3πxl

残差方程

0lw1dx=0l(sinπxl)[EId4(v^2(x))dx4p¯0]dx=0
0lw2dx=0l(sin3πxl)[EId4(v^2(x))dx4p¯0]dx=0

求解得到c1=4l4π5EIp¯0,c2=4l4243π5EIp¯0,故试函数v^2(x)=4l4π5EIp¯0sinπxl+4l4243π5EIp¯0sin3πxl

  1. 残值最小二乘法

选取试函数v^2(x)=c1ϕ1(x)+c2ϕ2(x)=c1sinπxl+c2sin3πxl

代入控制方程得到余量函数,=EId4(v^2(x))dx4p¯00

取权函数wt=1,定义残差平方的积分为一个误差指标

Err=Ω2(c1,c2,,cn,ϕ1,ϕ2,,ϕn)dΩ

此时需要确定待定系数ci,使得定义的误差指标达到最小值

由最小而二乘法,有

{Err(c1,c2)c1=0Err(c1,c2)c2=0

关于ci的线性方程组,解得c1=4l4π5EIp¯0,c2=4l4243π5EIp¯0,与Galerkin法的结果相同,其原因是基底函数选取是一样的

如何降低对试函数的高阶导数要求

控制方程中存在高阶导数时,使用试函数法必须保证其高阶导数也存在,虽然正弦函数可以很好地满足,其他函数选区的话比较困难

平面弹性方程,基于位移求解的控制方程及其边界条件

控制方程
images/《有限元分析与应用》-20240812104029565.webp

边界条件
images/《有限元分析与应用》-20240812104127185.webp

假设试函数
images/《有限元分析与应用》-20240812104214712.webp
其中,cuicvi是待定系数,ϕui(x,y)ϕvi(x,y)为满足在所有边界条件的基底函数

将试函数代入控制方程,使其残值在加权积分下为0,即得到Garlerkin方程
images/《有限元分析与应用》-20240812104429614.webp
得到关于cuicvi的线性方程组,问题得解

由此可知,对试函数有

  • 满足所有边界条件
  • 试函数二阶导数必须存在(弯曲梁,导数4阶;一般问题,为2阶)
  • 全场几何域的积分计算
  • 流程十分规范
  • 如何降低试函数对高阶导数的要求?

能量原理:虚功原理,最小势能原理

  • 只满足位移边界条件
  • 降低对试函数的导数阶次要求
  • 数学原理:分部积分和变分方法

平面弯曲梁求解的虚功原理

虚位移:任意扰动的位移应满足的条件(如几何方程),称为许可位移条件,把满足许可位移条件的、任意的微小位移称为虚位移(假想的)
(virtual displacement)

虚功:某点的虚位移与其负载力的乘积为虚功(virtual work)

  • 平衡状态下的体系,当作用有满足许可位移条件的虚位移时,系统上的所有的虚功总和恒为零
  • 系统的力分为外力和内力(应力),引起外力虚功δW和内力虚功δU,内力虚功又称为虚位移能
  • 虚应变能(virtual strain energy),由于弹性体在变形过程中,内力是克服变形所产生的,其方向总是与变形的方向相反,所以内力虚功取负,故δW=δU;这里的虚位移进满足位移边界条件的许可位移

平面弯曲梁求解的能量原理(降低试函数的导数阶次要求)

控制方程:EId4vdx4=p¯0
位移边界条件:v(x)|x=0=0v(x)|x=l=0
载荷边界条件:v(x)|x=0=0v(x)|x=l=0

  1. 虚功原理求解

选取试函数v^(x)=c1sinπxl ,显然满足位移边界条件

对待定系数c1进行微笑变化,则虚位移场:δv^(x)=δc1sinπxl

虚应变能:δU=ΩσxδϵxdΩ=01AEϵxδϵxdAdx

梁弯曲的几何方程有:ϵx(x)=y^d2v(x)dx2;故,
δU=01E(Ay^2dA)(d2v(x)dx2)(d2δv(x)dx2)dx=EIl2(πl)4c1δc1
其中截面惯性矩I=Ay^2dA

简支梁的外力虚功为:δW=01p¯0δv^dx=p¯0c^101δsinπxldx=2lp¯0πδc1

虚功原理,有δW=δU2lp¯0πδc1=EIl2(πl)4c1δc1
化简,(2lp¯0πEIl2(πl)4c1)δc1=0

因为δc1=0具有任意性,c1=4l4π5EIp¯0,故试函数v^(x)=4l4π5EIp¯0sinπxl

  • 该结果与前面Galerkin方法得到的结果相同,这是因为两种方法取了相同的试函数。
  • 从以上的求解过程可以看出,虚功原理与加残值法类似,只能在试函数的范围内寻找最好的解,但该结果不一定是精确的
  • 这取决于事先所假定的位移模式(试函数),如果事先所假定的位移模式包含有精确解的情况,那么由虚功原理求解出的解一定是精确的
  1. 最小势能原理求解

选取试函数v^(x)=c1sinπxl+c2sin3πxl ,显然满足位移边界条件

定义势能=应变能-外力功:minv^(x)BC(u)[(v^(x))=UW]
即:U=12ΩσxϵxdΩW=0lp¯0v^(x)dx

真实的位移场总是使得物体的总势能取最小值

应变能U=12ΩσxϵxdΩ=120lσx(d2v^dx2)2dx=EI2[c12(πl)4l2+c22(3πl)4l2]

外力功W=0lp¯0v^(x)dx=0lp¯0(c1sinπxl+c2sin3πxl)dx=p¯0[c12lπ+c22l3π]
总势能(v^(x))=UW,为取得极小值

ci=0,即c1=c2=0

解得c1=4l4π5EIp¯0,c2=4l4243π5EIp¯0,与Galerkin法、最小二乘法以及虚功原理的结果相同,其原因是基底函数选取是一样的

最小势能原理方法也叫Rayleigh-Ritz方法(瑞利-里茨法)

平面弯曲梁求解的最小势能原理的变分基础

images/《有限元分析与应用》-20240812140849994.webp

证明,势能最小是否等价于控制方程和载荷边界条件

可使得势能泛函取最小值的位移边界条件的一个函数

images/《有限元分析与应用》-20240812141322313.webp

images/《有限元分析与应用》-20240812141338276.webp

images/《有限元分析与应用》-20240812141428938.webp

images/《有限元分析与应用》-20240812141453718.webp

一般弹性问题的能量原理

  • 虚功原理:内外力虚功相等
  • 最小势能原理
  1. 虚功原理

设选取了满足位移边界条件BC(u)许可位移场ui
则虚位移δui
有几何方程知,虚应变δϵij=12(δui,j+δuj,i)
虚应变能为,U=12ΩσijϵijdΩδU=Ωσi,jδϵi,jdΩ
外力虚功为,W=Ωb¯iuidΩ+Spp¯iuidAδW=Ωb¯iδuidΩ+Spp¯iδuidA,其中b¯ip¯i为体积力和面分布力
应用虚功原理δW=δUΩσxδϵxdΩ=Ωb¯iδuidΩ+Spp¯iδuidA

  1. 最小势能原理

势能(u^(x))=UW=12ΩσijϵijdΩ[Ωb¯iuidΩ+Spp¯iuidA]

应变能中的应变和应力各有6个变量,角标相同组合成6个应变能,有两个部分

  • 正应力-正应变的变形能微元ΔU(σ,ϵ)=12σiiϵiidΩ
  • 剪应力-剪应变的变形能ΔU(τ,γ)=12τxyγxydΩ
  • 出现1/2是因为假设应变微元从0线性增加到dϵ

images/《有限元分析与应用》-20240812152603115.webp

images/《有限元分析与应用》-20240812152657372.webp

images/《有限元分析与应用》-20240812152747499.webp

images/《有限元分析与应用》-20240812152810921.webp

images/《有限元分析与应用》-20240812152830952.webp

images/《有限元分析与应用》-20240812152909322.webp

images/《有限元分析与应用》-20240812153028179.webp

两种能量法是完全等价的
images/《有限元分析与应用》-20240812153128290.webp

第6讲 基于试函数方法的经典实现及有限元实现

images/《有限元分析与应用》-20240812153322636.webp

基于试函数的经典方法与有限元方法

经典方法:选取全域试函数
有限元方法:子域线性试函数
二者最大的不同就是是否需要离散化

images/《有限元分析与应用》-20240812153518116.webp

images/《有限元分析与应用》-20240812153625099.webp

images/《有限元分析与应用》-20240812153713809.webp

有限元思路

  • 几何离散化
  • 单元研究,单元上选取试函数并建立力学方程
  • 集成还原,刚度矩阵组装

有限元方法中的自然离散与逼近离散

自然离散

  • 基于结构中的自然连接关系划分节点,并形成离散单元
  • 计算精度高,甚至可以获得精确解
  • 例如杆、铰链的受力问题

逼近离散

  • 对于连续体结构,需要人工划分节点,以分片(单元)连续的形式来进行逼近
  • 例如骨头受力
  • 影响计算精度与误差的因素
    1.节点的位置和数量
    2.计算规模与计算量
    3.选择单元的类型
    4.对几何模型的逼近程度

有限元方法中的基本步骤

  • 几何域的离散化
  • 单元研究
  • 单元的集成(组装)
  • 位移边界条件的处理(已知和未知)
    images/《有限元分析与应用》-20240812163524253.webp images/《有限元分析与应用》-20240812163555665.webp
  • 支反力的计算 images/《有限元分析与应用》-20240812163612039.webp
  • 单元其它物理量的计算:应力和应变

单元研究

节点描述Ω=Ωe

  • 参数化几何坐标(标准化,规范化)
  • 节点上的位移分量
  • 节点上的力分量

单元上的描述:节点描述和三大类变量的场描述

  • 位移场函数
  • 应变场函数
  • 应力场函数

能量原理

  • 最小势能原理:单元上的应变能,外力功
  • 虚功原理:单元上的虚应变能,虚外力功

获得单元方程

  • 对原平衡方程的加权逼近
  • 对力边界条件的加权逼近

试函数经典方法及有限元方法的比较

images/《有限元分析与应用》-20240812163753983.webp

images/《有限元分析与应用》-20240812163817952.webp

有限元计算

  • 软件平台:标准化处理,前后处理的可视化
  • 硬件平台:大规模计算,非线性方程的求解

第7讲 杆、梁结构的有限元分析

局部坐标系中的杆单元构建及MATLAB编程

images/《有限元分析与应用》-20240812164247340.webp

  1. 节点基本变量及描述

上角标e表示element

杆单元具有2个节点Node,其坐标x1=0x2=le
节点位移(向量)矩阵,qe=[u1u2]T
节点力(向量)矩阵,pe=[P1P2]T

  1. 单元上的场描述

位移场函数取多项式:u(x)=a0+a1x+a2x2+

  • 唯一性原则
  • 从低阶到高阶原则

杆单元含有2个节点,位移模式取u(x)=a0+a1x
单元节点的BC:u(x)|x=0=u1,u(x)|x=le=u2
解得,a0=u1,a1=u2u1le
故,位移场函数,u(x)=u1+u2u1lex=(1xle)u1+xleu2=N(x)qe
其中N(x)=[1xlexle]为形状函数矩阵
节点位移qe=[u1u2]T

应变场函数ϵ=du(x)dx=1leu1+1leu2=B(x)qe
其中B(x)=ddxN(x)=[1le1le]为几何矩阵

应力场函数σ=Eeϵ(x)=EeB(x)qe=S(x)qe
其中S(x)=EeB(x)=[EeleEele]为应力矩阵

  1. 最小势能原理

单元的虚应变能为,U=12ΩσijϵijdΩ=120le[S(x)qe]T(B(x)qe)(Aedx)
=12EeAe[B(x)qe]T(B(x)qe)(0ledx)
=12EeAeleqeTB(x)TB(x)qe
=12EeAeleqeT[1111]qe

记单元刚度矩阵为Ke=EeAele[1111]
U=12qeTKeqe

外力虚功为,W=LpP¯idu=P1u1+P2u2=PeTqe,其中和P¯i为外力

总势能(qe)=UW=12qeTKeqePeTqe
泛函取极值,对qe取导数,(qe)qe=0
根据矩阵导数(Axb)=AT(Axb)T(Axb)=2AT(Axb)可知,(12qeTKeqePeTqe)=122ETKe(Eqe)(PeT)T=KeqePe=0
这就是杆单元的刚度方程

  1. 虚功原理

节点位移qe=[u1u2]T
节点虚位移δqe=[δu1δu2]T
单元的虚应变能为,δU=ΩσxδϵxdΩ=ΩS(x)qeB(x)δqedΩ
=0le[S(x)qe]T(B(x)δqe)(Aedx)
=qeTKeδqe

外力虚功为,δW=P¯iδui=P1δu1+P2δu2=PeTδqe,其中和P¯i为外力

虚功原理,δU=δW
所以,qeTKeδqe=PeTδqe
即,(qeTKePeT)δqe=0
虚位移δqe具有任意性,故qeTKePeT=0,转置后就是单元的刚度矩阵,与最小势能原理是一致的

  1. 1D杆转换为平面或者空间杆,即杆单元的坐标变换

局部坐标系中的节点位移qe=[u1u2]T
2D全局坐标系中的节点位移q¯e=[u¯1v¯1u¯2v¯2]T
其中,u1=u¯1cosα+v¯1sinαu2=u¯2cosα+v¯2sinα
转换成矩阵形式,qe=Teq¯e
其中2D的旋转矩阵Te=[cosαsinα0000cosαsinα]
整体坐标系下的总势能(qe)=UeWe=12qeTKeqePeTqe=12q¯eT(TeTKeTe)qe(TeTPe)Tq¯e
=12q¯eTKe¯q¯eP¯eTq¯e

其中整体刚度矩阵K¯eT=TeTKeTe,整体节点力矩阵P¯e=TeTPe

同理,3D的旋转矩阵Te=[cos(x,x¯)cos(x,y¯)cos(x,z¯)000000cos(x,x¯)cos(x,y¯)cos(x,z¯)]
cos(x,x¯)表示局部坐标系x轴与全局空间坐标系x¯之间的方向余弦

1D杆单元分析的matlab程序

设计四个函数

  • 刚度矩阵Stiffness(E,A,L):输入弹性模量E,截面积A,长度L;输出单元刚度矩阵k
  • 单元组装Assembly(KK,k,i,j):输入单元刚度矩阵k,单元节点编号i、j;输出整体刚度矩阵KK
  • 单元应力Stress(k,u,A):输入单元矩阵k,单元位移矩阵u,截面积A;输出单元应力stress
  • 单元节点力Force(k,u):输入刚度矩阵k,单元位移矩阵u;输出节点力forces

2节点

  1. 单元刚度矩阵函数
function k= Bar1D2Node_Stiffness(E,A,L)

k=[E*A/L -E*A/L;-E*A/L E*A/L];
  1. 单元组装函数
function z= Bar1D2Node_Assembly(KK,k,i,j)

DOF(1)=i;
DOF(2)=j:
for nl=1:2
	for n2=1:2
		KK(DOF(n1),DOF(n2))=KK(DOF(n1),DOF(n2))+k(n1,n2);
	end
end

z=KK;
  1. 单元应力函数
function stress= Bar1D2Node_Stress(k,u,A)

stress=k*E/A;
  1. 单元节点力函数
function forces= Bar1D2Node_Force(k,u)

forces=k*u;

2D杆单元分析的matlab程序

设计四个函数

  • 刚度矩阵Stiffness(E,A,x1,y1,x2,y2,alpha):输入弹性模量E,截面积A,第一个节点坐标(x1,y1),第二个节点坐标(x2,y2)和角度alpha(单位度),;输出单元刚度矩阵k
  • 单元组装Assembly(KK,k,i,j):输入单元刚度矩阵k,单元节点编号i、j;输出整体刚度矩阵KK
  • 单元应力Stress(E,x1,y1,x2,y2,alpha,u):输入弹性模量E,第一个节点坐标(x1,y1),第二个节点坐标(x2,y2),角度alpha(单位度),单元节点位移矩阵u;输出单元应力stress
  • 单元节点力Force(E,A,x1,y1,x2,y2,alpha,u):输入弹性模量E,截面积A,第一个节点坐标(x1,y1),第二个节点坐标(x2,y2),角度alpha(单位度)和单元位移矩阵u;输出节点力forces

2个节点

  1. 单元刚度矩阵函数
function k= Bar2D2Node_Stiffness(E,A,x1,y1,x2,y2,alpha)

L=sqrt((x2-x1)*(x2-x1)+(y2-y1)(y2-y1))
x=alpha*pi/180
C=cos(x)
S=sin(x)
%单元刚度矩阵4*4
k=E*A/L[ C*C C*S -C*C -C*S;C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
  1. 单元组装函数
function z= Bar1D2Node_Assembly(KK,k,i,j)

DOF(1)=2*i-1;
DOF(2)=2*i;
DOF(1)=2*j-1;
DOF(2)=2*j;
for nl=1:4
	for n2=1:4
		KK(DOF(n1),DOF(n2))=KK(DOF(n1),DOF(n2))+k(n1,n2);
	end
end

z=KK;
  1. 单元应力函数
function stress= Bar2D2Node_Stress(E,x1,y1,x2,y2,alpha,u)

L=sqrt((x2-x1)*(x2-x1)+(y2-y1)(y2-y1))
x=alpha*pi/180
C=cos(x)
S=sin(x)
stress=E/L*[-C -S C S]*u;
  1. 单元节点力函数
function forces= Bar1D2Node_Force(k,u)

L=sqrt((x2-x1)*(x2-x1)+(y2-y1)(y2-y1))
x=alpha*pi/180
C=cos(x)
S=sin(x)
forces=E/L*[-C -S C S]*u*A;

四杆桁架的有限元分析的matlab编程

images/《有限元分析与应用》-20240813170507682.webp

  1. 结构的离散化与编号,见2.4章节

    1. E=2.95e11;A=0.0001;
    2. x1=0;y1=0;x2=0.4;y2=0;x3=0.4;y3=0.3;x4=0;y4=0.3;
    3. alphal=0;alpha2=90;alpha3=atan(0.75)*180/pi;
  2. 计算各个单元的刚度矩阵

    • 分别针对4个杆单元,调用4次function k= Bar2D2Node_Stiffness(E,A,x1,y1,x2,y2,alpha),得到各个单元的刚度矩阵
  3. 建立整体刚度矩阵方程

    • 该结构共有4个节点,设置整体的刚度矩阵为KK(8*8)
    • 先对KK清零,4次调用Bar1D2Node_Assembly(KK,k,i,j)
      images/《有限元分析与应用》-20240813172006203.webp
  4. 边界条件的处理及刚度方程求解

    1. BC(u):u1=0,v1=0,v2=0,u4=0,v4=0
    2. 总节点位移:q=[u1v1u2v2u3v3u4v4]T
    3. 总节点力,R为支反力(‌支反力是指在物体受到外力作用时,在约束中产生的并作用在被约束物体上的力):
      P=R+F=[Rx1Ry12×104Ry202.5×104Rx4Ry4]T
  5. 支反力的计算

  6. 各个单元的应力计算

局部坐标系中的平面纯弯梁单元构建及MATLAB编程

平面纯弯梁的单元为2节点,每个节点具有2个自由度(位移和转角)

  1. 节点描述

    • Node1:x1=0,Node2:x2=l
    • 节点位移矩阵:qe=[v1θ1v2θ2]T
    • 节点力移矩阵:Pe=[Pv1M1Pv2M2]T
    • 刚度矩阵:Keqe=Pe
  2. 单元上的场描述——三大类变量

    • 位移场函数(挠度)- 使用多项式拟合:v(x)=a0+a1x+a2x2+a3x3
      节点条件:v|x=0=v1,v|x=0=θ1,v|x=l=v2,v|x=0=θ2
      解得,a0=v1,a1=θ1a2=1l2(3v12θ1l+3v2θ2l)a3=1l3(2v1+θ1l2v2+θ2l)

    • ξ1=x/l,则v(x)=(13ξ2+2ξ3)v1+l(ξ2ξ2+ξ3)θ1+(3ξ22ξ3)v2+l(ξ3ξ2)θ2)

    • 最后的位移场函数:v(x)=N(ξ)qe

    • 形状函数矩阵:N(ξ)=[(13ξ2+2ξ3)l(ξ2ξ2+ξ3)(3ξ22ξ3)l(ξ3ξ2)]T

    • 应变场函数:对挠度v(x)进行二阶求导:
      ϵ(x,y^)=y^d2v(x)dx2=B(ξ)qey^为相对于中心层为起点的y方向上的坐标

    • 几何矩阵:B(ξ)=y^[B1B2B3B4]T,其中B1=1l2(12ξ6),B2=1l(6ξ4),B3=1l2(12ξ6),B4=1l(6ξ2)

    • 应力场方程:σ(x,y^)=Eϵ(x,y^)=S(ξ)qe,其中S(ξ)=EeB(ξ)

  3. 最小势能原理

    • 单元应变能:Ue=12qeTKeqe

    • 其中Ke=0lABTEBdAdxB(ξ)=y^[B1B2B3B4]T

    • 单元的外力功:We=Pv1v1+M1θ1+Pv2v2+M2θ2=PeTqe

    • 应用最小势能原理
      images/《有限元分析与应用》-20240828143824332.webp

      images/《有限元分析与应用》-20240828143902805.webp

梁单元分析的matlab程序实现

5个函数

  • 刚度矩阵Beam1D2Node_Stiffness(E,I,L):该函数计算单元的刚度矩阵,输入弹性模量E,横截面的惯性矩I,梁单元的长度L,输出单元刚度矩阵k(4×4)
  • 单元组装Beam1D2Node_Assembly(KK,k,i,j):该函数进行单元刚度矩阵的组装,输入单元刚度矩阵k,单元的节点编号i、i,输出整体刚度矩阵KK
  • 单元应变Beam1D2Node_Strain(x,L,y):该函数计算单元的几何矩阵,输入所测点距梁单元左节点的水平距离×,输入所测点以中性层为起点的y 方向的坐标,梁单元的长度L,输出单元几何形状函数矩阵B(1×4)
  • 单元应力Beam1D2Node_Stress(E,B,u):该函数计算单元内某点的应力,输入弹性模量E,几何矩阵B,节点位移列阵u,输出单元的应力stress
  • 挠度BeamiD2NodeDeflection(x,Lu):该函数计算单元内某点的挠度,输入所测点距梁单元左节点的水平距离x,梁单元的长度L,节点位移列阵u,输出该点的挠度v
function k=Beam1D2NodeStiffness(E,IL)
%该函数计算单元的刚度矩阵
%输入弹性模量E,横截面的惯性矩,梁单元的长度!
%输出单元刚度矩阵k(4×4)%

k = E*I/(L*L*L)*[12 6*L -12 6*L; 6*L 4*L*L -6*L 2*L*L;-12 -6*L 12 -6*L; 6*L 2*L*L -6*L 4*L*L];

function z=Beam1D2Node_Assembly(KK,ki,j)
%该函数进行单元刚度矩阵的组装
%输入单元刚度矩阵k,单元的节点编号i、j
%输出整体刚度矩阵KK
%----------------------------------------

DOF(1)=2*i-1; 
DOF(2)=2*i; 
DOF(3)=2*j-1; 
DOF(4)=2*j; 
for n1=1:4 
	for n2=1:4
		KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2)
	end 
end 
z=KK;
function B=Beam1D2Node_Strain(x,L,y)
%该函数计算单元的几何矩阵
%输入所测点距梁单元左节点的水平距离×
%输入所测点以中性层为起点的y方向的坐标,梁单元的长度L
%输出单元几何形状函数矩阵B(1×4)%

e=x/L;
B1=(12*e-6)/(L*L); 
B2=(6*e-4)/L;
B3=-(12*e-6)/(L*L); 
B4=(6*e-2)/L;
B=-y*[B1,B2,B3,B4];
function stress=Beam1D2NodeStress(E,B,u)
%该函数计算单元内某点的应力
%输入弹性模量E,几何矩阵B,节点位移列阵u
%输出单元的应力stress

stress = E*B*u,
function v=Beam1D2Node_Deflection(x,L,u)
%该函数计算单元内某点的挠度
%输入所测点距梁单元左节点的水平距离x%输入梁单元的长度L,节点位移列阵u
%输出该点的挠度V

e=x/L;
Nl=1-3*e*e+2*e*e*e; 
N2=L(e-2*e*e+e*e*e); 
N3=3*e*e-2*e*e*e;
N4=L(e*e*e-e*e); 
N=[N1,N2,N3,N4]; 
v=N*u;

局部坐标系中的一般梁单元构建(组装)

  1. 一般平面梁单元=平面纯弯梁单元+平面杆单元

images/《有限元分析与应用》-20240828151533728.webp

2个节点单元

  • 节点位移矩阵:qe=[u1v1θ1u2v2θ2]T
  • 节点力移矩阵:Pe=[Pu1Pv1M1Pu2Pv2M2]T
  • 刚度矩阵:Keqe=Pe

images/《有限元分析与应用》-20240828152358788.webp

  1. 一般空间梁单元

images/《有限元分析与应用》-20240828152543357.webp

2个节点单元

  • 节点位移矩阵:qe=[u1v1w1θx1θy1θz1u2v2w2θx2θy2θz2]T
  • 节点力移矩阵:Pe=[Pu1Pv1Pw1Mx1My1Mz1Pu2Pv2Pw2Mx2My2Mz2]T
  • 刚度矩阵:Keqe=Pe
  • 其中θx,θy,θz表示沿着全局坐标系相应轴旋转的角度

images/《有限元分析与应用》-20240828153736577.webp

images/《有限元分析与应用》-20240828153922278.webp

对应节点位移上的组装,得到12*12的刚度矩阵Ke

images/《有限元分析与应用》-20240828154006844.webp

梁单元的坐标变化

  1. 平面梁单元的坐标变换

images/《有限元分析与应用》-20240828155245096.webp

  • 局部坐标系(ox)中的节点位移矩阵:qe=[u1v1θ1u2v2θ2]T
  • 全局坐标系(x¯oy¯ )中的节点力移矩阵:q¯e=[u¯1v¯1θ1u¯2v¯2θ2]T
  • 坐标转换方程:qe=Teq¯e
  • 局部坐标系刚度矩阵:Keqe=Pe
  • 全局坐标系刚度矩阵:K¯eq¯e=P¯e
  • 其中K¯e=TeTKeTeP¯e=TeTPeTe如下图

images/《有限元分析与应用》-20240828155258500.webp

images/《有限元分析与应用》-20240828155321284.webp

  1. 空间梁单元的坐标变换
  • 局部坐标系(xoy)中的节点位移矩阵:
    qe=[u1v1w1θx1θy1θz1u2v2w2θx2θy2θz2]T

  • 全局坐标系(x¯oy¯ )中的节点力移矩阵:
    q¯e=[u¯1v¯1w¯1θ¯x1θ¯y1θ¯z1u¯2v¯2w¯2θ¯x2θ¯y2θ¯z2]T

  • 坐标系间的节点位移转换方程:qe=Teq¯e

  • 局部坐标系刚度矩阵:Keqe=Pe

  • 全局坐标系刚度矩阵:K¯eq¯e=P¯e

  • 其中K¯e=TeTKeTeP¯e=TeTPeTe如下图

    images/《有限元分析与应用》-20240828160144466.webp

    images/《有限元分析与应用》-20240828160230201.webp

    images/《有限元分析与应用》-20240828160435641.webp

分布力的处理

  • 集中力:作用在节点上的力,或者一个小面积上的力,该面积远小于任何方向上的尺寸,也可视为集中力
    • 支点力
    • 弯矩
  • 分布力:当力的作用范围(面积)较大而不能忽略的作用力;有均布力和非均布力
    • 线分布力(N/m):楼板对梁的作用;符号q
    • 面分布力(N/m2):风荷载对建筑物墙体的作用;符号p
    • 体分布力(N/m3):物体的自重;符号v

images/《有限元分析与应用》-20240828162545236.webp

使用外力功原理等效(不能使用静力学平衡等效),将单元上的分布力等效到结点的集中力

images/《有限元分析与应用》-20240828163125628.webp

images/《有限元分析与应用》-20240828163156373.webp

images/《有限元分析与应用》-20240828163213202.webp

images/《有限元分析与应用》-20240828163249629.webp

门型框架结构的实例分析及MATLAB编程

images/《有限元分析与应用》-20240828163336486.webp

结构的参数:

  • 弹性模量E=3.0×1011Pa
  • 惯性矩I=6.5×107m4
  • 杆截面积A=6.8×104m2
  • H=0.96m
  1. 结构离散化与编号
单元编号 节点 节点
1 1 2
2 3 1
3 4 2

按节点编号顺序

  • 节点位移矩阵:
    q=[u1v1θ1u2v2θ2u3v3θ3u4v4θ4]T
  • 节点外载矩阵:
    F=[Fx1Fy1Mθ10Fy2Mθ2000000]T
  • 支反力矩阵:
    R=[000000Rx3Ry3Rθ3Rx4Ry4Rθ4]T
  • 故总的节点载荷矩阵:
    P=F+R=
    [3000300072003000720Rx3Ry3Rθ3Rx4Ry4Rθ4]T
  1. 各个单元的描述

单元1的局部坐标与整体坐标一致,故其刚度矩阵为:
images/《有限元分析与应用》-20240828165525492.webp

单元2和单元3的情况相同,仅需要将节点编号进行映射即可
images/《有限元分析与应用》-20240828165850817.webp

局部坐标系下的单元刚度矩阵为:
images/《有限元分析与应用》-20240828165713013.webp

坐标转换矩阵为:
images/《有限元分析与应用》-20240828165738341.webp

images/《有限元分析与应用》-20240828165804599.webp

  1. 组装整体刚度矩阵

K=K(1)+K(2)+K(3)

q=q(e)P=P(e)

刚度方程Kq=P

  1. 边界条件

节点3、4固定:u3=v3=θ3=u4=v4=θ4=0

处理边界条件后的刚度方程,只需要处理节点1和节点2
images/《有限元分析与应用》-20240828170754408.webp

  1. matlab编程
  • 结构离散化与编号
  • 各个单元的描述
    • 首先在MATLAB环境下,输入弹性模量E、横截面积A、惯性矩、长度L,由于单元2和单元3的刚度矩阵相同,针对单元1、单元2和单元3,分别二次调用函数 Beam2D2Node_Stiffness,就可以得到单元的刚度矩阵k1(6×6)和k2(6x6)。
>> E=3E11; 
>> I=6.5E-7; 
>> A=6.8E-4; 
>> L1=1.44; 
>> L2=0.96;
>> k1=Beam2D2Node_Stiffness(E,I,A,L1);
>> k2=Beam2D2Node_Stiffness(E,I,A,L2);
  • 建立整体刚度矩阵:结构总的刚度矩阵KK为1212,对KK置零,然后3次调用函数Beam2D2Node_Assemble进行刚度矩阵的组装
>> T=[0,1,0,0,0,0;-1,0,0,0,0,0;0,0,1,0,0,0;0,0,0,0,1,0;0,0,0,-1,0,0;0,0,0,0,0,1];
>> k3=T'*k2*T;
>> KK=zeros(12,12);
>> KK=Beam2D2Node_Assemble(KK,k1,1,2);
>> KK=Beam2D2Node_Assemble(KK,k3,3,1); 
>> KK=Beam2D2NodeAssemble(KK.k3.4.2);
  • 边界条件

节点3、4固定:u3=v3=θ3=u4=v4=θ4=0

>> k=KK(1:6,1:6);
>> p=[3000;-3000;-720;0;-3000;720];
>> u=k\p

先将上面得到的位移结果与位移边界条件的节点位移进行组合(注意位置关系),可以得到整体
的位移列阵U(12×1),再代回原整体刚度方程,计算出所有的节点力P(12×1)

>> U=[u;0;0;0;0;0;0]
U=0.0009 -0.0000 -0.0014 0.009 0 -0.000 -0.000
	0  0  0  0  0  0
>>P=KK*U
P=1.0e+003*
3.0000 -3.0000 -0.7200 0.0000 -3.0000 0.7200
-0.6658 2.2012 0.6014 -2.3342 3.7988 1.1283

门型框架结构的ANSYS实例分析

APDL,略

第8讲 连续体结构的有限元分析(1)

平面3节点三角形单元及MATLAB编程

平面三节点三角形单元,每个节点具有2个自由度,整体坐标系建模

images/《有限元分析与应用》-20240828175719455.webp

  1. 节点描述
  • 节点坐标:(xi,yi),i=1,2,3
  • 节点位移矩阵:qe=[u1v1u2v2u3v3]T
  • 节点力矩阵: Pe=[Px1Py1Px2Py2Px3Py3]T
  1. 单元上的场描述
  • 位移场函数:所有节点间使用相同函数插值,低阶到高阶,唯一确定
    ui(x,y)=a¯0+a¯1xi+a¯2yi
    vi(x,y)=b¯0+b¯1xi+b¯2yi
    (ui,vi)可以确定系数(a¯i,b¯i)的值,其中i=1,2,3
    u(x,y)=a¯0+a¯1x+a¯2y=N1(x,y)u1+N2(x,y)u2+N3(x,y)u3
    v(x,y)=b¯0+b¯1x+b¯2y=N1(x,y)v1+N3(x,y)v2+N3(x,y)v3
    Ni(x,y)=12A(ai+bix+ciy)
    例如a1=x2y3x3y2,b1=y2y3,c1=x2+x3,i=1,2,3

    位移场矩阵形式u(x,y)=N(x,y)qe
    其中N(x,y)=[N10N20N300N10N20N3]

  1. 应变场函数

ϵ(x,y)=[]3×2u(x,y)=[]3×2N(x,y)qe=B3×6(x,y)qe
其中,[]=[x00yyx]B3×6(x,y)=[]3×2N(x,y)称为几何矩阵
B3×6(x,y)=[(B1)3×2(B2)3×2(B3)3×2]
那么,(Bi)3×2=12A[bi00cicibi],i=1,2,3

  • 应力场函数
    σ(x,y,z)(3×1)=E1μ2[1μ0μ10001μ2][ϵxxϵyyγxy]=D(3×3)ϵ=D(Bqe)
    其中,D称为弹性系数矩阵
    S=DB,并称S为应力函数矩阵
  1. 最小势能原理
    e=UW=12ΩeσijϵijdΩ[Ωeb¯iuidΩ+Spep¯iuidA]
    =12qeT(ΩeBTDBdΩ)qe(ΩeNTb¯dΩ+SpeNTp¯dA)Tqe
    =12qeTKeqePeTqe
    其中,K(6×6)e=ΩeBTD(3×3)BdΩ=ΩeBTDBdAt,每个元素为
    images/《有限元分析与应用》-20240829113224433.webp
    PeT=ΩeNTb¯dΩ+SpeNTp¯dA

应用最小势能原理,(qe)qe=0
则获得刚度方程,Keqe=Pe

  • 平面三节点三角形单元性质
    • 单元内的应力和应变均为常数,又称为常应变三角形单元CST(constant strain triangle)
    • 没有针对节点位移的坐标变换
    • 对于应变梯度较大的区域,CST单元划分应适当加密,否则导致较大误差
  1. 平面三节点三角形单元的matlab编程

    三个函数

  • 刚度矩阵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)
  • 单元组装Triangle2D3Node_Assembly(Kk,k,i,j,m):该函数进行单元刚度矩阵的组装,输入单元刚度矩阵k,单元的节点编号i、j、m,输出整体刚度矩阵KK
  • 单元应力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,由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy
function k=Triangle2D3Node_Stiffness(E,NU,t,xi,yi,xj,yj,xm,ym,ID)
%该函数计算单元的刚度矩阵
%输入弹性模量E,泊松比NU,厚度t
%输入三个节点i、j、m的坐标xi,yi,xj,yi,xm,ym
%输入平面问题性质指标参数ID(1为平面应力,2为平面应变)
%输出单元刚度矩阵k(6X6)

A = (xi*(yj-ym) + xj*(ym-yi) + xm*(yi-yi))/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 == 1
	D=(E/(1-NU*NU)*[1 NU 0;NU 1 0;0 0 (1-NU)/2];
elseif ID == 2
	D=(E/(1+NU)/(1-2*NU))*[1-NU NU 0;NU 1-NU 0;0 0 (1-2*NU)/2];
end
k=t*A*B'*D*B;
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:6 
	for n2=1:6
		KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);
	end 
end 
z=KK;
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-yi))/2;
betai = yj-ym; 
betaj = ym-yi; 
betam=yi-yi 
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 == 1
	D = (E/(1-NU*NU)*[1 NU 0; NU 1 0;0 0 (1-NU)/2]; 
elseif ID==2
	D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0;NU 1-NU 0;0 0 (1-2*NU)/2]; 
end
stress = D*B*u;

平面4节点矩形单元及MATLAB编程

平面4节点矩形单元,每个节点具有2个自由度,局部坐标系建模

images/《有限元分析与应用》-20240829134558737.webp

ξ=xa,η=yb

  1. 节点描述
  • 节点坐标(逆时针编号):(xi,yi),i=1,2,3,4
  • 节点位移矩阵:qe=[u1v1u2v2u3v3u4v4]T
  • 节点力矩阵: Pe=[Px1Py1Px2Py2Px3Py3Px4Py4]T
  1. 位移场函数
  • 位移场函数:所有节点间使用相同函数插值,低阶到高阶,唯一确定
    ui(x,y)=a0+a1xi+a2yi+a3xiyi
    vi(x,y)=b0+b1xi+b2yi+b3xiyi
    (ui,vi)可以确定系数(ai,bi)的值,其中i=1,2,3,4

    u(x,y)=a0+a1x+a2y+a3xy=N1(x,y)u1+N2(x,y)u2+N3(x,y)u3+N4(x,y)u4

    v(x,y)=b0+b1x+b2y+b3xy=N1(x,y)v1+N3(x,y)v2+N3(x,y)v3+N4(x,y)v4

    无量纲Ni=14(1+ξiξ)(1+ηiη)为形状函数
    例如
    images/《有限元分析与应用》-20240829142421140.webp

    位移场矩阵形式u(x,y)=N(x,y)qe
    其中N(x,y)=[N10N20N30N400N10N20N30N4]

  1. 应变场函数
    ϵ(x,y)=[]3×2u(x,y)=[]3×2N(x,y)qe=B3×8(x,y)qe
    其中,[]=[x00yyx]B3×8(x,y)=[]3×2N(x,y)称为几何矩阵
    B3×8(x,y)=[(B1)3×2(B2)3×2(B3)3×2(B4)3×2]
    那么,(Bi)3×2=[Nix00NiyNiyNix],i=1,2,3,4
  • 应力场函数
    σ(x,y,z)(3×1)=E1μ2[1μ0μ10001μ2][ϵxxϵyyγxy]=D(3×3)ϵ=D(Bqe)
    其中,D称为弹性系数矩阵
    S=DB,并称S为应力函数矩阵
  1. 最小势能原理
    e=UW=12ΩeσijϵijdΩ[Ωeb¯iuidΩ+Spep¯iuidA]
    =12qeT(ΩeBTDBdΩ)qe(ΩeNTb¯dΩ+SpeNTp¯dA)Tqe
    =12qeTKeqePeTqe
    其中,单元刚度矩阵K(8×8)e=ΩeBTD(3×3)BdΩ=ΩeBTDBdAt,每个元素为

images/《有限元分析与应用》-20240829143404403.webp

images/《有限元分析与应用》-20240829143524981.webp

PeT=ΩeNTb¯dΩ+SpeNTp¯dA

应用最小势能原理,(qe)qe=0
则获得刚度方程,Keqe=Pe

  • 平面四节点矩形单元性质
    • 位移场函数=完全线性+交叉项函数,属于双线性位移模式
    • 应变场和应力场函数均为不完全线性函数
    • 平面4节点矩形单元比3节点三角形单元的精度高
    • 矩形单元的几何形状还应变换为任意边形的形状,以增强几何的适应性
  1. 平面三节点三角形单元的matlab编程

    三个函数

  • 刚度矩阵Quad2D4Node_Stiffness(E,NU,h,xi,yi,xj.yj,xm,ym,xp,yp,ID):
    该函数计算单元的刚度矩阵,输入弹性模量E,泊松比NU,厚度h,4个节点i、j、m的坐标xi,yi,xj,yj,xm,ym,xp,yp,平面问题性质指示参数ID(1为平面应力,2为平面应变),输出单元刚度矩阵k(8X8)
  • 单元组装Quad2D4Node_Assembly(Kk,k,i,j,m,p):该函数进行单元刚度矩阵的组装,输入单元刚度矩阵k,单元的节点编号i、j、m、p,输出整体刚度矩阵KK
  • 单元应力Quad2D4Node_Stress(E,NU,h,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,由于它为常应力单元,则单元的应力分量为Sx,Sy,Sxy
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,yi,xm,ym,xp,yp
%输入平面问题性质指标参数ID(1为平面应力,2为平面应变)
%输出单元刚度矩阵k(8X8)

syms s t;
a = (yi*(s-1)+yi*(-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 o];
J=[xi xj xm xp]*Jfirst*[yi;yj;ym;yp]/8;
B=Bfirst/J; 
if ID == 1
	D=(E/(1-NU*NU))*[1 NU 0;NU 1 0;0 0 (1-NU)/2];
elseif ID == 2
	D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0;NU 1-NU 0;0 0 (1-2*NU)/2];
end

BD=J*transpose(B)*D*B;
r = int(int(BD, t, -1, 1), s, -1, 1); 
z = h*r;
k = double(z);
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:8 
	for n2=1:8
		KK(DOF(n1),DOF(n2))=KK(DOF(n1),DOF(n2))+k(n1,n2);
	end 
end 
z=KK;
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 st;
a = (yi*(s-1)+yi*(-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 == 1
	D = (E/(1-NU*NU))*[1 NU 0; NU 1 0;0 0 (1-NU)/2];
elseif ID == 2
	D = (E/(1+NU)/(1-2*NU))*[1-NU NU 0;NU 1-NU 0;0 0 (1-2*NU)/2]
end
str1=D*B*u;
str2= subs(str1,{s,t},{0,0}); 
stress=double(str2);

轴对称单元

轴对称物体的单元采用柱坐标表述,旋转截面离散成平面单元

images/《有限元分析与应用》-20240829152254312.webp

images/《有限元分析与应用》-20240829152207305.webp

三大类力学变量

  • 位移:[urw]T,uθ=0
  • 应变:[ϵrrϵθθϵzzγrz]T,γrθ=γθz=0
  • 应力:[σrrσθθσzzτrz]T,τrθ=τθz=0

三大类方程

images/《有限元分析与应用》-20240829153105692.webp

使用三节点三角形单元

images/《有限元分析与应用》-20240829153215633.webp

  1. 节点描述
  • 节点坐标:(ri,zi),i=1,2,3
  • 节点位移矩阵:qe=[ur1w1ur2w2ur3w3]T
  • 节点力矩阵: Pe=[Pr1Pz1Pr2Pz2Pr3Pz3]T
  1. 单元上的场描述
  • 位移场函数:所有节点间使用相同函数插值,低阶到高阶,唯一确定
    uri(r,z)=a¯0+a¯1ri+a¯2zi
    wi(r,z)=b¯0+b¯1ri+b¯2zi
    (uri,wi)可以确定系数(a¯i,b¯i)的值,其中i=1,2,3
    u(r,z)=a¯0+a¯1r+a¯2z=N1(r,z)ur1+N2(r,z)ur2+N3(r,z)ur3
    w(r,z)=b¯0+b¯1r+b¯2z=N1(r,z)w1+N3(r,z)w2+N3(r,z)w3
    Ni(r,z)=12A(ai+bir+ciz)
    例如a1=r2z3r3z2,b1=z2z3,c1=r2+r3,i=1,2,3

    位移场矩阵形式u(r,z)=N(r,z)qe
    其中N(r,z)=[N10N20N300N10N20N3]

  1. 应变场函数

ϵ(r,z)=[]4×2u(r,z)=[]4×2N(r,z)qe=B4×6(r,z)qe
其中,[]=[r01r00zzr]B4×6(r,z)=[]4×2N(r,z)称为几何矩阵
B3×6(r,z)=[(B1)3×2(B2)3×2(B3)3×2]
那么,(Bi)3×2=12A[bi00cicibi],i=1,2,3

  • 应力场函数
    σ(4×1)=D(4×4)ϵ=D(Bqe)=Sqe
    其中,D称为弹性系数矩阵

    D=E(1μ)(1+μ)(12μ)[1μ1μμ1μ0μ1μ1μ1μ0μ1μμ1μ1000012μ2(1μ)]

    S=DB,并称S为应力函数矩阵

  1. 最小势能原理

e=UW
=12qeTKeqePeTqe
其中,
K(6×6)e=ΩeBTD(4×4)BdΩ=Ae02πBTDBrdrdθdz=2πrAeBTDBdrdz

PeT=ΩeNTb¯dΩ+SpeNTp¯dA=2πr(AeNTb¯drdz+lpeNTp¯dl)

应用最小势能原理,(qe)qe=0
则获得刚度方程,Keqe=Pe

四节点举行环形单元

images/《有限元分析与应用》-20240829160418276.webp

  1. 节点描述
  • 节点坐标:(ri,zi),i=1,2,3,4
  • 节点位移矩阵:qe=[ur1w1ur2w2ur3w3ur4w4]T
  • 节点力矩阵: Pe=[Pr1Pz1Pr2Pz2Pr3Pz3Pr4Pz4]T
  1. 单元上的场描述
  • 位移场函数:所有节点间使用相同函数插值,低阶到高阶,唯一确定
    uri(r,z)=a0+a1ri+a2zi+a3rizi
    wi(r,z)=b0+b1ri+b2zi+b3rizi
  1. 最小势能原理

e=UW
=12qeTKeqePeTqe

其中,
K(8×8)e=ΩeBTD(4×4)BdΩ=Ae02πBTDBrdrdθdz=2πrAeBTDBdrdz

PeT=ΩeNTb¯dΩ+SpeNTp¯dA=2πr(AeNTb¯drdz+lpeNTp¯dl)

应用最小势能原理,(qe)qe=0
则获得刚度方程,Keqe=Pe

分布力的处理

需要将分布力转换等效为节点载荷

最小势能原理

e=UeWe=12ΩeσijϵijdΩWe

其中,u=Nqe

We=Ωeb¯iuidΩ+Spep¯iuidA=Ωeb¯TudΩ+Spep¯TudA=PeTqe

等效节点载荷(平面三节点三角形单元)

images/《有限元分析与应用》-20240829161830085.webp

images/《有限元分析与应用》-20240829161947211.webp

images/《有限元分析与应用》-20240829162028842.webp

平面矩形薄板分析的MATLAB编程

问题描述

images/《有限元分析与应用》-20240829172655430.webp

离散成两个3节点三角形单元,外力载荷离散到节点力

images/《有限元分析与应用》-20240829173113866.webp

结构的参数:

  • 弹性模量E=107Pa
  • 载荷F=100000N
  • 泊松比μ=1/3
  • 厚度t=0.1m

在MATLAB环境下,输入弹性模量E、泊松比NU,薄板厚度为t,平面应力问题性质指示参数ID,然后针对单元1和单元2,分别调用两次函数Triangle2D3Node_Stiffness,就可以得到单元的刚度矩阵k1(6×6)和k2(6×6)

窗口输入

>> E=1e7; 
>> NU=1/3;  
>> t=0.1;  
>> ID=1; 
>> k1=Triangle2D3Node_Stiffness(E,NU,t,2,0,0,1,0,0,ID)
>> k2=Triangle2D3Node_Stiffness(E,NU,t,0,1,2,0,2,1,ID)

由于该结构共有4个节点,则总共的自由度数为8,因此,结构总的刚度矩阵为KK(8×8),先对KK清零,然后两次调用函数Triangle2D3Node_Assemblv进行刚度矩阵的组装

>> kk = zeros(8,8);
>> KK=Triangle2D3Node_Assembly(KK,k1,2,3,4) 
>> KK=Triangle2D3NodeAssembly(KK.k2.3.2.1)

边界条件,u3=0,v3=0,u4=0,v4=0

将针对节点1和节点2的位移进行求解,节点1和节点2的位移将对应KK矩阵中的前4行和前4列,则需从KK(8×8)中提出,置给k,然后生成对应的载荷列阵p,再采用高斯消去法进行求解。
注意:MATLAB中的"\"就采用用高斯消去法

>> k = kk(1:4,1:4);
>> p = [0;-50000;0;-50000] 
>> u=k\p
u = 0.188 -0.899 -0.150 -0.842

即,u1=0.188,v1=0.899,u2=0.151,v2=0.842

在得到整个结构的节点位移后,由原整体刚度方程就可以计算出对应的支反力

>> U=[u;0;0;0;0]; 
>> P=KK*U
P=1.0e+005 *
-0.0000 -0.5000 0 -0.5000 -2.0000 -0.0702 2.0000 1.0702

即,Rx3=200000,Ry3=7020,Rx4=200000,Ry4=107020

平面矩形薄板的ANSYS实例分析

images/《有限元分析与应用》-20240829174630072.webp

第9讲 连续体结构的有限元分析(2)

空间4节点四面体单元及MATLAB编程

images/《有限元分析与应用》-20240829174821549.webp

每个节点具有3个自由度,整体坐标系建模

  1. 节点描述
  • 节点坐标:(xi,yi,zi),i=1,2,3,4
  • 节点位移矩阵:
    qe=[u1v1w1u2v2w2u3v3w3u4v4w4]T
  • 节点力矩阵:
    Pe=[Px1Py1Pz1Px2Py2Pz2Px3Py3Pz3Px4Py4Pz4]T
  1. 单元上的场描述
  • 位移场函数:所有节点间使用相同函数插值,低阶到高阶,唯一确定
    ui(x,y,z)=a¯0+a¯1xi+a¯2yi+a¯3zi
    vi(x,y,z)=b¯0+b¯1xi+b¯2yi+b¯3zi
    wi(x,y,z)=c¯0+c¯1xi+c¯2yi+c¯3zi
    (ui,vi,wi)可以确定系数(a¯i,b¯i,c¯i)的值,其中i=1,2,3,4
    u(x,y,z)=a¯0+a¯1x+a¯2y+a¯3z=N1(x,y,z)u1+N2u2+N3u3+N4u4
    v(x,y,z)=b¯0+b¯1x+b¯2y+b¯3z=N1(x,y,z)v1+N3v2+N3v3+N3v4
    w(x,y,z)=c¯0+c¯1x+c¯2y+c¯3z=N1(x,y,z)w1+N2w2+N3w3+N4w4

Ni(x,y,z)=16V(ai+bix+ciy+diz),i=1,2,3,4

位移场矩阵形式u(x,y,z)=N(x,y,z)qe
其中N(x,y,z)=[N100N200N300N4000N100N200N300N4000N100N200N300N4]

  1. 应变场函数

ϵ(x,y,z)=[]6×3u(x,y)=[]6×3N(x,y)qe=B6×12(x,y)qe
其中,[]=[x000y000zyx00zyz0x]B6×12(x,y,z)=[]6×3N(x,y,z)称为几何矩阵
B6×12(x,y)=[(B1)6×3(B2)6×3(B3)6×3(B4)6×3]
那么

Bi=[][Ni000Ni000Ni]=16V[bi000ci000dicibi00dicidi0bi],i=1,2,3,4

  • 应力场函数
    σ(x,y,z)(6×1)=D(6×6)ϵ=D(Bqe)
    其中,D称为弹性系数矩阵
    S=DB,并称S为应力函数矩阵
  1. 最小势能原理
    e=UW=12ΩeσijϵijdΩ[Ωeb¯iuidΩ+Spep¯iuidA]
    =12qeT(ΩeBTDBdΩ)qe(ΩeNTb¯dΩ+SpeNTp¯dA)Tqe
    =12qeTKeqePeTqe
    其中,单元刚度矩阵K(12×12)e=ΩeBTD(6×6)BdΩ

单元节点载荷 PeT=ΩeNTb¯dΩ+SpeNTp¯dA

应用最小势能原理,(qe)qe=0
则获得刚度方程,Keqe=Pe

  1. 空间4节点三角锥(四面体)单元性质
    • 单元内的应力和应变均为常数,又称为常应变长应力体元,与CST性质相同
      images/《有限元分析与应用》-20240829182839311.webp
      images/《有限元分析与应用》-20240829182901331.webp
    • 没有针对节点位移的坐标变换
    • 对于应变梯度较大的区域,单元划分应适当加密,否则导致较大误差

4节点四面体单元的matlab实现

三个函数

  • 刚度矩阵Tetrahedron3D4Node_Stiffness(E,NU,xi,yi,zi,xj,yj,zj,xm,ym,zm,xn,yn,zn):该函数计算单元的刚度矩阵,输入弹性模量E,泊松比NU,4个节点i、j、m、n的坐标xi,yi,zi,xj,yj,zj,xm,ym,zm,xn,yn,zn,输出单元刚度矩阵k(12x12)。
  • 单元组装Tetrahedron3D4Node_Assembly(Kk,k,ij.m,n):该函数进行单元刚度矩阵的组装,输入单元刚度矩阵k,单元的节点编号i、j、m、n,输出整体度矩阵KK
  • 单元应力Tetrahedron3D4Node_Stress(E,NU,xi,yi,zi,xj,yj,zj,xm,ym,zm,xn,yn,zn,u):该函数计算单元的应力,输入弹性模量E,泊松比NU,4个节点i、j、m、n的坐标xi,yi,zi,xj,yj,zj,xm,ym,zm,xn,yn,zn,单元的位移列阵u(12x1),输出单元的应力stress,由于它为常应力单元,则单元的应力分量为Sx,Sy,Sz,Sxy,Syz,Szx
function k=Tetrahedron3D4Node_Stiffness(E,NU,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4)
%该函数计算单元的刚度矩阵%输入弹性模量E,泊松比NU
%输入4个节点i、j、m、n的坐标xi,yi,zi,xj.yj.zj.xm,ym,zm,xn,yn,zn
%输出单元刚度矩阵k(12X12)

%以下数组与书中的对应关系
%betai - bi
%gammai - ci
%deltai - di
%i=1:4

xyz = [1 x1 y1 z1 ; 1 x2 y2 z2 ; 1 x3 y3 z3 ; 1 x4 y4 z4]; V = det(xyz)/6;
mbeta1 = [1 y2 z2;1 y3 z3;1 y4 z4]; 
mbeta2 = [1 y1 z1;1 y3 z3;1 y4 z4]; 
mbeta3 = [1 y1 zl;1 y2 z2;1 y4 z4]; 
mbeta4 = [1 y1 z1;1 y2 z2;1 y3 z3];

mgamma1 = [1 x2 z2;1 x3 z3;1 x4 z4]; 
mgamma2 = [1 x1 z1;1 x3 z3;1 x4 z4]; 
mgamma3 = [1 x1 z1;1 x2 z2;1 x4 z4]; 
mgamma4 = [1 x1 z1;1 x2 z2;1 x3 z3]; 

mdelta1 = [1 x2 y2;1 x3 y3;1 x4 y4]; 
mdelta2 = [1 x1 y1;1 x3 y3;1 x4 y4]; 
mdelta3 = [1 x1 y1;1 x2 y2;1 x4 y4];
mdelta4 = [1 xl y1;1 x2 y2;1 x3 y3];

betal = -1*det(mbetal); 
beta2 = det(mbeta2); 
beta3 = -1*det(mbeta3);
beta4 = det(mbeta4);

gammal=det(mgamma1); 
gamma2=-1*det(mgamma2); 
gamma3 = det(mgamma3);
gamma4=-1*det(mgamma4); 

deltal = -1*det(mdeltal);
delta2 = det(mdelta2); 
delta3 = -1*det(mdelta3);
delta4 = det(mdelta4);

B1=[beta1 0 0;0 gamma1 0;0 0 deltal;
gammal betal 0;0 deltal gammal;deltal 0 betal];
B2=[beta2 0 0;0 gamma2 0 0;0 0 delta2;
gamma2 beta2 0;0 delta2 gamma2;delta2 0 beta2];
B3=[beta3 0 0;0 gamma3 0;0 0 delta3;
gamma3 beta3 0;0 delta3 gamma3;delta3 0 beta3];
B4=[beta4 00 ;0 gamma4 0;0 0 delta4;
gamma4 beta4 0;0 delta4 gamma4;delta4 0 beta4);

B = [B1 B2 B3 B4]/(6*V);
D = (E/((1+NU)*(1-2*NU)))*[1-NU NU NU 0 0 0;NU 1-NU NU 0 0 0;NU NU 1-NU 0 0 0;
0 0 0 (1-2*NU)/2 0 0;0 0 0 0 (1-2*NU)/2 0;0 0 0 0 0 (1-2*NU)/2]
k =abs(V)*B'*D*B;
function y=Tetrahedron3D4Node_Assembly(KK,k,i,j.m,n)
%该函数进行单元刚度矩阵的组装
%输入单元刚度矩阵k
%输入单元的节点编号i、j、m、n
%输出整体刚度矩阵KK

DOF=[3*i-2:3*i,3*j-2:3*j,3*m-2:3*m,3*n-2:3*n]
for n1=1:12 
	for n2=1:12
		KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+k(n1,n2);
	end 
end 
y=KK;
function y=Tetrahedron3D4Node_Stress(E,NU,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,u)
%该函数计算单元的应力
%输入弹性模量E,泊松比NU
%输入4个节点i、j、m、n的坐标xi,yi,zi,xi.yj.zj,xm,ym,zm,xn,yn,zn
%输入单元的位移列阵u(12X1)
%输出单元的应力stress(6X1)
%由于它为常应力单元,应力分量为Sx,Sy,Sz,Sxy,Syz,Szx

xyz=[1 x1 y1 z1;1 x2 y2 z2;1 x3 y3 z3;1 x4 y4 z4];
V = det(xyz)/6;
mbetal = [1 y2 z2;1 y3 z3;1 y4 z4];
mbeta2 = [1 y1 z1;1 y3 z3;1 y4 z4]; 
mbeta3 = [1 y1 z1;1 y2 z2;1 y4 z4];
mbeta4 = [1 y1 z1;1 y2 z2;1 y3 z3];

mgamma1 = [1 x2 z2;1 x3 z3;1 x4 z4]; 
mgamma2 = [1 x1 z1;1 x3 z3;1 x4 z4]; 
mgamma3 = [1 x1 z1;1 x2 z2;1 x4 z4];
mgamma4 = [1 x1 z1;1 x2 z2;1 x3 z3]; 

mdelta1 = [1 x2 y2;1 x3 y3;1 x4 y4];
mdelta2 = [1 x1 y1;1 x3 y3;1 x4 y4]; 
mdelta3 = [1 x1 y1;1 x2 y2;1 x4 y4]; 
mdelta4 = [1 x1 y1;1 x2 y2;1 x3 y3];

betal = -1*det(mbetal);
beta2 = det(mbeta2); 
beta3 =-1*det(mbeta3); 
beta4 = det(mbeta4);

gammal = det(mgammal); 
gamma2 = -1*det(mgamma2); 
gamma3 = det(mgamma3); 
gamma4 = -1*det(mgamma4); 

deltal = -1*det(mdelta1);
delta2 = det(mdelta2); 
delta3 = -1*det(mdelta3); 
delta4 = det(mdelta4);

B1 = [beta1 0 0;0 gamma1 0;0 0 delta1;
gammal betal 0;0 deltal gammal;deltal 0 betal];
B2 = [beta2 0 0;0 gamma2 0;0 0 delta2;
gamma2 beta2 0;0 delta2 gamma2;delta2 0 beta2];
B3 = [beta3 0 0;0 gamma3 0;0 0 delta3;
gamma3 beta3 0;0 delta3 gamma3;delta3 0 beta3];
B4 = [beta4 0 0;0 gamma4 0;0 0 delta4;
gamma4 beta4 0;0 delta4 gamma4;delta4 0 beta4];
B = [B1 B2 B3 B4]/(6*V);
D = (E/(1+NU)*(1-2*NU)))*[1-NU NU NU 0 0 0;NU 1-NU NU 0 0 0;NU NU 1-NU 0 0 0;0 0 0 (1-2*NU)/2 0 0;0 0 0 0 (1-2*NU)/2 0;0 0 0 0 0 (1-2*NU)/2]
y=D*B*u;

空间8节点正六面体单元及MATLAB编程

images/《有限元分析与应用》-20240912170204878.webp

每个节点具有3个自由度,共有24个DOF,整体坐标系建模

  1. 节点描述
  • 节点坐标:(xi,yi,zi),i=1,2,3,4,,8
  • 节点位移矩阵(8*\1):
    qe=[u1v1w1u2v2w2u3v3w3u8v8w8]T
  • 节点力矩阵(24*\1):
    Pe=[Px1Py1Pz1Px2Py2Pz2Px3Py3Pz3Px8Py8Pz8]T
  1. 单元上的场描述
  • 位移场函数:所有节点间使用相同函数插值,(低阶到高阶,唯一确定)
    ui(xi,yi,zi)=a0+a1xi+a2yi+a3zi+a4xiyi+a5yizi+a6zixi+a7xiyizi
    vi(xi,yi,zi)=b0+b1xi+b2yi+b3zi+b4xiyi+b5yizi+b6zixi+b7xiyizi
    wi(xi,yi,zi)=c0+c1xi+c2yi+c3zi+c4xiyi+c5yizi+c6zixi+c7xiyizi

    < 共有24个线性方程 >

    (ui,vi,wi)可以确定系数(ai,bi,ci)的值,其中i=1,2,3,4,,8,得到系数,重新排列位移场
    u(x,y,z)=N1(x,y,z)u1+N2u2+N3u3++N8u8 v(x,y,z)=N1(x,y,z)v1+N3v2+N3v3++N8v8
    w(x,y,z)=N1(x,y,z)w1+N2w2+N3w3++N8w8

Ni(x,y,z)的具体表达式可以由拉格朗日插值直接得出,自己去算

位移场矩阵形式u3×1(x,y,z)=N3×24(x,y,z)qe

其中N(x,y,z)=[N100N200N8000N100N200N8000N100N200N8]

  • 应变场函数

    ϵ(x,y,z)=[](6×3)u(x,y)=[](6×3)N(x,y)qe=B(6×24)(x,y)qe
    其中,[]=[x000y000zyx00zyz0x]B6×24(x,y,z)=[]6×3N(x,y,z)称为几何矩阵
    B6×24(x,y)=[(B1)6×3(B2)6×3(B8)6×3]

    那么

    Bi=[][Ni000Ni000Ni],i=1,2,3,4,,8

  • 应力场函数
    σ(x,y,z)(6×1)=D(6×6)ϵ=D(Bqe)=S(6×24)qe
    其中,D称为弹性系数矩阵
    S=DB,并称S为应力函数矩阵

  1. 最小势能原理
    e=UW=12ΩeσijϵijdΩ[Ωeb¯iuidΩ+Spep¯iuidA]
    =12qeT(ΩeBTDBdΩ)qe(ΩeNTb¯dΩ+SpeNTp¯dA)Tqe
    =12qeTKeqePeTqe

其中,单元刚度矩阵K(24×24)e=ΩeBTD(6×6)BdΩ

单元节点载荷 PeT=ΩeNTb¯dΩ+SpeNTp¯dA

应用最小势能原理,(qe)qe=0
则获得刚度方程,Keqe=Pe

  1. 空间4节点三角锥(四面体)单元性质
  • 位移场为完全线性+交叉项函数
    images/《有限元分析与应用》-20240912173501382.webp

  • 应变场不完全线性函数
    images/《有限元分析与应用》-20240912173620378.webp

  • 应力场为不完全线性函数:σ=D(6×6)ϵ

  • (1) 位移场为完全线性+交叉项函数,在x,y,z方向呈线性变化

  • (2) 应变场及应力场为不完全线性函数

  • (3) 空间8节点正六面体单元的比4节点四面体单元的精度高;与平面4节点矩形单元的性质相同

  • (4) 正六面体单元的几何形状还应变换为任意六面体的形状,以增强几何的适应性

8节点正六面体单元的matlab实现

三个函数

  • Hexahedral3D8Node_Stiffness(E,NU,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8)
    • 该函数计算单元的刚度矩阵,输入弹性模量E,泊松比NU,8个节点的坐标x1、y1、z1、x2、y2、z2、x3、y3、z3、x4、y4、z4、x5、y5、z5、x6、y6、z6、x7、y7、z7、x8、y8、z8,输出单元刚度矩阵k(24X24)
  • Hexahedral3D8Node_Assembly(kk,k,i,j,l,m,n,o,p,q)
    • 该函数进行单元刚度矩阵的组装,输入单元刚度矩阵k,单元的节点编号i、j、I、m、n、o、p、q,输出整体刚度矩阵kk。
  • Hexahedral3D8Node_Stress(E,NU,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8,u)
    • 该函数计算单元中心点的应力,输入弹性模量E,泊松比NU,8个节点的坐标x1、y1、z1、x2、y2、z2、x3、y3、z3、x4、y4、z4、x5、y5、z5、x6、y6、z6、x7、y7、z7、x8、y8、z8,单元的位移列阵u(6X1),输出单元中心的应力stress(6x1),则单元的应力分量为Sx,Sy,Sz,Sxy,Syz,Szx

刚度矩阵函数

矩阵太长的有换行,注意使用时删除

function k=Hexahedral3D8Node_Stiffness(E,NU,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,
x6,y6,z6,x7,y7,z7,x8,y8,z8)
%该函数计算单元的刚度矩阵
%输入弹性模量E,泊松比NU
%输入8个节点的坐标x1、y1、z1、x2、y2、z2、x3、y3、z3、x4、y4、z4、
%输入x5、y5、z5、x6、y6、z6、x7、y7、z7、x8、y8、z8
%输出单元刚度矩阵k(24X24)

syms s t n;   %定义形状函数N

%定义局部坐标系
N1=(1+s)*(1-t)*(1-n)/8; 
N2=(1+s)*(1+t)*(1-n)/8;
N3=(1-s)*(1+t)*(1-n)/8; 
N4=(1-s)*(1-t)*(1-n)/8; 
N5=(1+s)*(1-t)*(1+n)/8;
N6=(1+s)*(1+t)*(1+n)/8;
N7=(1-s)*(1+t)*(1+n)/8;
N8=(1-s)*(1-t)*(1+n)/8;

%定义坐标变换
X=N1*×1+N2*×2+N3*×3+N4*×4+N5*×5+N6*×6+N7*×7+N8*×8; y=N1*y1+N2*y2+N3*y3+N4*y4+N5*y5+N6*y6+N7*y7+N8*y8;
z=N1*z1+N2*z2+N3*z3+N4*z4+N5*z5+N6*z6+N7*z7+N8*z8;

%定义雅可比矩阵
J=[diff(x,s),diff(y,s),diff(z,s);
diff(x,t),diff(y,t),diff(z,t);
diff(x,n),diff(y.n),diff(z,n)];

Jdet=det(J); 
J %打印J
Jdet %打印Jdet

%定义B矩阵的系数
a=diff(y,t)*diff(z,n)-diff(z,t)*diff(y,n);
b=diff(y,s)*diff(z,n)-diff(z,s)*diff(y,n);
c=diff(y,s)*diff(z,t)-diff(z,s)*diff(y,t); 
d=diff(x,t)*diff(z,n)-diff(z,t)*diff(x,n);
e=diff(x,s)*diff(z.n)-diff(z,s)*diff(x,n); 
f=diff(x,s)*diff(z,t)-diff(z,s)*diff(x,t); 
g=diff(x,t)*diff(y.n)-diff(y,t)*diff(x,n);
h=diff(x,s)*diff(y.n)-diff(y,s)*diff(x,n);
I=diff(x,s)*diff(y.t)-diff(y,s)*diff(x,t);

%通过循环计算各个矩阵
Ns=[N1,N2,N3,N4,N5,N6,N7,N8];
Bs=sym(zeros(6,3,8));
for i=1:8
	Bs(:,:,i)=[a*diff(Ns(i),s)-b*diff(Ns(i),t)+c*diff(Ns(i),n),0,0;
	0,-d*diff(Ns(i),s)+e*diff(Ns(i),t)-f*diff(Ns(0),n),0;
	0,0,g*diff(Ns(0),s)-h*diff(Ns(0),t)+I*diff(Ns(i),n); 
	-d*diff(Ns(i),s)+e*diff(Ns(i),t)-f*diff(Ns(i),n),a*diff(Ns(i),s)-b*diff(Ns(i),t)+c*diff(Ns(i),n),0;
O,g*diff(Ns(0),s)-h*diff(Ns(i),t)+I*diff(Ns(i),n),-d*diff(Ns(i),s)+e*diff(Ns(i),t)-f*diff(Ns(i),n);
g*diff(Ns(i),s)-h*diff(Ns(i),t)+I*diff(Ns(i),n),O,a*diff(Ns(i),s)-b*diff(Ns(i),t)+c*diff(Ns(i),n)]/Jdet;
end

%计算B矩阵
B=[Bs(:,:,1),Bs(:,:,2),Bs(:,:,3),Bs(:,:,4),Bs(:,:,5),Bs(:,:,6),Bs(:,:,7),Bs(:,:,8)]
B

%计算D矩阵
D=(E/((1+NU)*(1-2*NU)))*[1-NU,NU,NU,0,0,0;NU,1-NU,NU,0,0,0;NU,NU,1-NU,0,0,0;
0,0,0,0.5-NU,0,0;0,0,0,0,0.5-NU,0;0,0,0,0,0,0.5-NU); 
D

%计算单元刚度矩阵k
BD=Jdet*transpose(B)*D*B;
z=(int(int(int(BD,n,-1,1),t,-1,1),s,-1,1));
z
k=double(z);

刚度矩阵组装函数

functionz=Hexahedral3D8Node_Assembly(KK,k,i,j,l,m,n,o,p,q)
%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k
%输入单元的节点编号i、j、l、m、n、o、p、q
%输出整体刚度矩阵KK

DOF=[3*i-2:3*i,3*j-2:3*j,3*l-2:3*|,3*m-2:3*m,3*n-2:3*n,3*o-2:3*o,3*p-2:3*p,3*q-2:3*q];
for n1=1:24 
	for n2=1:24
		KK(DOF(n1),DOF(n2))=KK(DOF(n1),DOF(n2))+k(n1,n2);
	end 
end 
z=KK;

应力计算函数

functionstress=Hexahedral3D8NodeStress(E,NU,x1,y1,z1.x2.y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,x6,y6,z6,x7,y7,z7,x8,y8,z8,u)
%该函数计算单元中心点的应力
%输入弹性模量E,泊松比NU
%输入8个节点的坐标x1、y1、z1、x2、y2、z2、x3、y3、z3、x4、y4、z4、
%输入x5、y5、z5、x6、y6、z6、x7、y7、z7、x8、y8、z8
%输入单元的位移列阵u(6X1)
%输出单元中心的应力stress(6X1),应力分量为Sx,Sy,Sz,Sxy.Syz,Szx

syms s t n;  %定义局部坐标系

%定义形状函数N
N1=(1+s)*(1-t)*(1-n)/8; 
N2=(1+s)*(1+t)*(1-n)/8;
N3=(1-s)*(1+t)*(1-n)/8; 
N4=(1-s)*(1-t)*(1-n)/8; 
N5=(1+s)*(1-t)*(1+n)/8; 
N6=(1+s)*(1+t)*(1+n)/8; 
N7=(1-s)*(1+t)*(1+n)/8; 
N8=(1-s)*(1-t)*(1+n)/8;

%定义坐标变换
x=N1*x1+N2*x2+N3*x3+N4*x4+N5*×5+N6*x6+N7*x7+N8*x8;
y=N1*y1+N2*y2+N3*y3+N4*y4+N5*y5+N6*y6+N7*y7+N8*y8;
z=N1*z1+N2*z2+N3*z3+N4*z4+N5*z5+N6*z6+N7*z7+N8*z8;

%定义雅可比矩阵
J=[diff(x,s),diff(y,s),diff(z,s);diff(x,t),diff(y.t),diff(z,t);diff(x,n),diff(y,n),diff(z,n)];
Jdet=det(J);

%定义B矩阵的系数
a=diff(y,t)*diff(z,n)-diff(z,t)*diff(y,n);
b=diff(y,s)*diff(z,n)-diff(z,s)*diff(y,n);
c=diff(y,s)*diff(z,t)-diff(z,s)*diff(y,t); 
d=diff(x,t)*diff(z,n)-diff(z,t)*diff(x,n);
e=diff(x,s)*diff(z.n)-diff(z,s)*diff(x,n); 
f=diff(x,s)*diff(z,t)-diff(z,s)*diff(x,t); 
g=diff(x,t)*diff(y.n)-diff(y,t)*diff(x,n);
h=diff(x,s)*diff(y.n)-diff(y,s)*diff(x,n);
I=diff(x,s)*diff(y.t)-diff(y,s)*diff(x,t);

%通过循环计算各个矩阵
Ns=[N1,N2,N3,N4,N5,N6,N7,N8];
Bs=sym(zeros(6,3,8));
for i=1:8
	Bs(:,:,i)=[a*diff(Ns(i),s)-b*diff(Ns(i),t)+c*diff(Ns(i),n),0,0;
	0,-d*diff(Ns(i),s)+e*diff(Ns(i),t)-f*diff(Ns(0),n),0;
	0,0,g*diff(Ns(0),s)-h*diff(Ns(0),t)+I*diff(Ns(i),n); 
	-d*diff(Ns(i),s)+e*diff(Ns(i),t)-f*diff(Ns(i),n),a*diff(Ns(i),s)-b*diff(Ns(i),t)+c*diff(Ns(i),n),0;
O,g*diff(Ns(0),s)-h*diff(Ns(i),t)+I*diff(Ns(i),n),-d*diff(Ns(i),s)+e*diff(Ns(i),t)-f*diff(Ns(i),n);
g*diff(Ns(i),s)-h*diff(Ns(i),t)+I*diff(Ns(i),n),O,a*diff(Ns(i),s)-b*diff(Ns(i),t)+c*diff(Ns(i),n)]/Jdet;
end

%计算B矩阵
B=[Bs(:,:,1),Bs(:,:,2),Bs(:,:,3),Bs(:,:,4),Bs(:,:,5),Bs(:,:,6),Bs(:,:,7),Bs(:,:,8)]

%计算D矩阵
D=(E/((1+NU)*(1-2*NU)))*[1-NU,NU,NU,0,0,0;NU,1-NU,NU,0,0,0;NU,NU,1-NU,0,0,0;
0,0,0,0.5-NU,0,0;0,0,0,0,0.5-NU,0;0,0,0,0,0,0.5-NU); 

%计算应力向量 
W=D*B*u;
%在单元的中心处计算应力 
wcent=subs(w,{s,t,n},{0,0,0}) 
stress=double(wcent)

参数单元的原理

具有曲边的单元划分:以平面问题的任意四边形单元为例,内部可以采用矩形单元,逼近曲边会产生锯齿

images/《有限元分析与应用》-20240913100822871.webp

采用任意四边形单元可以较好地逼近曲边

  • 方法一:直接构建
  • 方法二:基于矩形单元来进行几何形状的映射(参数单元)

images/《有限元分析与应用》-20240913100900884.webp

模型构建采用基准单元,坐标系(ξ,η)

images/《有限元分析与应用》-20240913100956956.webp

实际计算时采用物理单元,坐标系(x,y)

images/《有限元分析与应用》-20240913101032220.webp

通过几何形状映射(3个方面)来进行计算:参数单元

images/《有限元分析与应用》-20240913101330550.webp

  1. 几何坐标函数映射:(x,y)(ξ,η)

images/《有限元分析与应用》-20240913101435179.webp

坐标映射

images/《有限元分析与应用》-20240913101500636.webp

映射关系:采用多项式表达

{x=a0+a1ξ+a2η+a3ξηy=b0+b1ξ+b2η+b3ξη

位移场

{x(ξ,η)=N~1(ξ,η)x1+N~2(ξ,η)x2+N~3(ξ,η)x3+N~4(ξ,η)x4y(ξ,η)=N~1(ξ,η)y1+N~2(ξ,η)y2+N~3(ξ,η)y3+N~4(ξ,η)y4

其中,N~i=14(1+ξiξ)(1+ηiη),i=1,2,3,4

(x,y)坐标系下的节点坐标值排列:

q~=[x1y1x2y2x3y3x4y4]T

则坐标映射可写成:(x,y)(ξ,η)

[xy]=[x(ξ,η)y(ξ,η)]=[N~10N~20N~30N~400N~10N~20N~30N~4]=N~(2×8)q~
2. 坐标的偏导数变换:(x,y)(ξ,η)

{Φξ=Φxxξ+ΦyyξΦη=Φxxη+Φyyη

省略目标函数Φ,并交换位置

{ξ=xξx+yξyη=xηx+yηy

改写成矩阵形式

[ξη]=J[xy]

其中,Jacobi矩阵J=[xξyξxηyη]|J|=xξyηyξxη

求逆,即可完成偏导数的映射

[xy]=J1[ξη]=1|J|[yηyξxηxξ][ξη]

方程形式

{x=1|J|(yηξyξη)y=1|J|(xηξ+xξη)

  1. 面积和体积的变换:AedxdyAedξdη

物理坐标系(x,y)中的单位矢量为(i,j)

images/《有限元分析与应用》-20240913111516356.webp

面积微元=坐标微元的叉乘,即dA=|dξ×dη|

{dξ=xξξi+yξξjdη=xηηi+yηηj

矩阵形式

dA=|J|dξdη=[xξdξyξdξxηdηyηdη]

类似,三维问题中的体积微元=两坐标微元叉积点乘第三坐标微元,即

dΩ=dξ(dξ×dζ)

dΩ=|xξdξyξdξzξdξxηdηyηdηzηdηxζdζyζdζzζdζ|=|J|dξdηdζ

  1. 参数单元(平面单元)

三个方面的坐标变换

  • (x,y)(ξ,η)
  • (x,y)(ξ,η)
  • AedxdyAedξdη

(x,y)坐标系下的单元几何矩阵的变换

B(x,y,x,y)=[x00yyx]B(x,y)=B(ξ,η,ξ,η)

(x,y)坐标系下的单元刚度矩阵的变换

K(xy)e=AeBT(x,y,x,y)DB(x,y,x,y)dAt
=AeBT(x,y,x,y)DB(x,y,x,y)|J|dξdηt

(x,y)坐标系下全部转换到(ξ,η)坐标系下进行计算

  1. 参数单元的三种类型

几何形状插值函数的阶次与位移插值函数的阶次对比

images/《有限元分析与应用》-20240913115255682.webp

数值积分

数值积分举例——Gauss积分

I=11f(ξ)dξk=1nAkf(ξk)

  • 积分权系数Ak
  • 积分点位置ξk

最佳数值积分基本思想,构造多项式φ(ξi)去等值f(ξi),即

φ(ξi)=f(ξi);(i=1,2,3,,n)

i取值足够大时,则有近似代替

I=11f(ξ)dξ11φ(ξ)dξ

技术关键:如何构造最好的多项式φ(ξi)去逼近原函数,这里采用Gauss数值积分

Gauss数值积分

  • 1点Gauss数值积分公式(n=1

    11f(ξ)dξk=11Akf(ξk)=A1f(ξ1)

    使用两种多项式(常数,一次)代替f(ξ)

    • f(ξ)=a0时,有 11a0dξ=A1a0
    • f(ξ)=a1ξ时,有 11a1ξdξ=A1(a1ξ1)
      解得,A1=2ξ1=0

    最终的1点Gauss积分(体形积分)为:11f(ξ)dξ≈=2f(0)
    images/《有限元分析与应用》-20240913145254238.webp

  • 2点Guass积分公式(n=2

    11f(ξ)dξA1f(ξ1)+A2f(ξ2)

    4个系数确定有两种方法

    • 构造正交多项式

    • 直接法(以下采用这方法)

      选择四个多项式(1,ξ,ξ2,ξ3)去代替f(ξ),得到四个方程

      2=A1+A20=A1ξ1+A2ξ223=A1ξ12+A2ξ220=A1ξ13+A2ξ23}

      解得

      ξ1=13ξ2=13A1=1A2=1}

      所以,11f(ξ)dξf(13)+f(13)

  • n点Gauss积分

    11f(ξ)dξA1f(ξ1)+A2f(ξ2)++Anf(ξn)

    采用直接设定多项式的方法求解过程较为复杂,采用Legendre多项式求取系数,查询Gauss数值积分手册

    images/《有限元分析与应用》-20240913153123037.webp

刚度矩阵的数值积分

(ξ,η)坐标系下进行计算刚度矩阵

K(xy)e=AeBT(x,y,x,y)DB(x,y,x,y)dAt
=AeBT(x,y,x,y)DB(x,y,x,y)|J|dξdηt

2D平面4节点等参元刚度矩阵元素

k(xy)ije=11111A0+B0ξ+C0η[(Aαi+Bαiξ+Cαiη)(Aβj+Bβjξ+Cβjη)]dξdηt
对其需要进行数值积分,这是二重积分问题,采用Gauss数值积分

I=1111f(ξ,η)dξdη=j=1ni=1nAjAif(ξj,ηi)=i,j=1nAijf(ξj,ηi)

其中,Aij=AiAj

对于3D问题类似,

I=111111f(ξ,η,ζ)dξdηdζ=m=1nj=1ni=1nAjAif(ξj,ηi,ζ)=i,j,m=1nAijmf(ξj,ηi,ζ)

其中,Aijm=AiAjAm

典型空间问题的MATLAB编程

如图所示的一个空间块体,左端固定在面上,右端部受两个集中力F作用。试用MATLAB程序计算计算各个节点位移、支座反力以及单元的应力。

结构的参数

  • F=100000N
  • E=1×1010Pa
  • μ=0.25
  • t=0.2m

images/《有限元分析与应用》-20240913155635689.webp

有限元模型
images/《有限元分析与应用》-20240913155718562.webp

问题求解

  1. 结构的离散化与编号

images/《有限元分析与应用》-20240913160025930.webp

单元号 节点号
1 1 4 2 6
2 1 4 3 7
3 6 7 5 1
4 6 7 8 4
5 1 4 6 7
总节点位移矩阵(24*\1):
q=[u1v1w1u2v2w2u3v3w3u8v8w8]T

8个节点外载荷:
F=[00F3TF4T00F7TF8T]T

其中,F3T=F4T=[000]F7T=F8T=[00105N]

支反力,墙面对节点1、3、5、6存在支反力:
R=[R1TR2T00R5TR6T00]T

其中,R1T=[R1xR1yR1z]R2T=[R2xR2yR2z]

R5T=[R5xR5yR5z]R6T=[R6xR6yR6z]

总节点力P=F+R=[R1TR2TF3TF4TR5TR6TF7TF8T]T

matlab编程实现

  1. 计算各单元的刚度矩阵

首先在MATLAB环境下,输入弹性模量E、泊松比NU,然后针对单元1到单元5,分别调用5次函数 Tetrahedron3D4Node_Stiffness,就可以得到单元的刚度矩阵k1(6x6)~k5(6×6)。

MATLAB窗口的输入、输出情况

>> E=1e10; >> NU=0.25;
>> k1=Tetrahedron3D4Node_Stiffness(E,NU,0,0,0,0.2,0.8,0,0.2,0,0,0.2,0,0.6) 
>> k2=Tetrahedron3D4Node_Stiffness(E,NU,0,0,0,0.2,0.8,0,0,0.8,0,0,0.8,0.6); 
>>  k3=Tetrahedron3D4Node_Stiffness(E,NU,0.2,0,0.6,0,0.8,0.6,0,0,0.6,0,0,0);
>>  k4=Tetrahedron3D4Node_Stiffness(E,NU,0.2,0,0.6,0,0.8,0.6,0.2,0.8,0.6,0.2,0.8,0);
>>  k5=Tetrahedron3D4Node_Stiffness(E,NU,0,0,0,0.2,0.8,0,0.2,0,0.6,0,0.8,0.6);
  1. 建立整体刚度矩阵

KK清零,然后5次调用函数Tetrahedron3D4Node_Assembly进行刚度矩阵的组装。

MATLAB窗口的输入、输出情况

>> Kk=zeros(24)
>> KK = Tetrahedron3D4Node_Assembly(KK,k1,1,4,2,6); 
>> KK = Tetrahedron3D4Node_Assembly(KK,k2,1,4,3,7); 
>> KK = Tetrahedron3D4Node_Assembly(KK,k3,6,7,5,1); 
>> KK = Tetrahedron3D4Node_Assembly(KK,k4,6,7,8,4); 
>> KK = Tetrahedron3D4Node_Assembly(KK,k5,1,4,6,7);
  1. 边界条件的处理及刚度方程求解

节点1、2、5、6上三个方向的位移将为零,因此,将针对节点3、4、7、8的位移进行求解

节点1、2、5、6的位移将对应KK矩阵中的第1至6行,第13至18行和第1至6列,第13至18列,需从KK(24×24)中提出,置给k,然后生成对应的载荷列p,用高斯消去法进行求解

注意:MATLAB中的反斜线符号“”就是采用高斯消去法

>> k=KK([7:12,19:24],[7:12,19:24]); 
>> p=[0,0,0,0,0,0,0,0,-1e5,0,0,-1e5]';
>> u=k\p
u=1.0e-003 *
0.1249 -0.0485 -0.4024 0.1343 -0.0715 -0.4031
0.1314 0.0858 -0.4460 0.1353 0.0681 -0.4742

空间块体的节点位移计算结果(m)
images/《有限元分析与应用》-20240913165138334.webp

  1. 支反力的计算

在得到整个结构的节点位移后,由原整体刚度方程就可以计算出对应的支反力:先将上面得到的位移结果与位移边界条件的节点位移进行组合(注意位置关系),可以得到整体的位移列U(24×1)再代回原整体刚度方程,计算出所有的节点力P(24×1),接按对应关系就可以找到对应的支反力

>> U=[zeros(6,1);u([1:6]);zeros(6,1);u(7:12)]; 
>> P=KK*U
P = 1.0e+005 *
0.3372 1.3774 0.1904 -0.4202 1.2892 0.4984
-0.0000 0.0000 0.0000 -0.0000 -0.0000-0.0000
-0.4745 -1.3774 0.5604 0.5575 -1.2892 0.7509
-0.0000 -0.0000 -1.0000 -0.0000 0.0000 -1.0000

空间块体的支反力计算结果

images/《有限元分析与应用》-20240913165714579.webp

  1. 各单元的应力计算

先从整体位移列阵U(24×1)中提取出单元的位移列阵,然后,调用计算单元应力的函数 Tetrahedron3D4Node_Stress,就可以得到各个单元的应力分量。

MATLAB窗口的输入、输出情况
images/《有限元分析与应用》-20240913165832805.webp

空间块体的各个单元应力分量的计算结果
images/《有限元分析与应用》-20240913170741297.webp

典型空间问题的ANSYS分析实例

使用ansys的APDL语言处理上述问题

APDL可以实现-模型的参数化

  • 获取ANSYS数据库信息
  • 进行数学运算,包括失量及矩阵操作
  • 用if-then-else分支、do循环及用户指令生成执行一系列任务的宏

结构离散化和编号与matlab的一致

images/《有限元分析与应用》-20240913171043167.webp

APDL常用语法

  • !:注释行
  • help xx命令:命令行查询xx命令的使用
!%%%%%%%%%%[ANSYS算例]%%%%%begin%%%%
/PREP7 !进入前处理
!=====设置单元和材料
ET,1,SOLID185  !定义1号单元类型为(SOLID185)
MP,EX,1,1e10  !定义1号单元材料弹性模量EX
MP,PRXY,1,0.25  !定义1号单元材料泊松比PRXY

!-----定义8个节点
N,1,0,0,0  !节点1,坐标(0,0,0),以下类似
N,2,0.2,0,0 
N,3,0,0.8,0 
N,4,0.2,0.8,0
NGEN,2,4,1,4,1,0,0,0.6  !复制节点1~4,新复制的节点编号增量
						!为4,坐标偏移量为(0,0,0.6),面平移

!------基于节点生成单元
EN,1,1,4,2,6  !由节点1,4,2,6生成单元1,以下类似,共5个单元
EN,2,1,4,3,7 
EN,3,6,7,5,1 
EN,4,6,7,8,4 
EN,5,1,4,6,7 
FINISH


!------进入求解模块
/SOLU
F,7,FZ,-100000,,,  !在节点7处施加FZ,-100000
F,8,FZ,-100000,,,  !在节点8处施加FZ,-100000
D,1,,0,,2,,ALL,,,,,  !对节点1和2,施加固定约束
D,5,,0,,6,,ALL,,,,,  !对节点5和6,施加固定约束
SOLVE !求解
FINISH  !退出该模块


!=====进入一般的后处理模块
/POST1  !进入后处理
PLDISP,1 !计算的变形位移显示(变形前与后的对照)
PRNSOL,U,COMP  !列表给出各个节点位移值
!%%%%%%%%%%[ANSYS算例%%%%% end %%%%

启动软件Mechanical APDL,将上述APDL代码另存为.txt文件后复制,空白处界面右键——粘贴直接导入

images/《有限元分析与应用》-20240913173717288.webp

images/《有限元分析与应用》-20240913173637588.webp

所有操作可以在日志文件中查看:list——files——log file

第10讲 有限元方法中的基本性质

节点编号与储存带宽

有限元方法的基本步骤及处理流程:核心是刚度方程

images/《有限元分析与应用》-20240913174444512.webp

在进行有限元分析时,需要按单元和节点编号所对应的位置,将所形成的单元刚度矩阵装配在整体刚度矩阵中

images/《有限元分析与应用》-20240913174629870.webp
图示2D连续体第i个单元的节点位移列阵为:
q(i)=[u3v3u5v5u6v6]T

总共有8个2D节点,即整体刚度矩阵为16*\16

将上述第i个单元的单元刚度矩阵元素填充到整体刚度矩阵中相应位置去,定义第i个单元的半带宽di

  • di=(第i个单元中节点编号的最大差值+1)×2 = (6-3+1)×2=8
  • 若是3D问题,则di=(第i个单元中节点编号的最大差值+1)×3

整体刚度矩阵的最大半带宽为:di=maxi{di};(i=1,2,3,,n)

整体刚度矩阵的存储方式

  • 等带宽存储
  • 一维变带宽存储

形状函数矩阵与刚度矩阵的性质

以杆单元为例

images/《有限元分析与应用》-20240913175705255.webp

  1. 形状函数的性质

杆单元位移场:
u(x)=N1(x)u1+N2(x)u2=N(x)qe

u(x)进行考察,特殊情况1

  • 左端单位位移,右端固定时
    • u1=1,u2=0,有u(x)=N1(x)
  • 右端单位位移,左端固定时
    • u1=0,u2=1,有u(x)=N2(x)
  • 性质1:Ni表示在i点的节点位移为1,其它节点位移为0时的单元位移场函数

u(x)进行考察,特殊情况2

  • 杆单元发生刚体位移u¯0
    • u(x)=u¯0,u1=u2=u¯0。那么u¯0=N1(x)u¯0+N2(x)u¯0
    • 所以,1=N1(x)+N2(x)
  • 性质2:单元的形状函数满足i=1nNi(x)=1,其中n为单元的节点数,它表明形状函数能够描述单元的体位移
  1. 单元刚度矩阵系数的性质

单元刚度方程
images/《有限元分析与应用》-20240913180648583.webp

考虑特殊情况1:主对角线元素

  • 左端单位位移,右端固定时
    • u1=1,u2=0,有k11=p1
  • 性质1:单元刚度矩阵的对角线元素kii表示要使单元的第i个节点产生单位位移ui=1,而其它节点位移为0时,需在节点i所施加的力

考虑特殊情况2:非主对角线元素

  • 右端单位位移,左端固定时

    • u1=0,u2=1,有k12=p1
  • 性质2:单元刚度矩阵的非对角线元素kij(ii)表示要使单元的第j个节点产生单位位移uj=1,而其它节点位移为0时,需在节点所施加的力

  • 性质3:单元刚度矩阵是对称的

    • KeT=[ΩeBTDBdΩ]T=ΩeBTDBdΩ=Ke
  • 性质4:单元刚度矩阵是半正定的

    • 应变能
    • U=12qeTKeqe=12i=1nj=1nkijuiuj
    • qe为非刚体位移时,除非qe=0,否则应变能U总为正值
    • qe为刚体位移时,有qe0,而此时应变能U=0,则定有Ke=0
  • 性质5:单元刚度矩阵是奇异的,即|Ke|=0

  • 性质6:刚度矩阵的任一行(或列)代表一个平衡力系;当节点位移全部为线位移时(即为C0型问题),任一行(或列)的代数和应为零

  1. 总体刚度矩阵的性质
  • 总体刚度矩阵由单元刚度矩阵组装
    • 对称性
    • 奇异性
    • 半正定性
    • 稀疏矩阵
    • 非零元素显现带状线

边界条件的处理与支反力的计算

整体刚度方程为:Kq=P

两种类型的边界条件

  • 零位移:q¯a=0
  • 给定位移:q¯a=u¯

将位移矩阵分为已知的(绿色)和未知的(红色),对应的载荷也是已知的和未知的两部分(已知的位移与未知的载荷是互补关系)

[KaaKabKbaKbb][q¯aq¯b]=[P¯aP¯b]

  1. 直接法

针对零位移的边界条件:q¯a=0
得到:Kbbqb=P¯b
可得:qb=Kbb1P¯b

针对给定位移的边界条件:q¯a=u¯
得到:Kbaqa+Kbbqb=P¯b
可得:qb=Kbb1(P¯bKbau¯),继而求出支反力P¯a

直接法特点:

  • a)处理过程直观
  • b)待解矩阵规模变小,适合手工处理
  • c)矩阵节点编号及排序改变,不利于计算机规范化处理
  1. 置一法

主要针对零位移边界条件:q¯r=0

相应地,对于整体刚度矩阵K的第r行和第r列,以及载荷的第r个元素,使得

  • krr=1,krs=ksr=0(rs)
  • pr=0
    images/《有限元分析与应用》-20240914110759430.webp

置一法的特点

  • 置1法不应改变原界条件的真实性
    • krrq¯r=pr可知,q¯r=0
  • 只能处理q¯r=0的情形
  • 保持原矩阵的规模,不需重新排序
  • 保持总刚度阵的对称性,利于计算机的规范化处理
  1. 乘大数法

针对边界条件:q¯r=u¯

相应地,对于整体刚度矩阵K的第r行第r列的元素krr,以及载荷的第r个元素,使得

  • krr进行倍乘大数字α
  • pr=αkrru¯

images/《有限元分析与应用》-20240914111549036.webp

乘大数法的特点

  • 置1法不应改变原界条件的真实性
    • 由于α值很大(如取值max|kij|×104),可得αkrrq¯rαkrru¯可知,q¯ru¯
  • 既能处理q¯r=0的情形,又能处理q¯r=u¯的情形
  • 保持原矩阵的规模,不需重新排序
  • 保持总刚度阵的对称性,利于计算机的规范化处理
  1. 罚函数法

针对边界条件:u1=u¯1
沿着u1方向用大刚度C的弹簧模拟支撑
images/《有限元分析与应用》-20240914112317595.webp

其应变能为:Us=12C(u1u¯1)2
系统总势能:Π=12qTKq+12C(u1u¯1)2PTq

Π/ui=0(i=1,2,,n)可得刚度方程并展开第一行,有

(k11+C)u1+k12u2++k1nun=R1+Cu¯1

如果C值足够大(一般C=max|kij|×104),则有u1u¯1

继而可求得支反力R1=C(uu¯1)

罚函数法的最大好处就是可以直接求出位移边界上的支反力

位移函数构造与收敛性要求

收敛性

  • 当节点数或单元插值位移的项数趋于无穷大时,即当单元尺寸趋近于零时,最后的解答如果能够无限地逼近准确解

images/《有限元分析与应用》-20240914113508994.webp

  • 曲线1:收敛于真实解
  • 曲线2:收敛于真实解,收敛速度比曲线1慢
  • 曲线3:不收敛于真实解
  • 曲线4:非单调收敛,不构成真实解的上界或下界
  • 曲线5:发散

收敛性的保证

  • 单元的内部的收敛:当单元尺寸趋近于零时,使得系统单元的势能至少要存在

    • 位移函数本身应在单元上连续,还要包括至少使得位移函数及对应于应变都为常数的项,即常位移项和常应变项
      images/《有限元分析与应用》-20240914113906933.webp
  • 单元之间的连接的收敛:位移函数在单元之间应该保证足够的连续,使得“应变”的计算能够存在。

收敛性准则

  1. 针对单元内部:常位移项和常应变项

    • 准则1完备性要求:如果在势能泛函中所出现位移函数的最高阶导数是m阶,则有限元解答收敛的条件之一是单元内的位移场函数的试函数至少是m阶完全多项式。
  2. 针对单元之间:保证足够的连续,使得“应变”的计算能够存在

    • 准则2协调性要求:如果在势能泛函中位移函数出现的最高阶导数是m阶,则位移试函数在单元交界面上必须具有直至m1阶的连续导数,即Cm1连续性

讨论1:平面问题中,势能函数为

=UW=12ΩσijϵijdΩ[Ωb¯iuidΩ+Spp¯iuidA]

ϵij=12(ui,j+uj,i),关于位移的最高阶导数为1,故m=1

由准则1,形状函数至少应包含完整的一次多项式,即偏导后可以得到常位移项和常应变项

{u(x,y)=a0+a1x+a2yv(x,y)=b0+b1x+b2y

由准则2,位移函数要求C0连续,即要求函数本身连续,即仅采用节点位移(ui,vi)进行插值后,就可以使得“应变”的计算能够存在。

讨论2:平面梁的弯曲问题中,势能函数为

=UW=12lEIz(d2vdx2)2lp¯(x)v(x)dx

(d2vdx2)2,关于位移的最高阶导数m=2

由准则1,形状函数至少应包含完整的一次多项式,即偏导后可以得到常位移项和常应变项

v(x)=a0+a1x+a2x2

由准则2,位移函数为C1连续,即在单元之间的位移函数至少要求一阶导数连续,即必须采用节点位移及节点转角(vi,θi)进行插值后,才可以使得“应变”的计算能够存在。

images/《有限元分析与应用》-20240914135611748.webp

因此,基于两个节点的(vi,θi),梁单元的插值函数为

v(x)=a0+a1x+a2x2+a3x3

可以使得ϵ=yd2vdx2的计算存在

常用单元中,能够保证常位移项和常应变项的多项式

  • 常轴力杆单元:1,x
  • 平面单元:1,x,y
  • 空间单元:1,x,y,z
  • 平面梁单元:1,x,x2
  • 平板弯曲单元:1,x,y,x2,xy,y2

单元的位移模式——多项式的选取应考虑:

  • (1)唯一确定性:待定系数个数应与节点位移的DOF数相等,选择多项式应从低阶到高阶,尽量选取完全多项式以提高单元的精度
  • (2)收敛性准则1(单元内部的完备性):多项式必须要选择常数项和完备的一次项
  • (3)收敛性准则2(单元之间的协调性):对于C0型单元都可以保证,对于C1型单元较难保证

可参考由多项式函数构成的 Pasca三角形和上述原则进行函数项次的选取和构造

images/《有限元分析与应用》-20240914140402812.webp

C0单元与C1单元

C0型单元的续性
C0型单元是指势能函中位移函数出现的最高阶导数是1阶,在单元交界面上具有0阶的连续实导数即节点上只要求位移连续。一般的杆单元、平面问题单元、空间问题单元都是C0型单元

C1型单元的连续性
C1型单元是指在势能泛函中位移函数出现的最高阶导数是2阶,在单元交界面上具有1阶的连续导数,即节点上除要求位移连续外,还要求1阶导数连续。梁单元、板单元、壳单元都是C1型单元

单元的拼片试验

  1. 单元的协调性
  • 单元位移函数满足完备性要求→称单元是完备的
  • 单元位移函数满足协调性要求→称单元是协调的
  • 单元既完备又协调→称单元为协调单元

协调单元的尺寸趋于零时,有限元分析的解答趋于真实解

非协调单元

某些情况下,可以放松对协调性的要求,只要单元能通过拼片试验,有限元分析的解答仍可以收敛于正确解。这种单元称为非协调元

对非协调元,考察其收敛性就是考察其具有常应变的能力。因此,可设计一种数值试验,当对单元片中各节点赋予对应于常应变状态的载荷和位移

节点i被单元完全包围,节点i的平衡方程为

images/《有限元分析与应用》-20240914145506600.webp

e=1m(KijeujPie)=0

如果能满足,则说明单元能满足常应变要求,当单元尺寸不断减小时,有限元解趋近于真实解

  1. 拼片试验

以平面问题中的单元为例,由于对应于常应变的位移是线性位移,即令节点位移为

{uj(x,y)=a0+a1xj+a2yjvj(x,y)=b0+b1xj+b2yj(2)

i点无体积力,无外载荷,则拼片试验的方程为

e=1mKijeuj=0(3)

通过拼片试验的前提是:当赋予各节点以(2)式的位移时,(3)式应该成立

若(3)式不能成立,说明当单元片中各节点具有对应于常应变状态的位移时,节点i不能保持平衡。则在单元交界面上位移不协调会引起附加应变能

有限元分析数值解的精度与性质

1、求解精度的估计

平面问题为例,单元位移场可展开为

u=ui+(ux)iΔx+(uy)iΔy+

  • 如果单元尺寸为h,则上式中的Δx,Δyh量级
  • 如果单元位移函数采用p阶完全多项式,那么位移解的误差量级O(hp+1)
  • 如果应变是位移的m阶导数给出的,则应变误差量级O(h(p+1m))
  • 而应变能是应变的平方项表示的,其误差量级为O(h2(p+1m))

2、有限元分析结果的下限性质

对象的总势能:Π=UW=12qTKqPTq

基于最小势能原理,δΠ=0,可知刚度方程为Kq=P

平衡时系统的弹性势能,代入刚度方程可知

Π=12qTKqPTq=12qTKq=U=W2

最小势能原理的性质:ΠapproxΠexact,即UapproxUexact

对应于精确解的刚度矩阵及节点位移

Kapproxqapprox=P

对应于近似解的刚度矩阵及节点位移

Kexactqexact=P

同一个载荷下,12qapproxTKapproxqapprox12qexactTKexactqexact

于是,qapproxTPqexactTP

故,|qapprox||qexact|

可见,近似解的位移qapprox总体上比精确的位移qexact要小,也就是说近似解具有下限性质

有限元模型的性化
有限元方法用有限个自由度近似描述原具有无究穷多个自由度的系统,刚度会增加,系统变得更刚硬,即刚度矩阵总体数值变大。

images/《有限元分析与应用》-20240914153134327.webp

单元应力计算结果的误差与平均处理

1、应力结果的误差性质

近似解可表达为,精确解+误差,即

u^=utrue+δuϵ^=ϵtrue+δϵσ^=σtrue+δσ}

定义应变误差泛函,数学含义:应变差值在加权矩阵作用下的最小二乘

(ϵ^,ϵtrue)=12Ω(ϵ^ϵtrue)TD(ϵ^ϵtrue)dΩ
=e=1nΩe12(ϵ^ϵtrue)TD(ϵ^ϵtrue)dΩ

同理,应变误差泛函

(σ^,σtrue)=e=1nΩe12(σ^σtrue)TD1(σ^σtrue)dΩ

其中,D为加权矩阵

2、Gauss积分点上的应力精度

images/《有限元分析与应用》-20240914154518230.webp

在GauSs积分点上,应力(应变)的近似解将具有比其他位置高得多的精度。具体对于一个等参元,若采用r+1个高斯积分点:则高斯积分点上的应变或应力近以解比其它位置的结果具有较高的精度,称该r+1个高斯积分点是等参元中的最佳应力点。

3、共用节点上应力的平均处理

1.共用节点上应力的直接平均

σ¯kl(i)=1re=1rσkle(i)

式中σkle(i)为共用节点让上的平均应力,1r为围绕该共用节点周围的全部单元。

2.共用节点上应力的加权平均

由于围绕共用节点周围的客个单元的形状和大小都不一定相同,一种更合理的处理方法是进行加权平均,如果按单元的面积或体积进行加权,则有以下计算公式

σ¯kl(i)=e=1rηeσkle(i)

  • 对于2D情形,ηe=Aee=1rAe
  • 对于3D情形,ηe=Ωee=1rΩe

以上的处理只是计算结果后处理的一种局部改善,并不能从根本上解决节点应力(应变)精度差的问题

控制误差和提高精度的h方法和p方法

1、h方法:High density

  • 不改变各单元上基底函数的配置情况,只通过逐步加密有限元网格来使结果向正确解逼近,此即h方法,也称h-version

images/《有限元分析与应用》-20240914155722992.webp

该方法可达到一般的工程精度,但由于不采用高阶多项式作基底函数,因而数值稳定性和可靠性都较好,但收敛速度较慢,效率较低

2、p方法:polynomial

  • 不改变网格划分情况,只通过增加单元基底函数阶次来使结果向正确解逼近,此即p方法,也称p-version

images/《有限元分析与应用》-20240914155859005.webp

大量实践表明,p方法的收敛性大大优于h方法。由于p方法使用高阶多项式作基底函数会出现数值稳定性问题

  • 多项式的最高阶次:p < 9

3、自适应方法

  • 自适应方法运用反馈原理,利用上一步的计算结果来修改有限元模型,其计算量较小,计算精度却得到显著提高

自适应方法选取

  • 基于h方法
  • 基于p方法
  • 基于h-p方法

确定最优网络:对于给定的自由度总数N=N0

min{L(h,p,λ)=Πerror(h,p)λ(Ωn(h,p)dΩN0)}

  • h:单元特质尺寸
  • p:多项式阶次
  • λ(Ωn(h,p)dΩN0):采用Lagrange乘子法

自适应方法流程:

  1. 事前误差估计
  2. 初始数值模拟
  3. 误差分析及估计
  4. 选择 h,p
  5. 改进方案:采用高精度的数值分析方法
  6. 方程的求解
  7. 事后误差估计,是否满足精度要求
    1. No,回到步骤3
    2. Yes,继续执行8
  8. 获得满意的结果

images/《有限元分析与应用》-20240914161114431.webp

第11讲 高阶及复杂单元

1D 高阶单元

1、自然坐标(1D)

images/《有限元分析与应用》-20240914161423942.webp

定义,L1=l1/l,L2=l2/l,L1+L2=1,P点坐标为(L1,L2)

2、一次杆单元(基于自然坐标)

images/《有限元分析与应用》-20240914161640259.webp

节点位移列阵:qe=[u1,u2]T
单元位移模式:
u(x)=a1+a2x=a1L1+a2L2=N1u1+N2u2=N(L1,L2)qe

形状函数表达(x坐标):N=[N1,N2],N1=1x/l,N2=x/l
形状函数表达(自然坐标):N=[N1,N2],N1=L1,N2=L2

3、二次杆单元

3个节点

images/《有限元分析与应用》-20240914162508089.webp

节点位移列阵:qe=[u1,u2,u3]T
单元位移模式:
u(x)=a1+a2x+a3x2=a1L1+a2L2+a3L1L2
=N1u1+N2u2+N3u3=N(L1,L2)qe

形状函数表达(x坐标):N=[N1,N2,N3],
N1=(12xl)(1xl),N2=4xl(12xl),N3=xl(12xl)
形状函数表达(自然坐标):N=[N1,N2,N3],
N1=L1(2L11),N2=4L1L2,N3=L2(2L21)

4、三次杆单元

4个节点

images/《有限元分析与应用》-20240914162949466.webp

节点位移列阵:qe=[u1,u2,u3,u4]T
单元位移模式:
u(x)=a1+a2x+a3x2+a4x4=a1L1+a2L2+a3L1L2+a4L12L2
=N1u1+N2u2+N3u3+N4u4=N(L1,L2)qe

形状函数表达(x坐标):N=[N1,N2,N3,N4],
N1=(13xl)(13x2l)(1xl)
N2=9xl(13x2l)(1xl)
N3=9x2l(13xl)(1xl)
N4=xl(13xl)(13x2l)
形状函数表达(自然坐标):N=[N1,N2,N3,N4],
N1=L1(192L1L2)
N2=92L1L2(13L1)
N3=9L1L2(132L1)
N4=L2(192L1L2)

5、一般高阶杆单元

具有n个节点的1D杆单元

u(x)=i=1nNiui

根据形状函数的性质:

  • Ni(xj)=δij
  • i=1nNi=1
  • 使用Lagrange插值公式,Ni=li(n1)(ξ)=Πj=1,jinξξjξiξj,ξ=xxil

6、Hermite单元(一般高阶C1型单元)

Hermite多项式进行函数插值,2节点梁单元(要求C1连续)

images/《有限元分析与应用》-20240914164601902.webp

images/《有限元分析与应用》-20240914164702707.webp

2D 高阶单元

1、自然坐标(2D)

images/《有限元分析与应用》-20240914164750248.webp

定义面积坐标,Li=Ai/A,Lj=Aj/A,Lm=Am/A,Li+Lj+Lm=1,P点坐标为(Li,Lj,Lm)

2、平面3节点三角形单元(基于自然坐标)

images/《有限元分析与应用》-20240914165112711.webp

节点位移列阵:qe=[u1,v1,u2,v2,u3,v3]T
单元位移模式:
u(x,y)=a¯0+a¯1x+a¯2y
=a¯0L1+a¯1L2+a¯2L3
=N1u1+N2u2+N3u3
=N(L1,L2,L3)qe

形状函数表达(自然坐标):N=[N1,N2,N3],N1=L1,N2=L2,N3=L3

v(x,y)位移模式同理

3、6节点三角形二次单元

images/《有限元分析与应用》-20240914165516898.webp

节点位移列阵:qe=[u1,v1,,u6,v6]T
单元位移模式:
u(x,y)=a1+a2x+a3y+a4x2+a5xy+a6y2
=a1L1+a2L2+a3L3+a4L1L2+a5L2L3+a6L3L1
=N1u1+N2u2+N3u3++N6u6
=N(L1,L2,N6)qe

形状函数表达(自然坐标)
N1=L1(2L11)
N2=L2(2L21)
N3=L3(2L31)
N4=4L1L2
N5=4L2L3
N6=4L3L1

v(x,y)位移模式同理

4、10节点三角形三次单元

images/《有限元分析与应用》-20240914170358462.webp

节点位移列阵:qe=[u1,v1,,u10,v10]T
单元位移模式:
u(x,y)=a1+a2x+a3y+a4x2+a5xy+a6y2+a7x3+a8x2y+a9xy2+a10y3
=a1L1+a2L2+a3L3+a4L1L2+a5L2L3+a6L3L1+a7L12L2+a8L22L3+a9L32L1+a10L1L2L3
=N1u1+N2u2+N3u3++N10u10
=N(L1,L2,N10)qe

形状函数表达(自然坐标)
Ni=Li2313Li1323Li1,(i=1,2,3)
N10=3L13L23L3=27L1L2L3

N4=92L1L2(3L11)
N5=92L1L2(3L21)
N6=92L2L3(3L21)
N7=92L2L3(3L31)
N8=92L1L3(3L31)
N9=92L1L3(3L11)

v(x,y)位移模式同理

5、基于Lagrange插值的矩形单元

具有(r+1)列和(p+1)行节点的矩形单元

images/《有限元分析与应用》-20240914171415965.webp

单元位移模式

u(ξ,η)=a1+a2ξ+a3η++aiξrηp

ξ方向的(r+1)列节点中,构造一个插值函数在第I个节点上等于1,而在其他节点上等于0,则该函数为

lI(r)(ξ)=Πj=0rξξjξIξj

同理在η方向也可以得到插值函数

lJ(p)(η)=Πj=0pηηjηJηj

对以上两个方向的Lagrange多项式进行乘积运算可得到节点i(I,J)的插值函数Ni

Ni=lI(r)(ξ)lJ(p)(η),满足Ni(xj)=δij

该单元在每一边界上的节点数和插值函数在边界上的变化是协调的这也保证了单元之间函数的协调性

images/《有限元分析与应用》-20240914172410378.webp

对于线性、二次和三次函数变化的Lagrange单元

  • 随着函数插值阶次的增高,必然要增加内部节点,但这些节点自由度的增加一般不能显著提高单元的精度

Lagrange矩形单元中的多项式

  • 完全多项式:利于提高单元的精度
  • 非完全多项式:对于提高单元的精度作用不大

主要取边节点的Serendipit单元在实际应用中得到比Lagrange单元更广泛

6、Serendipity矩形单元:尽可能在边界上取节点的高阶单元

images/《有限元分析与应用》-20240914172723171.webp

第1步 假定只有4个角节点此时的形状函数为

Ni=14(1+ξiξ)(1+ηiη),(i=1,2,3,4)

第2步 在1-2边中点增加节点5构造节点5的形状函数为

N5=12(1ξ2)(1η)

此时的位移场函数为

u(x,y)=N1u1+N2u2+N3u3+N4u4+N5u5

images/《有限元分析与应用》-20240914173158163.webp

第3步增加其他边的内节点6,7,8,进行类似补偿计算,可得

N1=N112N512N8
N2=N212N512N6
N3=N312N612N7
N4=N412N712N8

N5=12(1ξ2)(1η)
N6=12(1+ξ)(1η2)
N7=12(1ξ2)(1+η)
N5=12(1ξ)(1η2)

这些函数满足, Ni(Pj)=δiji=1nNi=1

6、Serendipity矩形单元

images/《有限元分析与应用》-20240914173758083.webp

三次Serendipity单元与三次Lagrange矩形单元的函数项次比较

images/《有限元分析与应用》-20240914173733699.webp

Serendipity单元中对于完全多项式以外的高次项使用得较少。这使得当节点数一定时 Serendipity单元的精度较高。

3D 高阶单元

1、10节点四面体二次单元

images/《有限元分析与应用》-20240914173844551.webp

节点位移列阵:qe=[u1,v1,w1,,u10,v10,w10]T
单元位移模式:对3D问题,由Pascal三角形可知,一个完备的二次函数有10项。由此,构造具有10个节点的四面体,包含4个角节点、6个分布在6条棱边上的中点

u(x,y,z)=a1+a2x+a3y+a4z+a5xy
+a6yz+a7xz+a8x2+a9y2+a10z2

基于自然坐标(体积坐标)的形状函数

Ni=(2Li1)Li,(i=1,2,3,4)
N5=4L1L2
N6=4L2L3
N7=4L1L3
N8=4L1L4
N9=4L2L4
N10=4L3L4

2、20节点四面体三次单元

images/《有限元分析与应用》-20240914174410910.webp

节点位移列阵:qe=[u1,v1,w1,,u20,v20,w20]T
单元位移模式:对3D问题,由Pasca三角形可知,一个完备的三次函数有20项。由此,构造具有20个节点的四面体,包含4个角节点、12个分布在6条棱边上的三等分节点、4个面心节点

u(x,y,z)=a1+a2x+a3y+a4z+a5xy
+a6yz+a7xz+a8x2+a9y2+a10z2
+a11x3+a12y3+a13z3+a14x2y+a15xy2+a16y2z
+a17yzx2+a18x2z+a19xz2+a20xyz

基于自然坐标(体积坐标)的形状函数

角节点
Ni=12Li(3Li1)(3Li2),(i=1,2,3,4)

棱边上的三等分点
N5=92L1L2(3L11)
N6=92L1L2(3L21)
N7=92L2L3(3L21)
N8=92L2L3(3L31)
N9=92L1L3(3L31)
N10=92L1L3(3L11)
……

面心节点
N17=27L1L2L4
N18=27L2L3L4
N19=27L1L3L4
N20=27L1L2L3

3、Lagrange正六面体高阶单元

与构造2D问题Lagrange矩形单元的插值函数类似,该单元的插值函数直接由三入坐标方向的Lagrange插值多项式的乘积来获得。

images/《有限元分析与应用》-20240914175625252.webp

单元位移模式

u(ξ,η,ζ)=a1+a2ξ+a3η+a4ζ++aiξmηnζp

单元的形状函数

Ni=lI(m)(ξ)lJ(n)(η)lK(p)(ζ),满足Ni(xj)=δij

其中m,n,p分别代表每一坐标方向的节点划分数减1,也即为每一坐标方向Lagrange多项式的次数I,J,K表示节点i在每一坐标方向的行列式号。

4、Serendipity正六面体单元

与构造Serendipity矩形单元的形状函数类似,同样可以构造出各种节点的 Serendipity正六面体单元

images/《有限元分析与应用》-20240914180205069.webp

images/《有限元分析与应用》-20240914180218022.webp

images/《有限元分析与应用》-20240914180226519.webp

images/《有限元分析与应用》-20240914180242864.webp

基于薄板理论的弯曲板单元

images/《有限元分析与应用》-20240914180357117.webp

1、基本变量与方程

  • 板壳结构中的几特点是其厚度远小于其他两方向的尺寸
  • 引入一定假设对厚度方向的受力特点进行简化,这些简化假设叫做Kirchhoff假定
  • 由于薄板中要保持转角的连续,可以承受弯矩,因而薄板问题是C1问题

Kirchhoff假定

  • 薄板中面法线变形后仍为直法线,具厚度方向正应变很小,有
    • γzx=0,γzy=0,ϵz=0
  • 假设薄板中面无横向位移,则会导出
    • u(x,y,z=0)=0,v(x,y,z=0)=0
    • 进一步得到,u(x,y,z)=zwx,v(x,y,z)=zwy
  • 应力σzz引起的形变很小,可以忽略

images/《有限元分析与应用》-20240914181024893.webp

三大类变量

位移:w(x,y)=w(x,y,z=0),u(x,y,z)=zwx,v(x,y,z)=zwy
应变:ϵx=z2wx2,ϵy=z2wy2,γxy=2z2wxy
应力:σx=12Myh3z,σy=12Mxh3z,τxy=12Mxyh3z

三大类方程

  • 平衡方程

D0(4wx4+24wx2y2+4wy4)=p¯(x,y)
或者,4Mxx2+22Mxyxy+2Myy2)+p¯(x,y)=0
其中,D0=Eh312(1μ2)为板弯曲刚度

  • 物理方程

{σx=E1μ2(ϵx+μϵy)σy=E1μ2(ϵy+μϵx)τxy=E2(1+μ)γxy)

或者,M=D~κ
其中,广义力M=[MxMyMxy]T

位移κ=[ϵxϵyγxy]T
弹性系数矩阵D~=E12(1μ2)[1μ0μ10001μ2]=D0[1μ0μ10001μ2]

  • 几何方程

参见应变表达式ϵx=z2wx2,ϵy=z2wy2,γxy=2z2wxy

边界条件

  • 位移和转角边界条件

w=w¯wn=θ¯}onS1

其中,w¯,θ¯为给定的挠度和转角,n为边界法线方向

  • 位移和力矩边界条件

w=w¯Mn=M¯n}onS2

其中,w¯,M¯n为给定的挠度和力矩,n为边界法线方向

  • 位移和集中剪力边界条件

Mn=M¯nQn+Mnmm=Q¯n}onS3

其中,M¯n,Q¯n为给定的力矩和横向载荷,n为边界法线方向,m为边界切向,Qn为边界界面上单位长度的横向剪力

总势能为
Π=(12κTD~κp¯w)dxdyS3Q¯nwdsS1+S2M¯nwnds

2、4节点矩形非协调薄板单元

节点位移列阵,qe=[q1Tq2Tq3Tq4T]T

每个节点的自由度
qi=[wiwiywix]T=[wiθxiθyi]T,(i=1,2,3,4)

其中,θxi,θyi分别为绕x轴和y轴的转角

单元位移模式,使用多项式插值(使之满足完备性要求)

w(x,y)=a1+a2x+a3y+a4x2+a5xy+a6y2
+a7x3+a8x2y+a9xy2+a10y3+a11x3y+a12xy3

单元交界面上w是连续的,但单元之间的法向导数连续性一般不能满足,所以这种单元是非协调的。但由于这种单元能通过拼片实验,所以当单元网格不断缩小时,计算结果还是可以收敛于精确解的。

3、3节点三角形非协调薄板单元

images/《有限元分析与应用》-20240918134845150.webp

images/《有限元分析与应用》-20240918134957585.webp

images/《有限元分析与应用》-20240918135032309.webp

4、常用弯曲薄板单元一览

4节点矩形薄板单元
images/《有限元分析与应用》-20240918135129001.webp

3节点三角形薄板单元
images/《有限元分析与应用》-20240918135251838.webp

子结构与超级单元

结构的重复性

  • 几何空间上:采用子结构
  • 计算时间上:采用超级单元

1、子结构:系统中具有相同特征和性质的局部结构

images/《有限元分析与应用》-20240918135511545.webp

子结构划分及应用的方法

  • (1)取具有重复性的结构作为子结构(可以有多级子结构)

  • (2)对最底层子结构进行分析,形成刚度方程并缩聚

    设第k级子结构刚度方程为

    images/《有限元分析与应用》-20240918135646502.webp

    进行缩聚处理
    images/《有限元分析与应用》-20240918135711513.webp

  • (3)将子结构进行拼装形成上一级子结构

  • (4)对多级子结构全部处理后,得最终的整体刚度方程,求

  • (5)将结果回代,再求各级子结构内部的节点位移和其它物理量

2、超级单元

主要用于多次的迭代计算(时间历程)

  • 超级单元:一种广义的特定单元,是一个经缩聚内部节点自由度后的子结构,它只有与外部有连接关系的节点位移自由度
  • 目的:减小计算量,特别是在需要多次选代的复杂计算中有明显优越性
  • 效果:大大减小每次生成刚度矩阵的计算量,同时也减小了计算规模,获得较高的计算效率

images/《有限元分析与应用》-20240918140012726.webp

使用刚度方程描述

images/《有限元分析与应用》-20240918140041370.webp

对从节点的节点位移qs进行缩聚

images/《有限元分析与应用》-20240918140140555.webp

方程(9)就代表该超级单元的单元刚度方程,K~就是该超级单元的刚度矩阵, Q~为超级单元的外载节点列阵

第12讲 有限元分析的应用领域引论(1)

结构振动的有限元分析:基本原理

1、结构振动问题的概述

任何变形体都存在的固有频率和振动模态,当有外界的激振作用时,会产生一系列的响应,除结构的静力分析外,结构的振动分析也是结构评价的另一个重要方面,对结构的工作状态及功能控制具有重要意义。

2、结构振动问题的基本变量

三大变量(均为坐标位置ξ(x,y,z)和时间t的函数)

2D问题

  • 位移ui(ξ,t)位移u(ξ,t),v(ξ,t)
  • 应变ϵij(ξ,t)应变ϵx(ξ,t),ϵy(ξ,t),γxy(ξ,t)
  • 应力σij(ξ,t)应力σx(ξ,t),σy(ξ,t),τxy(ξ,t)

images/《有限元分析与应用》-20240918140957140.webp

3、结构振动问题的基本方程

(1)平衡方程

微小体元dxdydz在动力学状态下的平衡关系,由D' Alembert原理

σij,j(t)b¯i(t)ρu¨i(t)vu˙i(t)=0

其中ρ为密度,v为阻尼系数,b¯i(t)为所作用的体积力,u¨i(t),u˙i(t)分别为ui(t)对时间t的二次导数和一次导数,即表示i方向的加速度和速度

(2)几何方程

ϵij(t)=12(ui,j(t)+uj,i(t))

(3)物理方程

σij(t)=Dijklϵkl(t)

(3)边界条件

ui(t)=u¯i(t)OnSu,位移边界条件BC(u)
σij(t)nj=p¯i(t)OnSp,力边界条件BC(p)

特别的,初始条件IC(initial condition)
ui(ξ,t=0)=u¯i(ξ)
u˙i(ξ,t=0)=u¯˙i(ξ)

4、结构振动问题的虚功原理

在引入惯性力和阻尼力的基础上,写出平衡方程及力边界条件的等效积分形式

δΠ=Ω[σij,jρu¨ivu˙i+b¯i]δuidΩ+Sp[σijnjp¯i]δuidA=0

对上述方程右端的第一项进行分部积分(应用Gauss-Green公式),有

images/《有限元分析与应用》-20240918144234375.webp

这就是动力学问题的虚位移方程(虚功方程)

5、结构振动问题的有限元分析列式

单元的节点位移矩阵:qte(t)=[u1(t)v1(t)w1(t)un(t)vn(t)wn(t)]T

单元内的位移插值函数:ue(ξ,t)=N(ξ)qte(t)

应变、应力、速度、加速度由节点位移矩阵表示为

ϵe(ξ,t)=[]ue=[]N(ξ)qte(t)=B(ξ)qte(t)
σe(ξ,t)=Dϵe=DB(ξ)qte(t)=S(ξ)qte(t)
u˙e(ξ,t)=N(ξ)q˙te(t)
u¨e(ξ,t)=N(ξ)q¨te(t)

将相关物理量代入前面的虚功方程

images/《有限元分析与应用》-20240918145336096.webp

节点位移微元δqte(t)具有任意性,故

Meq¨te(t)+Ceq˙te(t)+Keqte(t)=Pte(t)

其中,
单元的质量矩阵Me=ΩeρNTNdΩ
单元的阻尼矩阵Ce=ΩevNTNdΩ
单元的刚度矩阵Ke=ΩeBTDBdΩ
Pte=ΩeNTb¯dΩ+SpNTp¯dA

进行单元的装配,得到结构振动总刚度方程

Mq¨t+Cq˙t+Kqt=Pt

6、结构振动问题的讨论

(1)静力学情形(static case)与时间无关,退化为Kq=P

(2)无阻尼情形(undamped case),v=0,退化为Mq¨t+Kqt=Pt

(3)无阻尼自由振动(free vibration of undamped system),自由振动
v=0,Pt=0,退化为Mq¨t+Kqt=0
解的形式为简谐振动,w为常数
qt=q~teiwt
有非零解,特征方程|Kω2M|=0

  • 特征值λ=ω2
  • 自然圆频率(rad/s)ω
  • 自然频率frq=ω2π
  • 特征向量q~对应振动频率ω的振型

7、结构振动问题中的质量矩阵

Meq¨te(t)+Ceq˙te(t)+Keqte(t)=Pte(t)

  • 一致质量矩阵
    直接由形状函数矩阵推导质量矩阵,“一致”:这里用的形状函数与推导刚度矩阵所用的形状函数是一致的,其中各系数之间存在耦合
  • 集中质量矩阵
    将质量集中到节点上,“集中”:系数都集中在矩阵对角线上,各个系数相互独立、解耦,便于求解

杆单元的质量矩阵

images/《有限元分析与应用》-20240918151607312.webp

梁单元的质量矩阵

质量矩阵类型 梁单元的质量矩阵 平面三节点三角形单元 平面四节点四角形单元

images/《有限元分析与应用》-20240918151634670.webp

结构振动的有限元分析实例

一个阶梯杆结构的轴向自由振动分析

images/《有限元分析与应用》-20240918151828837.webp
进行轴向自由振动频率和模态分析

  • 弹性模量:E
  • 密度:ρ
  • 横截面积关系:A(1)=2A(2)=2A

1、单元离散

离散方式:自然离散

单元编号

images/《有限元分析与应用》-20240918152039084.webp

images/《有限元分析与应用》-20240918152049504.webp

代入总体的自由振动方程(w为自然圆频率)

images/《有限元分析与应用》-20240918152136033.webp

自由振动的特征方程

|Kω2M|=0

images/《有限元分析与应用》-20240918152223042.webp

λ2=ρL2ω224E,得到

18λ2(12λ2)(λ22)=0

images/《有限元分析与应用》-20240918152451126.webp

images/《有限元分析与应用》-20240918152514123.webp

振型q^1,q^2,q^3关于质量矩阵M正交,即

q^iTMq^j={aii=j0ij

弹塑性问题的有限元分析:基本原理

1、弹塑性问题的概述
弹塑性问题(elastic-plasticity problem)是指变形体的力学行为呈现出超出弹性极限后的塑性行为。

在大多数情况下,人们在进行结构设计时一般都以材料的弹性极限作为依据,还考虑有一定的安全系数,也就是说,处于工作状态中的材料应该处于弹性范围。

2、弹塑性问题的物理方程

研究弹塑性问题(elastic-plastic problem)的关键在于物理方程的处理
材料弹塑性行为实验(单向拉伸或压缩)的特征

images/《有限元分析与应用》-20240918155337001.webp

  1. 初始屈服条件,即屈服准则
  2. 材料屈服后,塑性应变增长的规律,即流动法则
  3. 新的屈服极限,即强化准则

(1)屈服准则——确定材料产生屈服时的临界应力状态(3D)
大量的实验表明:多数材料的塑性屈服(plastic yielding)与静水压力无关
可以利用等倾八面体

images/《有限元分析与应用》-20240918155539541.webp

images/《有限元分析与应用》-20240918155612794.webp

定义等效应力
images/《有限元分析与应用》-20240918155651969.webp

初始屈服条件
images/《有限元分析与应用》-20240918155724766.webp

定义屈服函数
images/《有限元分析与应用》-20240918155743905.webp

(2)塑性流动准则——确定塑性应变分量在塑性变化时的大小、方向

images/《有限元分析与应用》-20240918160033479.webp

塑性状态的后继行为判断
images/《有限元分析与应用》-20240918160005748.webp

(3)强化准则——描述屈服面如改变,确定新的屈服面状态

  • 等向强化(isotropic hardening)模型
  • 随动强化(kinematic hardening)模型
  • 混合强化(非等向)(anisotropic hardening)模型

images/《有限元分析与应用》-20240918160215039.webp

在发生塑性强化的情况下,材料的临界屈服应力将随看塑性应变的积累而发生变化

images/《有限元分析与应用》-20240918160241455.webp

材料塑性行为的几种典型的模型

  • a.双线性随动强化(bilinear kinematic)
  • b.多线性随动强化(multilinear kinematic)
  • c.双线性等向强化(bilinear isotropic)
  • d.多线性等向强化(multilinear isotropic)
  • e.非等向强化(Anisotropic)
  • f.Drucker-Prager模型

images/《有限元分析与应用》-20240918160437375.webp

  • 基于全量理论的有限元分析列式
    假设:整个加载过程为比例加载(proportionally loading),其结果只与状态有关,与加载过程无关

images/《有限元分析与应用》-20240918160613439.webp

  • 基于增量理论的有限元分析列式
    增量理论考虑真实的加载过程,即变形结果与加载历史有关

images/《有限元分析与应用》-20240918160741671.webp

images/《有限元分析与应用》-20240918160806926.webp

images/《有限元分析与应用》-20240918160853401.webp

弹塑性问题的有限元分析:非线性问题求解

1、非线性方程求解的Newton-Raphson(N-R)选代法

有限元列式——非线性方程组:Kep(q)Δq=ΔP

非线性方程组求解

  • 直接选代法
  • Newton-Raphson(N-R)迭代法
  • 改进的N-R迭代法

Newton-Raphson(N-R)迭代法

  • 思想:分步逼近计算
  • 主要步骤:将总载荷分成一系列载荷段,在每一载荷段内进行非线性方程的迭代
  • 特点:在迭代中非线性方程变为线性方程

1.将总载荷分为一系列载荷段

images/《有限元分析与应用》-20240918161436101.webp

P=P(1)+P(2)+P(3)++P(n)

  1. 多步迭代

在载荷段(P(k),P(k+1))内保证收敛,再进入下一个载荷段

k个载荷步,第i次迭代

KTep(qi(k))Δqi(k)=ΔPi(k)

其中,
KTep(qi(k))为弹塑性切线的刚度矩阵,对应Kτep(q)
ΔPi(k)=Pi+1(k)Pi(k)

解出Δqi(k)

载荷段内迭代到收敛
images/《有限元分析与应用》-20240918162417139.webp

  1. 所有载荷段:循环迭代,累加结果

images/《有限元分析与应用》-20240918162509112.webp

2、修正的Newton-Raphson(N-R)迭代法

  • 常规的N-R迭代:需要每次重新形成切线刚度矩阵并求逆,计算量很大
  • 改进的N-R迭代:始终采用初始的切线刚度矩阵,保持不变大大减少计算量

images/《有限元分析与应用》-20240918162637987.webp

第13讲 有限元分析的应用领域引论(2)

传热问题的有限元分析:基本原理

1、传热问题的概述
传热(heat transfer)是日常生活和工程实际中广泛存在的自然现象

images/《有限元分析与应用》-20240918162721805.webp

进行热题的分析一般包括两部分内容:

  • 1、通过传热分析来确定温度场
  • 2、在获得温度场的基础上,计算所产生的热应力

2、传热问题的控制方程

  • Fourier传热定律
  • 能量守恒定律

物体的瞬态温度场T(x,y,z,t)

x(κxTx)+y(κyTy)+z(κzTz)+ρQ=ρcTTt

  • ρ为材料密度,单位kg/m3
  • cT为材料的比热单位J/(kgK)
  • κx,κy,κz分别为沿x,y,z方向的热传导系数,单位W/(mK)
  • Q(x,y,z,t)为物体内部的热源强度,单位W/kg

3、传热问题的三类边界条件

第一类BC(S1),Dirichlet条件,给定温度分布
T(x,y,z,t)=T¯(t)OnS1
T¯(t)为在边界S1上给定的温度

第二类BC(S2),给定热流密度的Neumann条件
κxTxnx+κyTyny+κzTznz=q¯fOnS2
nx,ny,nz为边界外法线的方向余弦
q¯f(t)为在边界S2上的给定热流密度

第三类BC(S3),给定对流换热的Neumann条件
κxTxnx+κyTyny+κzTznz=h¯c(TT)OnS3
hc为在边界S3上的对流换热系数T为环境温度

物体Ω的边界为Ω=S1+S2+S3

4、传热问题的变分原理

考虑问题的初始条件IC(initial condition)
T(x,y,z,t=0)=T¯0(x,y,z)

变分提法为在满足三类边界条件及初始条件的许可温度场中,真实的温度场使以下泛函取极小值

minTBC(S1,S2,S3),ICI=12Ω[κx(Tx)2+κy(Ty)2+κz(Tz)22(ρQρcTTt)T]dΩ

在实际问题的处理过程中,第二类和第三类边界条件事先较难满足,因此可将这两个条件耦合进泛函中,即

minTBC(S1),ICI=12Ω[κx(Tx)2+κy(Ty)2+κz(Tz)22(ρQρcTTt)T]dΩ
S2q¯fTdA+12S3h¯c(TT)2dA

5、稳态传热问题的有限元分析列式

稳态问题(steady problem):温度不随时间变化Tt=0

images/《有限元分析与应用》-20240918170253339.webp

images/《有限元分析与应用》-20240918170304985.webp

单元传热矩阵
images/《有限元分析与应用》-20240918170346650.webp

6、瞬态传热问题的有限元分析列式

温度随时间变化Tt0
images/《有限元分析与应用》-20240918170434916.webp

images/《有限元分析与应用》-20240918170455068.webp

  • 瞬态传热问题求解的特点

  • 瞬态传热问题可以转化为一组以时间t为独立变量的线性常微分方程组

images/《有限元分析与应用》-20240918170602092.webp

影响整个问题的收敛性,必须根据解的稳定性理论来给出一个最大收敛步长的条件,以得到稳定的解,并控制好计算误差

7、平面3节点三角形传热单元

images/《有限元分析与应用》-20240918170703108.webp

images/《有限元分析与应用》-20240918170714947.webp

images/《有限元分析与应用》-20240918170724469.webp

images/《有限元分析与应用》-20240918170743517.webp

考虑三种情况

  1. 无传热边界,即完全为内部单元
  2. 如果该单元的jm边为第二类传热边界BC(S2)时:由q¯f参数来描述
  3. 如果该单元的jm边为第三类传热边界BC(S3)时:由h¯c参数来描述

7.1、完全为内部单元(无传热边界)

images/《有限元分析与应用》-20240918171053452.webp

images/《有限元分析与应用》-20240918171106508.webp

7.2、jm边为第二类传热边界BC(S2)

images/《有限元分析与应用》-20240918171139857.webp

images/《有限元分析与应用》-20240918171218407.webp

7.3、jm边为第三类传热边界BC(S3)

images/《有限元分析与应用》-20240918171251613.webp

images/《有限元分析与应用》-20240918171304108.webp

传热问题的有限元分析实例

无限长平板稳态温度场的有限元分析

问题描述
images/《有限元分析与应用》-20240918171347348.webp

模型分析
images/《有限元分析与应用》-20240918171404194.webp

1、结构的离散化与编号

images/《有限元分析与应用》-20240918171440644.webp

images/《有限元分析与应用》-20240918171506599.webp

节点的温度列阵:qT=[T1T2T3T4T5T6]T

2、单元描述

images/《有限元分析与应用》-20240918171717430.webp

images/《有限元分析与应用》-20240918171728553.webp

对于单元3,也是内部单元,与单元2类似,其系节点温度为[T5T4T3]T

images/《有限元分析与应用》-20240918171913768.webp

3、建立整体有限元分析方程

images/《有限元分析与应用》-20240918171948306.webp

4、边界条件的处理及方程求解

该问题的边界条件为BC(S3),在前面计算单元的相关矩阵时已作考虑;因此可直接对方程进行求解

images/《有限元分析与应用》-20240918172049861.webp

理论解

images/《有限元分析与应用》-20240918172108169.webp

热应力问题的有限元分析:基本原理

1、热应力问题的物理方程

images/《有限元分析与应用》-20240918172235748.webp

物理方程
images/《有限元分析与应用》-20240918172253576.webp
指标形式
images/《有限元分析与应用》-20240918172307264.webp

2、热应力问题的虚功原理

热应力问题中只有物理方程发生了变化

images/《有限元分析与应用》-20240918172336619.webp

images/《有限元分析与应用》-20240918172351111.webp

images/《有限元分析与应用》-20240918172405314.webp

3、热应力问题的有限元分析列式

单元的节点位移列阵
images/《有限元分析与应用》-20240918172437943.webp

单元的三大类变量场
images/《有限元分析与应用》-20240918172508087.webp

取虚位移、虚应变的变分
images/《有限元分析与应用》-20240918172545507.webp

代入虚功原理
images/《有限元分析与应用》-20240918172607766.webp

images/《有限元分析与应用》-20240918172636792.webp

热应力问题的有限元分析实例

一个夹持杆结构的温度应力分析

  • (1)在20C时,一个力作用在一个夹持杆件上F=300×103N
  • (2)随后温度上到60C,在这种情况下,进行该结构的有限元分析

images/《有限元分析与应用》-20240918172946502.webp

1、结构的离散化与编号

离散成两个杆单元

2、单元的描述

images/《有限元分析与应用》-20240918173048350.webp

3、建立整体刚度方程

组装单元,整体刚度矩阵Kq=P

images/《有限元分析与应用》-20240918173147113.webp

images/《有限元分析与应用》-20240918173201107.webp

4、边界条件的处理及刚度方程求解

对于位移边界条件,即自由度1、3固定

images/《有限元分析与应用》-20240918173230319.webp

解得,

images/《有限元分析与应用》-20240918173252792.webp

5、计算单元的应力

images/《有限元分析与应用》-20240918173313594.webp

images/《有限元分析与应用》-20240918173328703.webp

14专题 有限元分析的典型

project Case study A small project with help of the finite element analysis

基本建模Project1:2D问题带孔平板的受力分析

images/《有限元分析与应用》-20240918173536711.webp

建模要点:
1、属于平面应力问题,单元选择:PLANE182
2、分别建立平面方板和圆孔平面
3、通过布尔运算生成带孔平板
4、对几何模型的线设置网格大小后进行网格划分

APDL:通过日志文件,可以查看apdl命令流记录的操作,具有累赘多余GUI的垃圾操作记录

images/《有限元分析与应用》-20240918173932814.webp

images/《有限元分析与应用》-20240918174041560.webp

%%%%%%%%[基本建模Project1]%%%% begin %%%%%%
/PREP7  !pre-processor
ET,1,PLANE182    !selectelementtype(no.1plane182)
KEYOPT,1,3,3   !set plane stress with thickness
R,1,1,    !realconstant(thickness=1)
UIMP,1,EX,,,2.1e5,   !elastic modulus
UIMP,1,PRXY,,,0.3,    !poission ratio
BLC4,0,0,100,100   !create a rectanglar area (x=0,y=0, width=100,height=100), area No.1
CYL4,50,50,5   !create a circular area (center x=50,y=50,rad=5),area No.2
ASBA,1,2    !subtract area No.2 from area No.1, i.e. the area No.1 - the area No.2
ESIZE,0,5    !divide5piecesfor every line
MSHAPE,0,2D    !key=0 for quadrilateral-shaped element(2D)
MSHKEY,0    !free meshing (0)
AMESH,all    !meshall area
FINISH    !pre-processor end
/SOLU    !enter solution environment (for DOF constraints,force,solve)
NSEL,S,LOC,X,0      !select the nodes at x=0
D,all,ux   
NSEL,R,LOC,Y,0     !apply ux=o for selected nodes
D,ALL,UY    !re-select the node at y=o based on above selection (x=o, y=0)
LSEL,S,LOC,X,100      !apply uy=o for selected node Iselect the line at x=0
SFL,all,PRES,-100  !apply a pressure on selected line
ALLSEL    !select all 
SOLVE    !solve
FINISH    !end the solution
/POST1   !entersolutionenvironment(for DOF constraints,force,solve)
PLNSOL,S,X  !displaythedistributionof gxx
!%%%%%%%%[基本建模Project1]%%%%end%%%%%%

(1)如果希望将方板的宽度和高度设为参数(每个变量不超过8个字符):
plate_w=80
plate_h=120
(2)如果希望将中间孔的位置和半径设为参数:
hole_x=30
hole_y=40
hole_r=8
(3)将弹性模量设为参数
e_modu=1e5
(4)将每边的单元分段设为参数
line_div=6
(5)将外载值设为参数
pressure=200

将参数设置
images/《有限元分析与应用》-20240918175224698.webp

基本建模Project2:3D问题花形卡盘的扭转受力分析应用建模

images/《有限元分析与应用》-20240918175325701.webp

花形卡盘的扭转受力分析命令流

images/《有限元分析与应用》-20240918175430009.webp

images/《有限元分析与应用》-20240918175448557.webp

images/《有限元分析与应用》-20240918175531617.webp

Project3:振动模态分析斜拉桥的模态分析

images/《有限元分析与应用》-20240918175617892.webp

一般的模态分析流程
images/《有限元分析与应用》-20240918175658465.webp

images/《有限元分析与应用》-20240918175712679.webp

images/《有限元分析与应用》-20240918175741724.webp

应用建模Project4:弹塑性分析厚壁圆筒受内压的弹塑性分析应用建模

images/《有限元分析与应用》-20240918175920464.webp

images/《有限元分析与应用》-20240918175927776.webp

如图所示厚壁圆筒内壁受到120MPa均布压力作用的,其内半径a=15mm,外半径b=30mm。圆筒材料是理想弹塑性材料,弹性模量200GPa,泪松比0.3,屈服极限200MPa。材料服从von Mises屈服条件。当圆筒的长度很长时,试分析厚壁圆简受力后的弹塑性变形。

建模要点

  1. 由于圆筒很长,因此受均布压力的圆简属于平面应变问题,根据对称性用1/4横截面建立计算模型。在ANSYS环境中设置分析类型,选择平面单元PLANE183,设置为平面应变
  2. 通过命令< TB,BKIN >将材料设定为双线性动态强化的材料模型,通过命令< TBDATA >给出材料的屈服应力以及切向模量,对理想弹塑性材料,可以将切尚模量设置为较小的数,这里设置为零
  3. 对于非线性的弹塑性分析,通过命令< TIME >定义加载步和计算步,采用命令< DELTIM >设定计算子步的步长。分析类型设定为静态分析
  4. 在一般后处理中,通过命令< RSYS,1 >设置成柱坐标系,通过命令< PATH >及< PPATH >来定义中间截面的路径,采用命令< PDEF >将应力映射到该路径上,采用命令< PLPATH >显示计算结果
  5. 在时间历程后处理中,采用命令< ANSOL >定义平均节点应力作为变量采用命令< PLVAR >画出变量随时间(外载)的变化曲线。

images/《有限元分析与应用》-20240918180423454.webp

images/《有限元分析与应用》-20240918180457523.webp

Project5:传热分析钢制圆柱冷却过程的瞬态传热分析应用建模

如图所示,直径为30mm、高度为60mm的钢制实心圆柱。圆柱的初始温度为T0=600℃,为均匀分布,对该物体进行热处理,即将圆柱置于温度为Tf=20℃、换热系数为h=1200W/(m2℃)的介质中冷却。

images/《有限元分析与应用》-20240918180849976.webp

将钢材的密度设为7840kg/m3,并忽略密度随温度的变化。这里考虑钢材的热传导系数随温度变化的情况,在0至600℃范围内 k=450.03T(单位W/(m℃));比热也随温度变化,在0至600℃范围内,Cp=550+0.147T(单位J/(kg℃))。

计算圆柱冷却过程的温度分布及温度随时间的变化冷却时间为100秒

建模要点】

  1. 根据热传导的对称性,此问题可以作为轴对称问题进行分析,取圆柱纵截面的1/4作为计算模型。在圆柱的外侧面和上端面存在对流换热。建立几何模型时长度单位取mm,统一物理量的单位,导热系数的单位取W/(mm℃),密度的取kg/mm3,换热系数的单位取W/(mm2℃)。
  2. 采用传热单元plane77,设置材料导热系数和热容随温度线性变化,
  3. 设定为瞬态计算< ANTYPE,TRANS >,通过命令< TUNIF >使得初始温度,在圆柱的侧面和端面上定义对流换热边界条件,通过命令< TIME>设定瞬态过程的计算时间
  4. 在一般后处理< /POST1>中,通过命令< /EXPAND >进行对称映射显示设置,以云纹图或等值线方式显示温度分布,以失量图方式显示热流分布.在时间后处理< /POST26>中通过命令< NSOL>设置圆柱中心、侧表面中间、端面与侧表面交界处等位置节点上温度变量随时间的变化,在通过命令< PLVAR >显示温度变量的曲线,

images/《有限元分析与应用》-20240918181203535.webp

images/《有限元分析与应用》-20240918181216389.webp

images/《有限元分析与应用》-20240918181229958.webp

Project6:热应力分析桁架结构的温度及装配应力分析

images/《有限元分析与应用》-20240918181337214.webp

如图所示为一个桁架结构,分析下列两种情形下的节点位移和单元应力:

  • a)构件1、3、7和8的温度升高50℃
  • b)由于制造误差,构件9和10短了0.63mm,而构件6长了0.27mm,但必须进行强制装配架所用材料的相关参数:弹性模量E=200GPa,线膨胀系数α=1.25×105(/℃)
  • c)每个构件的横截面积均为100mm2

建模要点

  1. 选择可以施加温度载荷的一二维杆单元LINK1,温度可以作为体力施加到单元上。情形(a)是单纯的温度应力问题,情况(b)属于装配应力问题,也可以转化成温度应力问题。
  2. 对于情形(a),通过命令< TREF >把参考温度设为20℃,通过命令< BFE >对单元1、3、7和8施加温度70℃,
  3. 对于情形(b),同样可以采用命令< BFE >对单元6、9和10上施加适当的温度变化值,使得各自的温度收缩直等价于制造误差,即假定单元由温度变化引起的自由伸循量,与单元长度的差异量相同,由ΔT=ΔL/(αt) 计算得到等效温度的变化。单元6长了0.27mm,相当于把单元6的温度升高24℃。单元9和10短了0.63mm,相当于把单元9和10的温度降低39.6℃。

images/《有限元分析与应用》-20240918181827470.webp

images/《有限元分析与应用》-20240918181841511.webp

高级建模Project7:结构的概率分析——大型液压机机架的概率设计分析

随机输入参数对系统的影响

如图所示,一个大型液压机机架,在其外圈承受有预紧压力,在内圈承受有工作压力,假设由于制造的原因,使得机架的尺寸有一定的误差,同时,所承受的载荷也有一定的分散度,因此,可以将这几个参数考虑为具有概率分布的随机变量,然后,对机架的最大等效应力(MAXVON)、应力强度(MAXINT)、第一主应力(MAX1)进行分析,相关的参数如下

  • 材料:E=2.1×1011Paμ=0.3
  • 几何:H=18mD=3.4m
    R1服从Gauss分布,均值为2.25m,方差为0.1;
    R2服从Gauss分布,均值为4.5m,方差为0.2;
  • 载荷:PRS1服从Gauss分布,均值为261.4MPa,方差为26.07;
    PRS2服从Gauss分布,均值为196.1MPa,方差为19.8;

images/《有限元分析与应用》-20240919091702510.webp

结构概率分析的一般流程

  1. 首先构建宏文件,以便进行概率分析的循环运行,将常规的有限元建模、分析、后处理以及参数提取都放到宏文件中

images/《有限元分析与应用》-20240919091807838.webp

  1. 调入并执行宏命令

images/《有限元分析与应用》-20240919091855004.webp

  1. 进入概率设计分析模块,进行所有与概率设计分析有关的操作包括设置自变量的概率分布、响应参数以及相关系数,并执行概率设计计算,观察结果,图示或列出变量的内容等。

images/《有限元分析与应用》-20240919091910480.webp

建模要点

  • 1.采用单元PLANE182,在几何建模时需要考虑各个几何参数之间的匹配,因为结构的概率分析需要自动改变各个参数以进行多次的参数化儿模型修改和单元战划分;
  • 2.采用命令< *CREATE>建立宏文件,给出完整的有限元建模过程,并设置针对随机变量分析的参数,在后处理中,采用命令<*GET>获取需要进行随机响应变量分析的参数;以便于在概率分析时进行循环运行;
  1. 在宏文件中需要对将进行概率设计的输入随机变量事先设置为参数,在宏文件的后处理中,还要设置为响应随机变量的参数,采用命令< *GET>进行提取,并设置成为参数;
  2. 在主程序中,首先调入宏文件,通过命令< /PDS>进入概率设计分析模块,通过命令< PDANL>指定宏文件进行概率设计,通过命令< PDVAR>设定输入及响应随机变量,对于输入随机变量,指定概率分布的形式及参数;;
  3. 通过命令< PDMETH>设置随机处理的方法,由命令< PDLHS>设置模拟循环次数,由命令< PDEXE>运行概率设计分析;
  4. 在概率设计分析模块中,直接采用命令< PDHIST>、< PDSHIS>、< PDSENS>、< PDSCAT>给出随机变量的样本分布、采样曲线、概率敏感图、两个相关变量相关性的图形,采用命令< *GET>获取随机变量的平均值及均方差值等信息。

images/《有限元分析与应用》-20240919092232836.webp

images/《有限元分析与应用》-20240919092250262.webp

高级建模Project8:p方法的建模与应用——平面问题的p型单元建模与分析

  • p方法是保持有限元的剖分网格固定不变,增加各单元上基底函数的阶次,使分析结果逐步向正确解逼近。
  • p方法优点:在使用者没有定义精细网格的情况下,仍可获得具有较高精度的解,这些是传统的h方法所做不到的。
  • P方法中基底函数的阶次越高,对正确解的逼近程度就越好,但是由于计算机容量和速度的限制,再加上高阶函数会出现插值波动现象,一般情况下多项式函数的最高阶次p<9
  • p方法的收敛准则可以包括计算模型节点上的位移应力和应变或整体的应变能

images/《有限元分析与应用》-20240919092548450.webp

如图所示,带孔方板受均布拉力作用,使用p型单元,分析孔边缘最大应力,相关的参数如下。

  • 几何:L=150mm,H=80mm,R1=5mm,R2=10mm,t=0.5mm
  • 材料:E=2.1e5Mpa,μ=0.3;
  • 载荷:Pressure=100MPa

p方法分析的一般流程

  1. 前处理
  2. 设置p方法求解,给出p型单元的阶次范围
  3. 建立模型,进行网格设置及划分
  4. 设置p型单元的误差及收敛参数
  5. 在后处理中考察结果

images/《有限元分析与应用》-20240919092758721.webp

【建模要点】

  1. 采用p型单元PLANE145,采用常规的建模流程进行建模,可以采取较粗的网格,p方法将采用增加各单元基底函数阶次的方法来改善计算精度;
  2. 根据对称性,取一半的对象进行常规的建模。在该模型中,将生成两个圆面,可以采用命令< WPOFFS>来平移工作面,以便采用命令 < PCIRC>来生成圆面;
  3. 在求解之前,需要设置关键节点的物理量,通过命令< PCONV>来采用p方法中的p阶次来以控制计算误差,一般情况下,对局部的计算精度来进行控制,为提高计算效率,对一些关键点周边的单元,可以保持单元的p阶次不变,采用命令< PMOPTS>来进行设置可以设置多点的p方法收敛准则;
  4. 求解后,在后处理中,需要采用命令< SET>调出计算结果,采用命令< *GET>获取关键位置上的计算结果,采用命令< PLCONV>及< PPLOT>显示和图示p方法的收敛曲线及单元的p阶次。

images/《有限元分析与应用》-20240919093028581.webp

images/《有限元分析与应用》-20240919093039527.webp

作者:invo

出处:https://www.cnblogs.com/invo/p/18371212

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Invo1  阅读(403)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示