好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

22页
  • 卖家[上传人]:n****
  • 文档编号:91137968
  • 上传时间:2019-06-26
  • 文档格式:DOC
  • 文档大小:823.50KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • %对于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=[1 1];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);%对所有单元循环计算刚性和残差for ii=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;%用高斯积分估计力项的积分for nn=1:NGf%NGf=2xiG=xiGf(nn);%得到高斯点的ξN1=0.5*(1-xiG);%求N1和N2(即在xiG的权重/插值) 形状函数在ξ的值N2=0.5*(1+xiG);%ζ值fG=xiG*(1-xiG);%对ξ点求fgG1=N1*fG*dxdxi;%在节点处估计权函数在高斯点的被积函数gG2=N2*fG*dxdxi;%估计是个积分值b(kn1)=b(kn1)+aGf(nn)*gG1;% aGf为1b(kn2)=b(kn1)+aGf(nn)*gG2;endend%在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,'*-');%画图并比较hold on;plot(xx,uex);hold off;xlabel('x');ylabel('u');。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.