- 16
- 0
- 约3.34千字
- 约 6页
- 2017-06-08 发布于湖北
- 举报
导热问题数值解法初次研究对物理物体的数值求解的基本思想可以概括为:把原有的时间、空间坐标系中连续的物理量的场,如导热问题的温度场,用有限个离散点上的值的集合来代替,通过求解按一定方法建立起来的关于这些值的代数方程,来获得离散点上的值。这些离散点上的被求解物理量的值的集合称为该物理量的数值解。物理模型在四个输气的管道中间有一个各边长为10厘米的薄铁片,求导热其达到稳态后,这块铁片的温度分布。四个输气管道里的气体温度是恒值分别为100℃、200℃、500℃、1000℃。因此,可以看成是二维矩形域内的稳态、无内热源、常物性的导热问题。建立数学模型描写物理问题的微分方程称为控制方程,导热微分方程为:(1)其四个边界分别为第一类边界条件,。区域离散化用一系列与坐标轴平行的网格线把求解区域划分成许多子区域,以网格线的交点作为需要确定温度值的空间位置,称为节点。相邻两节点的距离称为步长,记为、。本模型、方向是各自均分的,各自为100个子区域。节点的位置以该节点在两个方向上的标号、来表示。每一个节点都可以看成是以它为中心的一个小区域的代表,由相邻的两节点连接的中垂线构成。为叙述方便,我们把节点所代表的小区域称为元体。数学模型离散化它的建立是数值求解过程中的重要环节,主要有泰勒级数展开法及热平衡法两种,取节点(,)及其临点为例。泰勒级数展开法以节点(,)处的二阶偏导数为例用这种方法来导出其差分表达式。对节点及分别写出函数对(,)的泰勒级数展开式:(2)(3)将式(2)、(3)相加得(4)将(4)式改写成的表达式,有(5)这是用三个离散点上的值来计算二阶导数的严格的表达式,其中符号表示未明确写出的级数余项中的最低阶数为2。在进行数值计算时,我们希望得出用三个相邻节点上的值表示的二阶导数的近似表达式。于是,略去式(5)中的余项后,得(6-1)这就是二阶导数的差分表达式,称为中心差分。同理可有(6-2)将式(6-1)、(6-2)代入式(1)得离散方程(7)如果,,则式(7)即为下式,(8)热平衡法采用这种方法时,对每个节点所代表的元体可用傅里叶导热定律直接写出其能量守恒形式的表达式。此时把节点看成是元体的代表。通过元体的界面所传导的热流量可以对有关的两个节点应用傅里叶定律写出。例如,从节点通过界面(节点西面的界面)传导到节点的热流量可写为(9-1)类似的可以写出通过其他三个界面、、而传到给节点的的热量。(9-2)(9-3)(9-4)对于所研究的问题,元体的能量守恒方程为(10)将(9-1)、(9-2)、(9-3)、(9-4)分别代入得(11)(11)式中都已热量导入元体的方向为正,对其进一步两边同除以可得出式即为式(7)。如果,,则式(7)即为下式,即为式(8)。有上述推导过程可见,用热平衡法导出式(11)的思路和过程与建立导热微分方程的思路和过程完全一致,所不同的只是建立导热微分方程所讨论的是一个微元体,而此处的为一个有限大小的元体。建立迭代初场和给出边界条件四个输气管道里的气体温度是恒值分别为100℃、200℃、500℃、1000℃,因此可设四条边的温度分别为。此次大作业采用迭代法,因此需要对被求的温度场预先假定一个值,设为四条边最低温度,此值在迭代中不断更新。求解离散化方程采用FORTRAN语言求解离散化方程,原程序如下:program Heattransfer_Problem_kk12000 implicit none integer:: m_x=101 !x方向的网格点数! integer:: n_y=101 !y方向的网格点数! integer:: k_k=12000 !迭代次数! integer m !x方向的网格代号! integer n !y方向的网格代号! integer k !迭代次数! real,allocatable:: t(:,:) !声明可变大小的数组! !定义初值函数! real,external:: f allocate(t(m_x,n_y)) !赋初值(第一时间层)! do m=1,m_x !x方向循环! do n=1,n_y !y方向循环! t(m,n)=f(m,n) end do end do !计算温度场的结果! do k=1,k_k !迭代次数增加! do m=2,m_x-1 !x方向循环! do n=2,n_y-1 !y方向循环! !计算温度场的函数,输入一点周围四点温度值,返回这一点下一迭代层的值! t(m,n)=(t(m+1,n)+t(m-1,n)+t(m,n+1)+t(m,n-1))/4 end do end do !if(max(abs(t(m,n,k)-t(m,n,k-
原创力文档

文档评论(0)