东南大学传热学二维稳态差分接点计算论文

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二维稳态计算实验报告

王## 能源与环境学院03012###一、题目要求

二、各节点离散化代数方程

取研究节点为t(i,j),其上部节点温度用T表示,下部节点温度用B表示,左侧节点温度用L表示,右侧节点温度用R表示。该题目各节点离散化代数方程可分为四个区域:

区域一:

t(i,j)=

区域二:

t(i,j)=t i-1,j+t i,j-1+t i+1,j+t i,j+1

4

区域三:

t(i,j)=

区域四:

t(i,j)=

三、源程序

Jacobi迭代计算代码(C#):

for (int n = 0; n < 6; n++)

{

mg0[m, n] = new Button();

mg0[m, n].Text = mg[m, n].Text.ToString ();

}

for (int m = 1; m < 4; m++)

{

int n = 1;

double t = Convert.ToDouble(mg0[m - 1, n].Text.ToString()); double b = Convert.ToDouble(mg0[m + 1, n].Text.ToString()); double l = Convert.ToDouble(mg0[m, n - 1].Text.ToString()); double r = Convert.ToDouble(mg0[m, n + 1].Text.ToString()); double center = (200 + t + 2*r + b) / 24;

mg[m, n].Text =center.ToString();

mg[m, n].BackColor = Color.LightBlue;

}

for (int m = 1; m < 4; m++)

{

for (int n = 2; n < 5; n++)

{

double t = Convert.ToDouble(mg0[m - 1,n].Text.ToString()); double b = Convert.ToDouble(mg0[m + 1, n].Text.ToString()); double l = Convert.ToDouble(mg0[m, n - 1].Text.ToString()); double r = Convert.ToDouble(mg0[m, n + 1].Text.ToString()); double center = (l + t + r + b) / 4;

mg[m, n].Text =center.ToString();

mg[m, n].BackColor = Color.LightBlue;

}

}

for (int m = 4; m < 5; m++)

{

int n = 1;

double t = Convert.ToDouble(mg0[m - 1, n].Text.ToString());

double l = Convert.ToDouble(mg0[m, n - 1].Text.ToString()); double r = Convert.ToDouble(mg0[m, n + 1].Text.ToString()); double center = (100 + t + r) / 12;

mg[m, n].Text =center.ToString();

mg[m, n].BackColor = Color.LightBlue;

}

for (int n = 2; n < 5; n++)

{

int m = 4;

double t = Convert.ToDouble(mg0[m - 1, n].Text.ToString());

double r = Convert.ToDouble(mg0[m, n + 1].Text.ToString());

double center = (2*t + r + l) / 4;

mg[m, n].Text =center.ToString();

mg[m, n].BackColor = Color.LightBlue;

}

j = Convert.ToDouble(mg[1, 1].Text.ToString()); for (int m = 0; m < 6; m++)

{

for (int n = 0; n < 6; n++)

{

mg0[m, n] = new Button();

mg0[m, n].Text = mg[m, n].Text.ToString();

}

}

高斯(Gauss)-赛德尔(Seidel)迭代计算代码(C#):

for (int m = 1; m < 4; m++)

{

int n = 1;

double t = Convert.ToDouble(mg[m - 1, n].Text.ToString());

double b = Convert.ToDouble(mg[m + 1, n].Text.ToString());

double l = Convert.ToDouble(mg[m, n - 1].Text.ToString());

double r = Convert.ToDouble(mg[m, n + 1].Text.ToString());

double center = (200 + t + 2*r + b) / 24;

mg[m, n].Text =center.ToString();

mg[m, n].BackColor = Color.LightBlue;

}

for (int m = 1; m < 4; m++)

{

for (int n = 2; n < 5; n++)

{

double t = Convert.ToDouble(mg[m - 1, n].Text.ToString());

double b = Convert.ToDouble(mg[m + 1, n].Text.ToString());

double l = Convert.ToDouble(mg[m, n - 1].Text.ToString());

double r = Convert.ToDouble(mg[m, n + 1].Text.ToString());

double center = (l + t + r + b) / 4;

mg[m, n].Text =center.ToString();

mg[m, n].BackColor = Color.LightBlue;

}

}

for (int m = 4; m < 5; m++)

{

int n = 1;

相关文档
最新文档