有限元的MATLAB解法

合集下载

matlab有限元刚度矩阵编程

matlab有限元刚度矩阵编程

一、概述有限元方法是工程学和科学领域中常用的数值分析工具,用于求解复杂的结构力学问题。

在有限元分析中,刚度矩阵是一个重要的概念,它描述了结构的刚度性质,并可以用于求解结构的位移、应力和应变分布。

MATLAB是一款功能强大的数学软件,它提供了丰富的工具和函数,可以用于编程求解有限元刚度矩阵。

本文将介绍如何使用MATLAB编程求解有限元刚度矩阵,并给出详细的步骤和代码示例。

二、有限元刚度矩阵的理论基础有限元分析的基本思想是将一个复杂的结构分解成许多小的单元,每个单元都可以用简单的数学方程描述。

在有限元分析中,每个单元都有一个刚度矩阵,它描述了单元的刚度性质。

结构的总刚度矩阵可以通过合并所有单元的刚度矩阵得到。

总刚度矩阵可以用于求解结构的位移、应力和应变分布,是有限元分析的核心之一。

三、MATLAB编程求解有限元刚度矩阵的步骤在MATLAB中,可以通过以下步骤编程求解有限元刚度矩阵:1. 定义结构的几何形状和材料性质,确定结构的边界条件和加载条件。

2. 将结构分解成有限元单元,根据单元的几何形状和材料性质建立单元的刚度矩阵。

3. 合并所有单元的刚度矩阵,得到结构的总刚度矩阵。

4. 根据边界条件和加载条件,求解结构的位移。

5. 根据结构的总刚度矩阵和位移,计算结构的应力和应变分布。

四、MATLAB编程求解有限元刚度矩阵的代码示例以下是一个简单的MATLAB代码示例,用于求解一维弹簧元的刚度矩阵:```MATLAB定义弹簧元的长度和弹性模量L = 1;E = 1;计算弹簧元的刚度矩阵k = E * A / L;K = [k, -k; -k, k];```以上代码示例中,我们首先定义了弹簧元的长度L和弹性模量E,然后通过公式计算了弹簧元的刚度矩阵K。

这是一个简单的一维情况,实际工程中可能涉及到更复杂的二维、三维情况,但基本的求解步骤是相似的。

五、总结MATLAB是一个强大的数学软件,可以用于编程求解有限元刚度矩阵。

电磁场有限元Matlab解法

电磁场有限元Matlab解法

nel=n1;
%总网格数
%******************定义各个单元的常量和矩阵************************ K=zeros(ndm,ndm); %定义 K 矩阵 Ke=zeros(3,3); %单元 Ke 矩阵 s=0.5/(Jmax*Jmax); %单元面积 b=zeros(ndm,1); %b 矩阵 be=1:3; %单元 be 矩阵 eps=1:nel; rho=1:nel; %定义 ε 和 ρ 数组 for n=1:2*Jmax*Imax %定义上下两部分的 ε 和 ρ 值,,两部分的 ε 分别 为 9 和 1,ρ 都为 0 eps(n)=eps1; rho(n)=rho1; end for n=2*Jmax*Imax+1:nel eps(n)=eps2; rho(n)=rho2; end %****************计算系统的[K][b]矩阵************************* for n=1:nel for i=1:3 n1=NE(1,n); n2=NE(2,n); n3=NE(3,n); %给每个单元的点进行编号 bn(1)=Y(n2) - Y(n3); bn(2)=Y(n3) - Y(n1); bn(3)=Y(n1) - Y(n2); cn(1)=X(n3) - X(n2); cn(2)=X(n1) - X(n3); cn(3)=X(n2) - X(n1); for j=1:3 Ke(i,j)=eps(n)*(bn(i)*bn(j)+cn(i)*cn(j))/(4*s); be(i)=s*rho(n)/3; %计算每个单元的 Ke 和 be 矩阵 end end for i=1:3 for j=1:3 K(NE(i,n),NE(j,n))=K(NE(i,n),NE(j,n))+Ke(i,j); b(NE(i,n))=b(NE(i,n))+be(i); %把 Ke 和 be 分别相加求总矩阵 end end end

有限元MATLAB

有限元MATLAB

MATLAB报告Matlab程序求解简要过程如下:(1)求取单元节点位移提取矩阵T单元节点位移提取矩阵T本质上是置换矩阵群中的一个,结果可将任意杂乱的节点顺序置换成统一的顺序。

另一方面其作用是对单元刚度矩阵进行“升维操作”,将单元刚度矩阵统筹到整体刚度矩阵上来,便于对总体节点位移矩阵和支座反力进行求取。

本程序分析过程中对单元1的节点提取是按顺序编号1-2-3,对单元2的节点提取是按顺序编号2-3-4。

单元1的节点位移提取矩阵如下:单元2的节点位移提取矩阵如下:(2)求取单元几何矩阵B单元1的节点按编号顺序1-2-3分别进行对几何函数矩阵或算子矩阵的bi逆时针操作,对ci顺时针操作;单元2的节点按编号顺序2-3-4分别进行对几何函数矩阵的bi顺时针操作,对ci逆时针操作.在MATLAB程序中通过mod()取模函数来达到对节点的顺时针或逆时针循环操作。

单元1的几何矩阵如下:单元2的几何矩阵如下:(3)求取应力矩阵S单元应力矩阵满足S=D*B,其中D为弹性矩阵,B为单元几何矩阵各单元的弹性矩阵如下:单元1的应力矩阵如下:单元2的应力矩阵如下:(4)求取单元刚度矩阵K单元刚度矩阵K满足公式K=B’*D*B*t*A,其中t为平面板的厚度,A为单元面积,且单元刚度矩阵为对称矩阵。

单元1的刚度矩阵如下:单元2的刚度矩阵如下:(5)求取总体刚度矩阵sumKK由上述步骤求得的单元刚度矩阵K利用单元虚功原理和刚度方程可导出K’*δ=f,其中δ为单元节点位移列阵,f为单元等效节点载荷列阵,为了能将各个单元刚度方程统一到一个整体,便需要步骤(1)的单元节点提取矩阵对单元刚度方程进行变换,将两个变换结果联立便得到总体刚度方程,其中也可得到总体刚度矩阵sumKK,且总体刚度矩阵可由sumKK=Σ T’*K*T 求得。

总体刚度矩阵如下:(6)求取总体节点位移矩阵和支座反力利用上述步骤提到的总体刚度方程sumKK*delta=F,其中delta为总体节点位移矩阵,F为总体等效节点载荷列阵。

matlab有限元法

matlab有限元法

matlab有限元法
有限元法是一种常用的工程数值计算方法,广泛应用于结构力学、流体力学、热传导等领域。

它通过将复杂的连续体分割成有限个简单的单元,利用单元之间的相互关系来近似描述整个问题的解。

在工程实践中,有限元法已经成为一种不可或缺的分析工具。

有限元法的基本步骤包括建立数学模型、离散化、确定边界条件、求解方程、后处理等。

首先,需要将实际工程问题转化为数学模型,确定问题的几何形状、材料特性和载荷条件。

然后,将问题离散化,即将结构分割成有限个简单的单元,并确定单元之间的连接关系。

接下来,需要确定边界条件,即给定结构的边界约束和外部载荷。

然后,通过求解离散化后的方程组,得到问题的数值解。

最后,进行后处理,分析和展示结果。

有限元法的优点在于能够处理复杂的几何形状和边界条件,可以模拟各种不同的物理现象,并且具有较高的精度和可靠性。

它能够帮助工程师更好地理解和设计结构,提高工程的可靠性和安全性。

然而,有限元法也存在一些局限性。

首先,离散化过程会引入一定的误差,尤其是在模型中存在较大的变形或应力集中的情况下。

其次,求解大规模的方程组需要较高的计算资源和时间。

此外,有限元法对材料的本构关系和边界条件的设定要求较高,需要进行合理的模型假设和参数选择。

总的来说,有限元法是一种强大而灵活的工程分析方法,能够帮助工程师解决各种复杂的工程问题。

通过合理的模型建立和边界条件设定,以及精确的计算和后处理,可以得到准确可靠的结果,为工程设计和优化提供有力支持。

有限元数值解法在MATLAB中的实现及可视化

有限元数值解法在MATLAB中的实现及可视化

有限元数值解法在MATLAB中的实现及可视化摘要:偏微分方程的数值解法在数值分析中占有很重要的地位,很多科学技术问题的数值计算包括了偏微分方程的数值解问题。

在学习初等函数时,总是先画出它们的图形,因为图形能帮助我们了解函数的性质。

而对于偏微分方程,画出它们的图形并不容易,尤其是没有解析解的偏微分方程,画图就显得更加不容易了。

为了从偏微分方程的数学表达式中看出其所表达的图形、函数值与自变量之间的关系,通过MATLAB编程,用有限元数值解法求解了偏微分方程,并将其结果可视化。

关键词:偏微分方程;MATLAB;有限元法;可视化1 引言(Introduction)偏微分方程的数值解法在数值分析中占有很重要的地位,很多科学技术问题的数值计算包括了偏微分方程的数值解问题。

近三十多年来,它的理论和方法都有了很大的发展,而且在各个科学技术的领域中应用也愈来愈广泛。

例如,核武器的研制要有理论设计和核试验。

但核反应和核爆炸的过程是在高温高压的条件下进行的,而且巨大的能量在极短的时间内释放出来,核装置内部的细致反应过程及各个物理量的变化是根本不能用仪器测量出来的,核试验只是提供综合的数据。

而描述核反应和爆炸物理过程的数学模型是一个很复杂的非线性偏微分方程组,也根本没有办法得到这个方程组理论上的精确解。

所以发展核武器的国家都在计算机上对核反应过程进行数值模拟,这也称为“数值核实验”,它可以大大减少核试验的次数,节约大量的经费,缩短研制的周期[1]。

在学习初等函数时,总是先画出它们的图形,因为图形能帮助我们了解函数的性质。

而对于偏微分方程,画出它们的图形并不容易,尤其是没有解析解的偏微分方程,画图就显得更加不容易了。

所以本文主要研究如何用MATLAB数值求解偏微分方程,并将其数值解绘制成三维图形的形式,从而可以从复杂的数学表达式中看出其所表达的图像、函数值与自变量之间的关系[2]。

2 有限元法(Finite element method)2.1 有限元法概述有限元法的基本思想是将结构离散化,用有限个容易分析的单元来表示复杂的对象,单元之间通过有限个节点相互连接,然后根据变形协调条件综合求解。

matlab桁架结构有限元计算

matlab桁架结构有限元计算

matlab桁架结构有限元计算摘要本文介绍了使用M ATL A B进行桁架结构有限元计算的方法。

首先,我们将讨论桁架结构的基本概念和有限元分析的原理。

然后,我们将详细介绍如何使用MA TL AB建立桁架结构的有限元模型,并进行力学分析。

最后,我们将通过一个案例演示如何使用MA TL AB进行桁架结构的有限元计算,以及如何分析结果。

1.引言桁架结构是一种由杆件和节点组成的空间结构。

它具有轻巧、刚性和稳定等特点,在工程领域中得到了广泛应用。

有限元方法是一种常用的工程分析方法,可以用于求解桁架结构的应力、变形等问题。

MA T LA B是一个功能强大的计算软件,具有丰富的工具箱和便于使用的界面,可以用于桁架结构的有限元分析。

2.桁架结构的基本概念桁架结构由若干杆件和节点组成,杆件可以看作是刚性杆,节点是杆件的连接点。

桁架结构常用于承受桥梁、建筑物等结构的荷载。

桁架结构的节点可以是固定支撑、铰支撑或滑动支撑等。

杆件可以是直杆、曲杆或弯曲杆等。

桁架结构的力学行为可以通过有限元方法进行分析。

3.有限元分析的原理有限元分析是一种将复杂结构离散化为单元,通过对单元的力学计算得到整体结构的力学行为的方法。

有限元分析的基本步骤包括离散化、建立单元模型、求解节点位移和计算单元力等。

在桁架结构的有限元分析中,常用的单元类型有一维梁单元和杆单元。

4.使用MAT LAB进行桁架结构有限元分析使用MA TL AB进行桁架结构有限元分析的步骤如下:4.1建立有限元模型首先,需要根据实际情况确定桁架结构的几何尺寸和材料属性,然后使用MA TL AB的有限元建模工具箱创建桁架结构的有限元模型。

模型的建立包括定义节点、杆件和单元,设置边界条件和加载。

4.2求解节点位移和单元力通过求解有限元方程,可以得到桁架结构的节点位移和单元力。

M A TL AB提供了一系列用于求解线性方程组的函数,可以快速得到结果。

4.3分析结果得到节点位移和单元力后,可以进行进一步的分析。

matlab桁架结构有限元计算

matlab桁架结构有限元计算

matlab桁架结构有限元计算
在MATLAB中,进行桁架结构的有限元计算可以按照以下步
骤进行:
1. 定义节点和单元:根据实际问题的几何形状和拓扑关系,定义桁架结构的节点和单元。

节点是桁架结构的连接点,单元是连接节点的构件。

2. 定义材料属性和截面属性:根据实际问题的材料和截面要求,定义桁架结构的材料属性和截面属性。

材料属性包括弹性模量和泊松比等,截面属性包括截面面积和惯性矩等。

3. 组装刚度矩阵:根据节点和单元的几何形状和材料属性,计算每个单元的局部刚度矩阵,然后根据单元和节点的连接关系,将局部刚度矩阵组装成整体刚度矩阵。

4. 施加边界条件:根据实际问题的边界条件,将边界节点的位移固定为零,或施加位移或力的约束条件。

5. 求解位移和反力:使用求解线性方程组的方法,求解位移和反力。

可以使用MATLAB中的线性方程组求解函数(如'\''运
算符)来计算。

6. 计算应力和应变:根据位移和节点的几何形状,计算节点上的应变,然后根据材料属性,计算节点上的应力。

以上步骤涵盖了桁架结构的有限元计算的基本流程,具体实现时需要根据实际问题进行适当的调整和扩展。

MATLAB有限元分析与应用可编辑全文

MATLAB有限元分析与应用可编辑全文

%
modulus of elasticity E, cross-sectional
%
area A, and length L. The size of the
%
element stiffness matrix is 2 x 2.
y = [E*A/L -E*A/L ; -E*A/L E*A/L];
2019/11/28
y = k * u/A;
2019/11/28
18
§3-2 线性杆元
3、实例计算分析应用
如图所示二线性杆元结构,假定E=210MPa,A=0.003m^2,P=10kN, 节点3的右位移为0.002m。
求:系统的整体刚度矩阵; 节点2的位移; 节点1、3的支反力; 每个杆件的应力
解:
步骤1:离散化域
%LinearBarElementStresses This function returns the element nodal
%
stress vector given the element stiffness
%
matrix k, the element nodal displacement
%
vector u, and the cross-sectional area A.
? ?
?
? ?
?
10??
630000 ????0.002?? ?? F3 ??
线性杆元也是总体和局部坐标一致的一维有限单元,用线性函数描述
每个线性杆元有两个节点(node)
? EA
单刚矩阵为:k
?
? ?
L
???
EA L
?
EA L
? ? ?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有限元的MATLAB解法1.打开MATLAB。

2.输入“pdetool”再回车,会跳出PDE Toolbox的窗口(PDE意为偏微分方程,是partial differential equations的缩写),需要的话可点击Options菜单下Grid命令,打开栅格。

3.完成平面几何模型:在PDE Toolbox的窗口中,点击工具栏下的矩形几何模型进行制作模型,可画矩形R,椭圆E,圆C,然后在Set formula栏进行编辑并(如双脊波导R1+R2+R3改为RI-R2-R3,设定a、b、s/a、d/b的值从而方便下步设定坐标)用算术运算符将图形对象名称连接起来,若还需要,可进行储存,形成M文件。

4.用左键双击矩形进行坐标设置:将大的矩形left和bottom都设为0,width是矩形波导的X轴的长度,height是矩形波导的y轴的长度,以大的矩形左下角点为原点坐标为参考设置其他矩形坐标。

5.进行边界设置:点击“Boundary”中的“Boundary Mode”,再点击“Boundary”中的“Specify Boundary Conditions”,选择符合的边界条件,Neumann为诺曼条件,Dirichlet为狄利克雷条件,边界颜色显示为红色。

6.进入PDE模式:点击"PDE"菜单下“PDE Mode”命令,进入PDE模式,单击“PDE Specification”,设置方程类型,“Elliptic”为椭圆型,“Parabolic”为抛物型,“Hyperbolic”为双曲型,“Eigenmodes”为特征值问题。

7.对模型进行剖分:点击“Mesh”中“Initialize Mesh”进行初次剖分,若要剖的更细,再点击“Refine Mesh”进行网格加密。

8.进行计算:点击“Solve”中“Solve PDE”,解偏微分方程并显示图形解,u值即为Hz或者Ez。

9.单击“Plot”菜单下“Parameters”选项,打开“Plot Selection”对话框。

选中Color,Height(3-D plot)和Show mesh三项,然后单击“Plot”按钮,显示三维图形解。

10.如果要画等值线图和矢量场图,单击“Plot”菜单下“Parameters”选项,打开“Plot Selection”对话框。

选中Contour和Arrows两项,然后单击Plot按钮,可显示解的等值线图和矢量场图。

11.将计算结果条件和边界导入MATLAB中:点击“Export Solution”,再点击“Mesh”中“Export Mesh”。

12.在MATLAB中将编好的计算程序导入,按F5运行。

备注:Property(属性)用于画图时选用相应的绘图类型u 方程的解abs(grad(u)) 每个三角形的中心的▽u的绝对值abs(c*grad(u)) 每个三角形的中心的c·▽u的绝对值- grad(u) u的负梯度-▽u我们也可以用MATLAB程序求解PDE问题,同时显示解的图形;一个长直接接地金属矩形槽,其侧壁与底面电位均为0,顶盖电位为100V,求槽内的电位分布:100V0V0V0V(1)画出剖分图(尺寸与书上一样);(2)标出各剖分点坐标值;(3)求出各点电位值(用有限差分);(4)画出等电位图。

解:(1)编写以下程序得:x=0:5y=0:5[X,Y]=meshgrid(x,y)plot(X,Y)hold onplot(Y,X)for i=0:5s=i:5t=0:(5-i)plot(s,t)plot(t,s)end得到剖分图如下:(2)用有限元法编写程序如下:Nx=6;Ny=6;Xm=5;Ym=15;Np=5;Nq=5;for i=1:Nxfor j=1:NyN(i,j)=(i-1)*Ny+j; /i列j行的节点编号/ X(N(i,j))=(i-1)*Xm/Np;/节点横坐标/Y(N(i,j))=(j-1)*Ym/Nq;/节点纵坐标/endendfor i=1:2*Xmfor j=1:Ymif rem(i,2)==1L(i,j)=(i-1)*Nq+j;p(i,j)=2*(i-1)*Ny/2+Ny+j+1;q(i,j)=p(i,j)-Ny;r(i,j)=q(i,j)-1;else rem(i,2)==0L(i,j)=(i-1)*Ny+j;p(i,j)=(2i-2)*Ny/2+j;q(i,j)=p(i,j)+Ny;r(i,j)=q(i,j)+1;endendendfor i=1:2*Xmfor j=1:Ymb(p(i,j))=Y(q(i,j))-Y(r(i,j));b(q(i,j))=Y(r(i,j) )-Y(p(i,j));b(r(i,j))=Y(p(i,j))-Y(q(i,j));c(p(i,j))=X(r(i,j) )-X(q(i,j));c(q(i,j))=X(p(i,j))-X(r(i,j));c(r(i,j))=X(q(i,j) )-X(p(i,j));area(i,j)=(b(p(i,j))*c(q(i,j))-b(q(i,j))*c(p(i,j)))/2;K=zeros(Nx*Ny);Kpp(i,j)=(b(p(i,j))^2+c(p(i,j))^2)/(2*area(i,j));Kpq(i,j)=(b(p(i,j))*b(q(i,j))+c(p(i,j))*c(q(i,j)))/(2*area(i,j));Kpr(i,j)=(b(p(i,j))*b(r(i,j))+c(p(i,j))*c(r(i,j)))/(2* area(i,j));Kqp(i,j)=Kpq(i,j);Kqq(i,j)=(b(q(i,j))^2+c(q(i,j))^2)/(2*area(i,j));Kqr(i,j)=(b(q(i,j))*b(r(i,j))+c(q(i,j))*c(r(i,j)))/ (2*area(i,j));Krp(i,j)=Kpr(i,j);Krq(i,j)=Kqr(i,j);Krr(i,j)=(b(r(i,j))^2+c(r(i,j))^2)/(2*area(i,j)); endendfor i=1:2*Xmfor j=1:YmK(p(i,j),p(i,j))=Kpp(i,j)+K(p(i,j),p(i,j));K(p(i,j),q(i,j))=Kpq(i,j)+K(p(i,j),q(i,j));K(p(i,j),r(i,j))=Kpr(i,j)+K(p(i,j),r(i,j));K(q(i,j),p(i,j))=Kqp(i,j)+K(q(i,j),p(i,j));K(q(i,j),q(i,j))=Kqq(i,j)+K(q(i,j),q(i,j));K(q(i,j),r(i,j))=Kqr(i,j)+K(q(i,j),r(i,j));K(r(i,j),p(i,j))=Krp(i,j)+K(r(i,j),p(i,j));K(r(i,j),q(i,j))=Krq(i,j)+K(r(i,j),q(i,j));K(r(i,j),r(i,j))=Krr(i,j)+K(r(i,j),r(i,j)); endendfor i=1:11K(i,:)=0;K(i,i)=1;endfor i=1:11:111K(i,:)=0;K(i,i)=1;endfor i=111:121K(i,:)=0;K(i,i)=1;endfor i=11:11:121K(i,:)=0;K(i,i)=1;endB=zeros(121,1);for i=11:11:121B(i,1)=100;endU=K\B;b=1;XX=zeros(11,11)for j=1:11for i=1:11XX(i,j)=U(b,1);b=b+1;endendsubplot(1,2,1),mesh(XX)axis([0,11,0,11,0,100])subplot(1,2,2),contour(XX,15)hold on(3)由上面的程序得到节点电位:V1=0 0 0 0 00 7.1429 9.8214 7.1429 00 18.7500 25.0000 18.7500 00 42.8571 52.6786 42.8571 00 100.0000 100.0000 100.0000 0(4)由程序得到的电场分布图及等位线图如下:4.用有限元法求矩形波导(b/a=0.45)的:(1)电场分布图;(2)求TE模式下的主模、第一、二高次模的截止波长(5次),画出截至波长图;(3)求TM模式下的主模、第一、二高次模的截止波长(5次),画出截至波长图。

解:利用MATLAB中的PDE工具箱:取矩形波导的宽边尺寸为a,窄边尺寸为0.45a。

(1)主模的电场分布图如下:在Neumann边界条件下:在Dirichlet边界条件下:(2)在TE模式下设置边界条件为Neumann条件,使用编制好的程序计算出主模的截止波长为 1.9988a,第一高次模为0.9977a,第二高次模为0.8972a,截止波长图如下:单模TE10区λ时截止模区λ(3)在TM模式下设置边界条件为Dirichlet条件,使用编制好的程序计算出主模的截止波长为0.8179a,第一高次模为0.6655a ,第二高次模为0.5315a ,截止波长图如下:高次模区单模TM 11区截止模区λ5.用时域有限差分求解上述4题中的前两问。

解:(1)根据时域有限差分编写的程序可画出主模的电场分布图如下:在Neumann 边界条件下:在Dirichlet 边界条件下:(2)根据时域有限差分编写的程序可画出频谱图和场结构图,从左图中可以读出主模截止频率c f 值,主模81.499610c f Z=碒,根据1/(c f l =,其中1208.8510e -=?,-60 1.256630610,m =?从而计算出主模截至波长 2.0273c a l =。

.。

相关文档
最新文档