弹性力学平面问题有限元程序

弹性力学平面问题有限元程序

ID:12384424

大小:45.50 KB

页数:9页

时间:2018-07-16

弹性力学平面问题有限元程序_第1页
弹性力学平面问题有限元程序_第2页
弹性力学平面问题有限元程序_第3页
弹性力学平面问题有限元程序_第4页
弹性力学平面问题有限元程序_第5页
资源描述:

《弹性力学平面问题有限元程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、有限单元法弹性力学平面问题有限元程序#defineNODE_NUM300#defineELE_NUM200#defineNODE2NODE_NUM*2#include#include#includeintnj,ne,nm,nz,npj,jm[ELE_NUM][4],nzc[60],nj2,bw,lxm;floatea,e,um,oul,te,xy[NODE_NUM][4],EA[5],p[NODE2],pj,F[ELE_NUM],etm[5][5];floatek[

2、7][7];double**K,*f;intBAND2(intn,intm,double**K,double*f);double**TwoArrayAlloc(int,int);voidTwoArrayFree(double**);FILE*outf;/*-------------------------------------------*/double**TwoArrayAlloc(intr,intc){double*x,**y;intn;x=(double*)calloc(r*c,sizeof(double));

3、y=(double**)calloc(r,sizeof(double*));for(n=0;n<=r-1;++n)y[n]=&x[c*n];return(y);}/*-------------------------------------------*/voidTwoArrayFree(double**x){free(x[0]);free(x);}/*------------------------------------------*/intBAND2(intn,intm,double**K,double*f){i

4、nti,j,t,ij,ji,it,jt,tm,m1;doubles,w;m1=m+1;for(i=1;i<=n;i++){if(K[i-1][m1-1]<=0)return(0);w=0.0;if(i>m1)tm=i-m;elsetm=1;for(j=tm;j<=i;j++){s=0.0;ij=j-i+m1;for(t=tm;t<=j-1;t++){it=t-i+m1;jt=t-j+m1;s=s+K[i-1][it-1]*K[j-1][jt-1]/K[t-1][m1-1];}K[i-1][ij-1]=K[i-1][ij

5、-1]-s;if(j==i)f[i-1]=f[i-1]-w;elsew=w+K[i-1][ij-1]*f[j-1]/K[j-1][m1-1];}}for(i=n;i>=1;i--){s=0.0;if(i>n-m1)tm=n;elsetm=i+m;for(j=i+1;j<=tm;j++){ji=i-j+m1;s=s+K[j-1][ji-1]*f[j-1];}f[i-1]=(f[i-1]-s)/K[i-1][m1-1];}return1;}/*----------------------------------------

6、-*/voidinput(){intjj,j,i,nh,nl;floatdx,dy;FILE*infile;charname1[30],name2[30];R:printf("pleaseenterdata-filename");scanf("%s",name1);if((infile=fopen(name1,"r"))==NULL){printf("thedata-filenotexit!");gotoR;}printf("Pleaseenterresult-filename");scanf("%s",nam

7、e2);outf=fopen(name2,"w");fscanf(infile,"%d%d%d%d%d%d5d",&nj,&ne,&nm,&nz,&npj,&lxm);for(i=1;i<=nj;i++){for(j=1;j<3;j++)fscanf(infile,"%f",&xy[i][j]);}for(i=1;i<=ne;i++){for(j=0;j<4;j++)fscanf(infile,"%d",&jm[i][j]);}for(i=1;i<=nm;i++){for(j=1;j<=4;j++)fscanf(inf

8、ile,"%f",&etm[i][j]);}for(i=1;i<=nz;i++)fscanf(infile,"%d",&nzc[i]);nj2=nj*2;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。