基于有限体积法(FVM)求解二维导热与对流问题

基于有限体积法(FVM)求解二维导热与对流问题


一、数学模型建立

1. 控制方程

二维稳态导热-对流方程:

\(\frac{\partial}{\partial x}\left(k\frac{\partial T}{\partial x}\right) + \frac{\partial}{\partial y}\left(k\frac{\partial T}{\partial y}\right) + \dot{q} = 0\)

对流边界条件(Robin型):

\(-k\frac{\partial T}{\partial n} = h(T - T_\infty)\)

2. 网格划分

采用结构化正交网格,节点数\(N_x \times N_y\),控制体积尺寸\(\Delta x, \Delta y\)


二、MATLAB核心代码实现

1. 网格初始化

% 参数设置
Lx = 0.1; Ly = 0.1; % 计算域尺寸(m)
Nx = 50; Ny = 50;   % 网格节点数
k = 200;            % 导热系数(W/m·K)
h = 25;             % 对流系数(W/m²·K)
T_inf = 25;         % 环境温度(°C)

% 网格生成
dx = Lx/(Nx-1); dy = Ly/(Ny-1);
[X,Y] = meshgrid(linspace(0,Lx,Nx), linspace(0,Ly,Ny));

2. 离散方程组装

% 初始化矩阵
A = sparse(Nx*Ny,Nx*Ny);
b = zeros(Nx*Ny,1);

% 内部节点循环
for i = 2:Nx-1
    for j = 2:Ny-1
        idx = sub2ind([Nx,Ny],i,j);
        kx = k; ky = k; % 各向同性材料
        
        % 离散方程
        A(idx,idx) = -(kx/dy^2 + ky/dx^2);
        A(idx,idx-1) = kx/dy^2;       % 左邻居
        A(idx,idx+1) = kx/dy^2;       % 右邻居
        A(idx,idx-Nx) = ky/dx^2;      % 下邻居
        A(idx,idx+Nx) = ky/dx^2;      % 上邻居
        
        b(idx) = -dotq; % 内热源项
    end
end

3. 边界条件处理

% 左边界(Dirichlet)
for j = 1:Ny
    idx = sub2ind([Nx,Ny],1,j);
    A(idx,:) = 0; A(idx,idx) = 1;
    b(idx) = 100; % 固定温度100°C
end

% 上边界(Robin型对流)
for i = 1:Nx
    idx = sub2ind([Nx,Ny],i,Ny);
    A(idx,:) = 0; A(idx,idx) = 1;
    b(idx) = h*(T_inf - T_inf); % 对流项处理
end

4. 迭代求解

% 初始猜测
T = 25*ones(Nx,Ny);

% Gauss-Seidel迭代
max_iter = 10000; tol = 1e-6;
for iter = 1:max_iter
    T_old = T;
    for i = 2:Nx-1
        for j = 2:Ny-1
            idx = sub2ind([Nx,Ny],i,j);
            T(i,j) = (A(idx,:) * T + b(idx)) / A(idx,idx);
        end
    end
    if max(abs(T(:)-T_old(:))) < tol
        break;
    end
end

三、结果可视化与分析

1. 温度场分布

figure;
surf(X,Y,T);
xlabel('X (m)'); ylabel('Y (m)'); zlabel('Temperature (°C)');
title('二维稳态温度场分布');
colorbar;

2. 关键参数计算

% 最大温差
Delta_T = max(T(:)) - min(T(:));

% 热流密度计算
qx = -k*diff(T,1,2)./diff(X,1,2);
qy = -k*diff(T,1,1)./diff(Y,1,1);

四、资源推荐

  1. 代码
    • 源程序求解二维导热与对流问题 youwenfan.com/contentcnb/52499.html
  2. MATLAB工具箱
    • FVM工具箱 github.com/fvmmatlab
      支持多物理场耦合求解
posted @ 2025-07-29 15:39  康帅服  阅读(41)  评论(0)    收藏  举报