加热炉钢坯温度计算传热学应用

news2024/11/25 12:21:44

非常感谢“计算传热学大叔”,大家了解更多,请移步前期文章:https://blog.csdn.net/weixin_37928884/article/details/127709215

第一类边界条件
在这里插入图片描述

clc  
clear 
close all  %直接在此修改参数 
length = 0.135;     %长度 
Tb = 930;     %初始温度 
TL = 1150;     %边界温度1 
TR = 1150;       %边界温度2 
den = 7840;      %控制体密度 
C = 465;       %控制体比热 
k = 28.5;     %控制体导热系数 
s = 0;     %源项 
h = 375;   %换热系数
dt = 1;       %步长 
n = 10;      %网格数 
steps =3000;       %步数  
dx = length / n;  
ae0 = zeros(1,n); 
aw0 = zeros(1,n); 
ap0 = zeros(1,n); 
ap1 = zeros(1,n); 
T0 = Tb * ones(steps+1 ,n+2); 
T0(:,1) = TL * ones(1,steps + 1).'; 
T0(:,n + 2) = TR * ones(1,steps + 1).'; 
b = s * dx;    
for x = 1:steps      
    for i = 2:n          
        ae0(1,i)  = k / dx;           
        aw0(1,i) = k / dx;           
        ap0(1,i) = den * C * dx / dt - ae0(1,i) - aw0(1,i);          
        ap1(1,i) = ae0(1,i) + aw0(1,i) + ap0(1,i);      
    end
    for i = 1           
        ae0(1,i)  = k /( dx / 2);           
        aw0(1,i)  = k / dx;           
        ap0(1,i) = den * C * dx / dt - ae0(1,i) - aw0(1,i);          
        ap1(1,i) = ae0(1,i) + aw0(1,i) + ap0(1,i);      
    end
    for i = n          
        ae0(1,i)  = k / dx;           
        aw0(1,i)   = k /( dx / 2);           
        ap0(1,i) = den * C * dx / dt - ae0(1,i) - aw0(1,i);          
        ap1(1,i) = ae0(1,i) + aw0(1,i) + ap0(1,i);      
    end
end
for x = 2:steps+1      
    for i = 2 : n + 1          
        T0(x , i) = ( ae0(1,i-1) * T0(x-1,i+1) + aw0(1,i-1) * T0 (x-1,i-1) + ap0(1,i-1)* T0(x-1,i) + b)/ap1(1,i-1);      
    end
end
xlist = length/(2 * n) : length/n : length - length/(2 * n);        %坐标(不包括边界) 
Tend = T0(steps + 1,2 : n +1);      %结束时温度 
ylist = T0(steps + 1 ,:); 
result =[0 xlist length  ylist];        %坐标和结束温度  
subplot(1,2,1); 
plot(xlist,Tend) 
xlabel('坐标/m'); 
ylabel('温度/℃'); 
title(['末态温度分布/网格数:',num2str(n)]); 
grid on;  
subplot(1,2,2);
for i = 1 : n + 1     
    x = 1 : steps + 1;     
    time = x * dt/3600;     
    y = T0(:,i);     
    plot(time,y);     
    title(['各点温度与时间关系/步数:',num2str(steps),'/步长:',num2str(dt),'s']);    
    xlabel('时间/h');     
    ylabel('温度/℃');    
    hold on 
end

第三类边界条件

在这里插入图片描述

clc  
clear 
close all  %直接在此修改参数 
length = 0.135;     %长度 
Tb = 930;     %初始温度 
TL = 1150;     %边界温度1 
TR = 1150;       %边界温度2 
den = 7840;      %控制体密度 
C = 465;       %控制体比热 
k = 28.5;     %控制体导热系数 
s = 0;     %源项 
h = 375;   %换热系数
dt = 1;       %步长 
n = 10;      %网格数 
steps =3000;       %步数  
dx = length / n;  
ae0 = zeros(1,n); 
aw0 = zeros(1,n); 
ap0 = zeros(1,n); 
ap1 = zeros(1,n); 
T0 = Tb * ones(steps+1 ,n+2); 
T0(:,1) = TL * ones(1,steps + 1).'; 
T0(:,n + 2) = TR * ones(1,steps + 1).'; 
b = s * dx;    
for x = 1:steps      
    for i = 2:n          
        ae0(1,i)  = k / dx;           
        aw0(1,i) = k / dx;           
        ap0(1,i) = den * C * dx / dt - ae0(1,i) - aw0(1,i);          
        ap1(1,i) = ae0(1,i) + aw0(1,i) + ap0(1,i);      
    end
    for i = 1           
        ae0(1,i)  = 1/(((dx / 2)/k) + 1/h) ;%k /( dx / 2);           
        aw0(1,i)  = k / dx;           
        ap0(1,i) = den * C * dx / dt - ae0(1,i) - aw0(1,i);          
        ap1(1,i) = ae0(1,i) + aw0(1,i) + ap0(1,i);      
    end
    for i = n          
        ae0(1,i)  = k / dx;           
        aw0(1,i)   = 1/(((dx / 2)/k) + 1/h);%k /( dx / 2);           
        ap0(1,i) = den * C * dx / dt - ae0(1,i) - aw0(1,i);          
        ap1(1,i) = ae0(1,i) + aw0(1,i) + ap0(1,i);      
    end
end
for x = 2:steps+1      
    for i = 2 : n + 1          
        T0(x , i) = ( ae0(1,i-1) * T0(x-1,i+1) + aw0(1,i-1) * T0 (x-1,i-1) + ap0(1,i-1)* T0(x-1,i) + b)/ap1(1,i-1);      
    end
end
xlist = length/(2 * n) : length/n : length - length/(2 * n);        %坐标(不包括边界) 
Tend = T0(steps + 1,2 : n +1);      %结束时温度 
ylist = T0(steps + 1 ,:); 
result =[0 xlist length  ylist];        %坐标和结束温度  
subplot(1,2,1); 
plot(xlist,Tend) 
xlabel('坐标/m'); 
ylabel('温度/℃'); 
title(['末态温度分布/网格数:',num2str(n)]); 
grid on;  
subplot(1,2,2);
for i = 1 : n + 1     
    x = 1 : steps + 1;     
    time = x * dt/3600;     
    y = T0(:,i);     
    plot(time,y);     
    title(['各点温度与时间关系/步数:',num2str(steps),'/步长:',num2str(dt),'s']);    
    xlabel('时间/h');     
    ylabel('温度/℃');    
    hold on 
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1803703.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录一次springboot、ruoyi若依前后端不分离项目和vue项目的合并整合问题,搞了一天总结

项目场景: 因为此功能只做为客户方一个小模块,客户方使用的是springboot前后端不分离的架构。而我们的项目是使用前后端分离springbootvue的架构。在接项目前,项目已经存在,所以不存在设计架构的前提。实际是在原有基础上修改的。…

计算机二级Access操作题总结——简单应用

查询设计 创建一个查询,能够在客人每次结账时根据客人的姓名提示统计这个客人已住天数和应交金额,并显示“姓名”、“房间号”、“已住天数”和“应交金额”,所建查询命名为“qT2”。 注:输入姓名时应提示“请输入姓名”。已住天…

C++开源项目:pathcopycopyV20源码及运行程序

PathCopyCopy 是一个开源的 Windows 资源管理器扩展项目,旨在为用户提供一个更加高效、便捷的文件路径复制和管理工具。以下是关于 PathCopyCopy 开源项目的详细介绍: 1. 项目概述 2. 项目技术分析 3. 项目功能 4. 项目特点 5. 项目应用场景 6. 项目…

ARP欺骗的原理与详细步骤

ARP是什么: 我还记得在计算机网络课程当中,学过ARP协议,ARP是地址转换协议,是链路层的协议,是硬件与上层之间的接口,同时对上层提供服务。在局域网中主机与主机之间不能直接通过IP地址进行通信&#xff0c…

【TS|第2期】 TypeScript 类型声明:基础与进阶

日期:2024年6月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xff…

贪心算法-加油站

一、题目描述 二、解题思路 1.运动过程分析 这里需要一个油箱剩余油量的变量resGas,初始化resGas0;还需要一个标记从什么位置当做初始位置的startIdx,初始化startIdx0。 我们从数组下标idx0处开始向后遍历,初始时startIdx0&#…

计算机专业本科论文起稿咋写

举例基于SpringBoot的Java基础的旅游管理系统 摘要 随着旅游业的快速发展,传统的旅游管理方式已经难以满足现代企业的需求。为了提高旅游企业的管理水平和服务质量,本文设计并实现了一个基于SpringBoot框架的旅游管理系统。本文首先介绍了旅游管理系统的…

聊一聊大数据需求的流程

大致的流程:需求对接、口径梳理、数据开发、任务发布、任务监控、任务保障 流程图 startuml skinparam packageStyle rectangleactor 需求方 participant 数据BP as 数据组 participant 离线数仓 participant 实时数仓需求方 -> 数据组: 提出需求 数据组 -> …

nomachine使用记录以及录包以及自动画深度学习网络图

录包命令: rosbag record 话题名字(可以是原相机话题和执行程序的话题)rosbag play 包名(可以离线播放包的数据) rqt_image_view 话题可视化yolov8自动生成网络结构图: pip install tensorflowtensorboard…

【优选算法】字符串

一、相关编程题 1.1 最长公共前缀 题目链接 14. 最长公共前缀 - 力扣&#xff08;LeetCode&#xff09; 题目描述 算法原理 编写代码 // 解法一&#xff1a;两两比较 class Solution { public:string longestCommonPrefix(vector<string>& strs) {int k strs[0…

《QT从基础到进阶·四十二》QT运行后项目图标,exe图标问题,VS加载.pro文件问题

1、QT图标有时候不能正常显示&#xff0c;不管是加到qrc还是用绝对路径&#xff0c;都无法正常显示&#xff0c;之前是可以的&#xff0c;具体原因目前还不太清楚&#xff0c;我在VS项目——vcpkg——use vcpkg把否改为是就可以了 2、出现无法定位程序输入点的报错&#xff0c…

Java Web学习笔记27——对话框、表单组件

常见组件对话框&#xff1a; Dialog对话框&#xff1a;在保留当前页面状态下&#xff0c;告知用户并承载相关操作。 dialogTableVisible: false 默认是不可见的。 在按钮属性中设置为true的意思&#xff0c;点击按钮的时候&#xff0c;才会true&#xff0c;对话框才会显示。 …

基于Springboot+vue实现的汽车服务管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

【Python】解决Python报错:TypeError: ‘int‘ object is not callable

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 误用变量名2.2 混淆函数与结果 3. 解决方案3.1 明确变量类型3.2 使用函数调用() 4. 预防措施4.1 代码审查4.2 单元测试 结语 引言 在Python开发中&#xff0c;TypeError 是一种常见的错误类型&#xff0c;尤其是在尝试…

AI图书推荐:用ChatGPT来写非虚构类书籍

这本书《用ChatGPT来写非虚构类书籍 》&#xff08;ChatGPT For KDP_ A manual from an experienced self-publisher to nonfiction authors for writing the book you were born to write with ChatGPT prompts mastering&#xff09;是一本专为非虚构类书籍作者编写的指南&am…

初识C++ · 模拟实现list

目录 前言 1 push_back pop_back 2 迭代器类 2.1 ! 2.2 -- 2.3 * 3 Print_List 4 有关自定义类型 5 有关const迭代器 6 拷贝构造 赋值 析构 Insert erase 前言 有了string&#xff0c;vector的基础&#xff0c;我们模拟实现list还是比较容易的&#xff0c;这里同…

pc之间的相互通信详解

如图&#xff0c;实现两台pc之间的相互通信 1.pc1和pc2之间如何进行通讯。 2.pc有mac和ip&#xff0c;首先pc1需要向sw1发送广播&#xff0c;sw1查询mac地址表&#xff0c;向router发送广播&#xff0c;router不接受广播&#xff0c;router的每个接口都有ip和mac&#xff0c;…

windows下 Qt 操作xlsx 和 csv

需求&#xff1a; 工作中遇到一个需求&#xff0c;有两张表格&#xff0c;一个xlsx表&#xff0c;一个csv表格&#xff0c;格式如下&#xff1a; 以csv表格中船台标识为基础&#xff0c;读取xlsx中的数据&#xff0c;如果存在该MMSI则把船名写道csv中对应船名的后面&#xff0…

四十三、openlayers官网示例Freehand Drawing解析——在地图上自由绘制图形

想要在地图上绘制自由图形&#xff0c;只需要在new Draw的时候多加一个配置项就行。 function addInteraction() {const value typeSelect.value;if (value ! "None") {draw new Draw({source: source,type: typeSelect.value,freehand: true, //是否自由绘制});ma…

TensorRT 精度debug分析工具

tensorRT还提供了一套可用于engine生成过程中debug的工具&#xff0c;包括Polygraphy、ONNX GraphSurgeon和PyTorch-Quantization。这些小工具用处很大&#xff0c;值得花时间进一步研究。 Debug方法示例 polygraphy Polygraphy是TensorRT官方提供的一系列小工具合集&#x…