加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

二维稳态导热——C语言程序

(2014-07-16 22:54:13)
标签:

cfd

//二维稳态导热,固定壁温

#include                           
#define dx 1.0
#define dy 1.0
void main()
{
    float T[11][11]={0};
    int i,j,iter_times=1;
    for(i=0;i<=10;i++)        //初始化温度场
    {
        T[0][i]=20;
        T[10][i]=80;
        T[i][0]=0;
        T[i][10]=100;
    }
    T[0][10]=100;
    for(i=0;i<=10;i++)
    {
        for(j=0;j<=10;j++)
            printf("%.2f\t",T[i][j]);
        printf("\n");
    }
    float s;
    s=(dx*dx*dy*dy)/(2*dx*dx+2*dy*dy);
    printf("s=%f\n",s);
                           //gauss-seider 迭代
    loop:
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=9;j++)
        {
            T[i][j]=s*((T[i+1][j]+T[i-1][j])/(dx*dx)+(T[i][j+1]+T[i][j-1])/(dy*dy));
        }
    }

    printf("\niter %d times:\n",iter_times++);
    for(i=0;i<=10;i++)
    {
        for(j=0;j<=10;j++)
            printf("%.2f\t",T[i][j]);
        printf("\n");
    }
    if(iter_times<=100)      //经肉眼判断已经收敛...
        goto loop;
}

计算结果:

http://s15/mw690/002ZNkK7gy6KvHAY9wqbe&690





0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有