变分原理及有限元大作业.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
八、附录?附录一:程序代码??#includestdio.h?#includemath.h?#includestdlib.h?#includeiomanip.h?#includeiostream.h?float?**float_two_array_malloc(int?m,int?n)???//实型二维动态数组分配?{?float?**a;?????int?i,j;?a=(float?**)malloc(m*sizeof(float?*));?????for?(i=0;im;i++)?????{???????? ?a[i]=(float?*)malloc(n*sizeof(float));for?(j=0;?jn;?j++)???{?? ??a[i][j]=0;?????}?????}??return?a;}float?*float_one_array_malloc(int?n)???//实型一维动态数组分配?{?????float?*a;?????int?j;????? a=(float?*)malloc(n*sizeof(float));??for?(j=0;?jn;?j++)??{?? ?a[j]=0;} return a ;}int?**int_two_array_malloc(int?m,int?n)???//整型二维动态数组分配{???? ?int?**a;?????int?i,j;?????a=(int?**)malloc(m*sizeof(int?*));?????for?(i=0;im;i++)?{?a[i]=(int?*)malloc(n*sizeof(int));???for?(j=0;?jn;?j++)???{????a[i][j]=0;???}?????}??return?a;?}?int?*int_one_array_malloc(int?n)???//整型一维动态数组分配{?int?*a;?????int?j;?a=(int?*)malloc(n*sizeof(int));??for?(j=0;?jn;?j++)??{?a[j]=0;??}?????return?a;?}?//全局变量定义int?np,ne,nr1,nr2,nd,nf,n,ndf,ld,nm,nu1,nu2;?float?*x,*y,*p,**pp,u1,u2;??//x,y,me,nrr,p为输入信息?float?coords[2][4],det,fun[4],pn[2][4],xjac[2][2],rjac[2][2],dnx[2][4];?//求单刚定义的变量?int?*LD,**me,*nrr,*nu,*IS,nn;??//nn为变带宽一维组中元素个数???????????????????????//IS表示单元节点位移在结构位移阵列中对应的序号float?**EK,**s,*A,**ns,**mat;???//EK为总体坐标系下单元的刚度矩阵//A存储结构刚度矩阵的一维变带宽数组???????????????????????//s存放各单元应力中心点的应力???????//ns存放各节点的应力?void?input()????//输入函数定义?{??int?i,j;??FILE?*fp1;?? fp1=fopen(input.dat,r);?//要输入的内容放在input.dat中??if(fp1==NULL)??{??? printf(cannt?open?the?file?!\n);???exit(1);??}?//控制信息读入?fscanf(fp1,%d,np);??fscanf(fp1,%d,ne);?fscanf(fp1,%d,nr1);????fscanf(fp1,%d,nr2);???fscanf(fp1,%d,nd);?????fscanf(fp1,%d,nf);??fscanf(fp1,%d,ld);???fscanf(fp1,%d,nm);???fscanf(fp1,%d,nu1);???fscanf(fp1,%f,u1);???fscanf(fp1,%d,nu2);???fscanf(fp1,%f,u2);??????n=nf*np;?ndf=nf*nd;?//?printf(%d\t%f\t%d\t%f\n,nu1,u1,nu2,u2);?//动态数组生成??x=float_one_array_malloc(np);?????y=float_one_array_malloc(np);??nrr=int_one_array_malloc(nr1+nr2);???//位移约束为零的节点,nr1--x方向约束,nr2---y方向约束??nu=int_one_array_mall

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档