021_Thermal_Transient_in_Matlab统一偏微分框架之热传导问题

在这里插入图片描述

  • Matlab求解有限元专题系列

固体热传导方程

固体热传导的方程为:

ρ C p ( ∂ T ∂ t + u t r a n s ⋅ ∇ T ) + ∇ ⋅ ( q + q r ) = − α T d S d t + Q \rho C_p \left( \frac{\partial T}{\partial t} + \mathbf{u}_{\mathtt{trans}} \cdot \nabla T \right) + \nabla \cdot (\mathbf{q}+\mathbf{q}_r) = -\alpha T \frac{d \mathbf{S}}{dt} + \mathbf{Q} ρCp(tT+utransT)+(q+qr)=αTdtdS+Q

这里涉及的参数包括:

参数含义
ρ \rho ρ密度, k g / m 3 \mathtt{kg}/\mathtt{m}^3 kg/m3
C p C_p Cp比热容, J / k g ⋅ K \mathtt{J}/\mathtt{kg} \cdot \mathtt{K} J/kgK
T T T温度, K \mathtt{K} K
u t r a n s \mathbf{u}_{\mathtt{trans}} utrans位移速度, m / s \mathtt{m}/\mathtt{s} m/s
q \mathbf{q} q热流密度, W / m 2 \mathtt{W}/\mathtt{m}^2 W/m2
q r \mathbf{q}_r qr辐射热流密度, W / m 2 \mathtt{W}/\mathtt{m}^2 W/m2
α \alpha α热膨胀系数, K − 1 \mathtt{K}^{-1} K1
S \mathbf{S} S第二Piola-Kirchhoff 应力张量, P a \mathtt{Pa} Pa
Q \mathbf{Q} Q额外的热源, W / m 3 \mathtt{W}/\mathtt{m}^3 W/m3

将内部热传导的热流简化为传热系数与温差的乘积:

q = − k ∇ T \mathbf{q} = -k \nabla T q=kT

这里的 k k k是热传导系数,单位是 W / m ⋅ K \mathtt{W}/\mathtt{m} \cdot \mathtt{K} W/mK

忽略热辐射、运动和应力张量等项,上述方程可以简化为:

ρ C p ∂ T ∂ t − ∇ ⋅ ( k ∇ T ) = Q \rho C_p \frac{\partial T}{\partial t} - \nabla \cdot (k \nabla T) = Q ρCptT(kT)=Q

通常只需要考虑以下量值:

参数含义
t t t时间自变量
x \mathbf{x} x空间自变量
T T T温度,传热方程积分应变量
Q Q Q热源,抽象为(通常是边界)单元的热载荷
ρ \rho ρ密度,物性,基本不随温度变化
k k k热传导系数,物性,随温度变化
C p C_p Cp比热容,物性,随温度变化

定义热扩散系数为

α = k ρ C p \alpha = \frac{k}{\rho C_p} α=ρCpk

积分传热方程时,可以考虑把对应的参数都设为1,此时,方程变为:

∂ T ∂ t ∗ − ∇ ⋅ ∇ T = Q / k \frac{\partial T}{\partial t^*} - \nabla \cdot \nabla T = Q/k tTT=Q/k

这里的 t ∗ t^* t是无量纲时间,定义为:

t ∗ = α t t^* = \alpha t t=αt

有限元求解过程

对中间有一个空洞的矩形区域,求解其热传导方程。

通过CSG建模,生成一个矩形区域,然后在中间挖去一个小矩形区域。先建一个函数:

function gg = blockWithCavityrect1 = [3 4 -0.5 0.5 0.5 -0.5 0.8 0.8 -0.8 -0.8];
rect2 = [3 4 -0.1 0.1 0.1 -0.1 0.4 0.4 -0.4 -0.4];
gd = [rect1', rect2'];
sf = 'R1 - R2';
ns = char('R1', 'R2')';gg = decsg(gd, sf, ns);

然后在计算程序中调用这个函数产生几何体。

%% model and geometry
g = blockWithCavity;
model = femodel(AnalysisType="thermalTransient",...Geometry=g);h = figure(1);
pdegplot(model,EdgeLabels="on");
xlim([-0.6,0.6])
ylim([-1,1])

在这里插入图片描述

按照前面说所说的,把参数都设为1,这样得到解,只会有时间尺度上的线性差异。

model.MaterialProperties = ...materialProperties(ThermalConductivity=1, ...MassDensity=1, ...SpecificHeat=1);

边界同样和初始条件(因为是时变问题)在程序中设定:

%% boundary conditions and initial conditionsmodel.EdgeBC(6) = edgeBC(Temperature=100);
model.EdgeLoad(1) = edgeLoad(Heat=-10);model.FaceIC = faceIC(Temperature=-10);

采取默认的网格:

%%
model = generateMesh(model);figure(2);
pdemesh(model);
title("Mesh with Quadratic Triangular Elements")
xlim([-0.6,0.6])
ylim([-1,1])

在这里插入图片描述

最后,调用fesolve函数求解:

%%tlist = 0:.1:5.0;
results = solve(model,tlist)

results语句后面没有分号,直接显示得到的结果:

results = TransientThermalResults - 属性:Temperature: [1232×51 double]SolutionTimes: [0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1 … ] (1×51 double)XGradients: [1232×51 double]YGradients: [1232×51 double]ZGradients: []Mesh: [1×1 FEMesh]

最后就是结果的可视化:

[qx,qy] = evaluateHeatFlux(results);figure(3)
c = pdeplot(results.Mesh,XYData=results.Temperature(:,end), ...Contour="on",...FlowData=[qx(:,end),qy(:,end)], ...ColorMap="hot");
xlim([-0.6,0.6])
ylim([-1,1])
axis equal
title(sprintf("t = %4.2f", results.SolutionTimes(end)))

在这里插入图片描述

实际上,也很容易利用与前面优化过程可视化相同的方法,将结果可视化成动画。

[qx,qy] = evaluateHeatFlux(results);fn = "cavity.gif";
if exist(fn, 'file')delete(fn);
endfigure(3)for i = 1:size(results.Temperature, 2)c = pdeplot(results.Mesh,XYData=results.Temperature(:,i), ...Contour="on",...FlowData=[qx(:,i),qy(:,i)], ...ColorMap="hot");xlim([-0.6,0.6])ylim([-1,1])axis equaltitle(sprintf("t = %4.2f", results.SolutionTimes(i)))exportgraphics(gca, fn, Resolution=100, Append=true);    
end

在这里插入图片描述

总结

利用统一框架,求解动态热传导方程的过程与求解静力学方程类似,同样是建立模型、设定参数、求解、可视化结果。

不是特别一样的在于,热传导方程的相似参数就只有一个,通过相似性分析,可以简化设定参数的过程,最后结果反应出来的只是时间尺度上的差异。通常而言, α \alpha α 是一个很小的量,因此传热的过程相对来说是比较慢的,通过无量纲化,计算步长比实际时间要小很多。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BM算法(手算版)

BM 算法 BM 算法是一种字符串匹配的算法。 与 KMP 相比&#xff0c;BM 算法不扫描全部输入字符&#xff0c;平均匹配时间 c・n, 常量 c <1 (随机或真实文本), 但最坏情况是 O (n・m). 可以将 BM 算法的最坏情况改进到 O (n)&#xff1a;通过记录文本后缀中最…

计算机系统简介

一、计算机的软硬件概念 1.硬件&#xff1a;计算机的实体&#xff0c;如主机、外设、硬盘、显卡等。 2.软件&#xff1a;由具有各类特殊功能的信息&#xff08;程序&#xff09;组成。 系统软件&#xff1a;用来管理整个计算机系统&#xff0c;如语言处理程序、操作系统、服…

群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP

有nas的相信对公网都不模式&#xff0c;在现在基础上传带宽能有100兆的时代&#xff0c;有公网代表着家里有一个小服务器&#xff0c;像百度网盘&#xff0c;优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip&#xff0c;要么自己买个云服务器做内网穿…

通过github创建自己网页链接的方法

文章目录 要使用GitHub创建静态网页链接&#xff0c;可以按照以下详细步骤进行操作&#xff1a;一、准备阶段二、创建仓库并配置三、准备并上传静态网站文件四、配置GitHub Pages五、访问和更新你的静态网页 要使用GitHub创建静态网页链接&#xff0c;可以按照以下详细步骤进行…

uniapp微信小程序调用百度OCR

uniapp编写微信小程序调用百度OCR 公司有一个识别行驶证需求&#xff0c;调用百度ocr识别 使用了image-tools这个插件&#xff0c;因为百度ocr接口用图片的base64 这里只是简单演示&#xff0c;accesstoken获取接口还是要放在服务器端&#xff0c;不然就暴露了自己的百度项目k…

Xshell使用密钥远程登录Ubuntu 22.04报错:所选的用户密钥未在远程主机上注册。请再试一次

报错截图如下&#xff1a; 问题原因&#xff1a; Ubuntu 22.04 不支持 Xshell使用的私钥。 查看系统支持的私钥&#xff1a;sudo sshd -T | egrep "pubkey" ~$ sudo sshd -T | egrep "pubkey" pubkeyauthentication yes pubkeyacceptedalgorithms ssh-ed…

基于SpringBoot+Vue的旅游服务平台【提供源码+答辩PPT+参考文档+项目部署】

&#x1f4a5; ① 前言&#xff1a;这两年毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的JavaWeb项目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff01; ❗② 如何解决这类问题&#xff1f; 让我们能够顺利通过毕业&#xff0c;我也一直在不断思考、…

ROS 的 urdf 中 link 和 joint 的子标签中 origin 的含义

主要参考文章——主要文章&#xff0c;官方关于urdf的介绍和官方文档的翻译解析 link标签里面的origin含义 link标签里面有三个主要的子标签&#xff0c;分别是visual——连杆的外观和坐标系&#xff0c;collisoin——连杆的碰撞属性和inertial——连杆的惯性设置 首先&…

【AIGC】AI如何匹配RAG知识库: Embedding实践,语义搜索

引言 RAG作为减少模型幻觉和让模型分析、回答私域相关知识最简单高效的方式&#xff0c;我们除了使用之外可以尝试了解其是如何实现的。在实现RAG的过程中Embedding是非常重要的手段。本文将带你简单地了解AI工具都是如何通过Embedding去完成语义分析匹配的。 Embedding技术简…

低空经济发展迅猛,无人机设计制造技术详解

低空经济的迅猛发展&#xff0c;为无人机设计制造技术带来了新的机遇和挑战。无人机作为低空经济中的重要组成部分&#xff0c;其设计制造技术直接关系到无人机的性能、安全性和应用场景的拓展。以下是对无人机设计制造技术的详细解析&#xff1a; 一、无人机设计技术 1. 气动…

【HTML + CSS 魔法秀】打造惊艳 3D 旋转卡片

HTML结构 box 类是整个组件的容器。item-wrap 类是每个旋转卡片的包装器&#xff0c;每个都有一个内联样式–i&#xff0c;用于控制动画的延迟。item类是实际的卡片内容&#xff0c;包含一个图片。 <template><div class"box"><div class"item…

STM32L010F4 最小系统设计

画一个 STM32L010F4 的测试板子...... by 矜辰所致前言 最近需要用到一个新的 MCU&#xff1a; STM32L010F4 &#xff0c;上次测试的 VL53L0X 需要移植到这个芯片上&#xff0c;网上一搜 STM32L010F4&#xff0c;都是介绍资料&#xff0c;没有最小系统&#xff0c;使用说明等。…

计算生物学与生物信息学漫谈-1-测序一路走来

最近工作中&#xff0c;反思自己计算生物学基础非常薄弱&#xff0c;然而作为一门非常新兴的交叉学科&#xff0c;涉及计算机、物理、生物、数学等多多学科&#xff0c;国内并没有这样完善的教程&#xff0c;因此想要自己做一个教程&#xff0c;使用费曼学习法学习&#xff0c;…

探讨淘宝商品 API 接口:运用及收益

在当今电子商务蓬勃发展的时代&#xff0c;淘宝作为全球领先的电商平台&#xff0c;拥有海量的商品资源和庞大的用户群体。而淘宝商品 API 接口的出现&#xff0c;为开发者和企业提供了一种强大的工具&#xff0c;能够实现对淘宝商品数据的高效获取和利用。本文将深入探讨淘宝商…

C语言 | Leetcode C语言题解之第492题构造矩形

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> constructRectangle(int area) {int w sqrt(1.0 * area);while (area % w) {--w;}return {area / w, w};} };

2024年PDF转JPG新趋势,4款常用编辑工具梳理,不容错过

嘿&#xff0c;大家好&#xff0c;我是你们的老朋友&#xff0c;今天咱们聊个超实用的技巧——把PDF文件变成JPG图片&#xff0c;这样分享起来就方便多了。不管是工作汇报、学习资料还是生活照片&#xff0c;这招都能让你事半功倍。 1. 福昕PDF编辑器 闪现 ✚ https://editor…

排序---java---黑马

排序算法 名称平均时间复杂度最好情况最坏情况空间复杂度稳定性冒泡排序 O ( n 2 ) O(n^2) O(n2) O ( n ) O(n) O(n) O ( n 2 ) O(n^2) O(n2) O ( 1 ) O(1) O(1) Y Y Y选择排序 O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2) O ( n 2 ) O(n^2) O(n2) O ( 1 ) O(1) O(1) N N …

【JavaScript】网页交互的灵魂舞者

我的主页&#xff1a;2的n次方_ 1. JavaScript 的三种引入方式 引⼊⽅式 语法描述 ⽰例 ⾏内样式 直接嵌⼊到 html 元素内部 <input type"button" value"点我⼀下" οnclick"alert(haha)"> 内部样式 定义<script>标签&a…

PDF 软件如何帮助您编辑、转换和保护文件

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案&#xff0c;还是尝试组织和编辑主文档&#xff0c;PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时&#xff0c;请考虑这些因素。 1. 确定您的…

蒙特卡洛法面波频散曲线反演(matlab)

面波频散曲线反演是一种地震波形反演方法&#xff0c;用于估计地下结构的物理参数。其原理基于面波频散现象&#xff0c;即地震波在地下传播时会由于地下结构的变化而导致波速的变化&#xff0c;从而在地震记录中形成不同频率的相位延迟。具体而言&#xff0c;面波频散曲线反演…