#include <iostream>
double length; //导热体的长度
double TL,TR; //左侧温度,右侧温度
double den,c,k; //物质密度,比热,导热系数
double s; //热源
double dt; //时间间隔
int n; //控制体的个数
int tmaxstep;
//-------------以上为和物理问题有关的变量--------------------
double dx;
double T0[103],T[103]; //从0-10共十一个元素,即左右边界两个体积为零的控制体和中间9个控制体,内部的元素对应11个温度的值
double ae0[103],aw0[103],ap0[103],ap1[103],b[103];
double ae1[103],aw1[103];
double a[103],b0[103],c0[103],d[103],x[103],p[103],q[103]; //前三为系数矩阵系数,d为等式右侧矩阵系数,x为未知数
//三对角子函数
void TDMA()
{
int i;
i=1;
p[i]=-c0[i]/a[i];
q[i]=d[i]/a[i];
for(i=2;i<n;i++)
{
p[i]=-c0[i]/(a[i]+b0[i]*p[i-1]);
q[i]=(d[i]-b0[i]*q[i-1])/(a[i]+b0[i]*p[i-1]);
}
i=n;
x[i]=(d[i]-b0[i]*q[i-1])/(a[i]+b0[i]*p[i-1]);
for(i=n-1;i>=1;i--)
{
x[i]=p[i]*x[i+1]+q[i];
}
}
//---------------------------------
int main()
{
int tstep; //时间步循环控制
2.一维瞬态常系数导热离散方程时间隐式格式
最新推荐文章于 2025-02-06 08:53:08 发布