偏微分方程的有限元法求解.docx

上传人:b****7 文档编号:15396372 上传时间:2023-07-04 格式:DOCX 页数:23 大小:771.43KB
下载 相关 举报
偏微分方程的有限元法求解.docx_第1页
第1页 / 共23页
偏微分方程的有限元法求解.docx_第2页
第2页 / 共23页
偏微分方程的有限元法求解.docx_第3页
第3页 / 共23页
偏微分方程的有限元法求解.docx_第4页
第4页 / 共23页
偏微分方程的有限元法求解.docx_第5页
第5页 / 共23页
偏微分方程的有限元法求解.docx_第6页
第6页 / 共23页
偏微分方程的有限元法求解.docx_第7页
第7页 / 共23页
偏微分方程的有限元法求解.docx_第8页
第8页 / 共23页
偏微分方程的有限元法求解.docx_第9页
第9页 / 共23页
偏微分方程的有限元法求解.docx_第10页
第10页 / 共23页
偏微分方程的有限元法求解.docx_第11页
第11页 / 共23页
偏微分方程的有限元法求解.docx_第12页
第12页 / 共23页
偏微分方程的有限元法求解.docx_第13页
第13页 / 共23页
偏微分方程的有限元法求解.docx_第14页
第14页 / 共23页
偏微分方程的有限元法求解.docx_第15页
第15页 / 共23页
偏微分方程的有限元法求解.docx_第16页
第16页 / 共23页
偏微分方程的有限元法求解.docx_第17页
第17页 / 共23页
偏微分方程的有限元法求解.docx_第18页
第18页 / 共23页
偏微分方程的有限元法求解.docx_第19页
第19页 / 共23页
偏微分方程的有限元法求解.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

偏微分方程的有限元法求解.docx

《偏微分方程的有限元法求解.docx》由会员分享,可在线阅读,更多相关《偏微分方程的有限元法求解.docx(23页珍藏版)》请在冰点文库上搜索。

偏微分方程的有限元法求解.docx

偏微分方程的有限元法求解

%对于d2u/dx2=f的FEM解算器,其中f=x*(1-x)

%

%边界条件u(0)=0,u

(1)=0.

%精确解用以比对

xx=linspace(0,1,101);%产生0-1之间的均分指令,101为元素个数

uex=(1/6).*xx.^3-(1/12).*xx.^4-(1/12).*xx;

%对力项设置高斯点的数目

NGf=2;

if(NGf==2)

xiGf=[-1/sqrt(3);1/sqrt(3)];%ξ1、ξ2的值

aGf=[11];

else,

NGf=1;

xiGf=[0.0];

aGf=[2.0];

end

%单元数目

Ne=5;

%建立网格节点

x=linspace(0,1,Ne+1);

%零刚性矩阵

K=zeros(Ne+1,Ne+1);

b=zeros(Ne+1,1);

%对所有单元循环计算刚性和残差

forii=1:

Ne,

kn1=ii;

kn2=ii+1;

x1=x(kn1);

x2=x(kn2);

dx=x2-x1;%每一个单元的长度

dxidx=2/dx;%dξ/dx

dxdxi=1/dxidx;%dx/dξ

dN1dxi=-1/2;%dζ1/dξ

dN2dxi=1/2;%dζ2/dξ

dN1dx=dN1dxi*dxidx;%-1/(xj-xj-1)

dN2dx=dN2dxi*dxidx;%1/(xj-xj-1)

K(kn1,kn1)=K(kn1,kn1)-2*dN1dx*dN1dx*dxdxi;%Rj的第二项

K(kn1,kn2)=K(kn1,kn2)-2*dN1dx*dN2dx*dxdxi;

K(kn2,kn1)=K(kn2,kn1)-2*dN2dx*dN1dx*dxdxi;

K(kn2,kn2)=K(kn2,kn2)-2*dN2dx*dN2dx*dxdxi;

%用高斯积分估计力项的积分

fornn=1:

NGf%NGf=2

xiG=xiGf(nn);%得到高斯点的ξ

N1=0.5*(1-xiG);%求N1和N2(即在xiG的权重/插值)形状函数在ξ的值

N2=0.5*(1+xiG);%ζ值

fG=xiG*(1-xiG);%对ξ点求f

gG1=N1*fG*dxdxi;%在节点处估计权函数在高斯点的被积函数

gG2=N2*fG*dxdxi;%估计是个积分值

b(kn1)=b(kn1)+aGf(nn)*gG1;%aGf为1

b(kn2)=b(kn1)+aGf(nn)*gG2;

end

end

%在x=0处设置Dirichlet条件

kn1=1;

K(kn1,:

)=zeros(size(1,Ne+1));

K(kn1,kn1)=1;

b(kn1)=0;

%在x=1处设置Dirichlet条件

kn1=1;

K(kn1,:

)=zeros(size(1,Ne+1));

K(kn1,kn1)=1;

b(kn1)=0;

%求解方程

v=K\b;%v为Kx=b的解

plot(x,v,'*-');%画图并比较

holdon;

plot(xx,uex);

holdoff;

xlabel('x');

ylabel('u');

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2