有限元算例二维传热c程序源代码.doc

有限元算例二维传热c程序源代码.doc

ID:55707955

大小:14.50 KB

页数:2页

时间:2020-05-26

有限元算例二维传热c程序源代码.doc_第1页
有限元算例二维传热c程序源代码.doc_第2页
资源描述:

《有限元算例二维传热c程序源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、//------------计算多重积分的高斯方法------------------------//n整型变量,积分重数//js整型一维数组,长度为n,//其js(i)(i=0,1,...,n-1)表示第i层积分区间所划分的子区间个数//fn()被积函数(函数指针)//fnGaussLimit()函数(函数指针)计算各层积分上下限值(上限>下限)//--------------------------------------------------------------doubleGaussIntegral(intn,int

2、js[],double(*fn)(intn,doublex[]),void(*fnGaussLimit)(intj,intn,doublex[],doubley[])){intm,j,k,q,*is;doubley[2],p,s,*x,*a,*b;staticdoublet[5]={-0.,-0.,0.0,0.,0.};staticdoublec[5]={0.,0.,0.,0.,0.};is=(int*)malloc(2*(n+1)*sizeof(int));x=(double*)malloc(n*sizeof(double))

3、;a=(double*)malloc(2*(n+1)*sizeof(double));b=(double*)malloc((n+1)*sizeof(double));m=1;a[n]=1.0;a[2*n+1]=1.0;while(true){for(j=m;j<=n;j++){fnGaussLimit(j-1,n,x,y);a[j-1]=0.5*(y[1]-y[0])/js[j-1];b[j-1]=a[j-1]+y[0];x[j-1]=a[j-1]*t[0]+b[j-1];a[n+j]=0.0;is[j-1]=1;is[n+j]

4、=1;}j=n;q=1;while(q==1){k=is[j-1];if(j==n)p=fn(n,x);elsep=1.0;a[n+j]=a[n+j+1]*a[j]*p*c[k-1]+a[n+j];is[j-1]=is[j-1]+1;if(is[j-1]>5){if(is[n+j]>=js[j-1]){j=j-1;q=1;if(j==0){s=a[n+1]*a[0];free(is);free(x);free(a);free(b);return(s);}}else{is[n+j]=is[n+j]+1;b[j-1]=b[j-1]+

5、a[j-1]*2.0;is[j-1]=1;k=is[j-1];x[j-1]=a[j-1]*t[k-1]+b[j-1];if(j==n)q=1;elseq=0;}}else{k=is[j-1];x[j-1]=a[j-1]*t[k-1]+b[j-1];if(j==n)q=1;elseq=0;}}m=j+1;}return0;}//--------------------------------------------------------------

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

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

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