目录
前言
1、环境配置
2、问题背景
3、传热学例程 heat_transfer3
最后:中国加油、武汉加油!!!
cfdtool (官网:https://www.cfdtool.com/)是一个MATLAB的扩展工具箱,既然看到这个CFD问题了,大家都知道CFD是做什么的了。而在MATLAB里,计算偏微分方程以前都是代码。我也是因为课题要求,电脑又有限制,装不了Ansys,所以就来搞matlab 的了。这里我也是才入门,所以就记一次学习笔记,大家互相学习。
说明:(1)适应版本:MATLAB R2009 及以上;
(2)下载地址:https://github.com/precise-simulation/cfdtool 我就不赚大家的积分了,大家下这种东西就尽量去Github上先找找,别再被CSDN的一些博主 pian(4) 积分了。
(3)目前只支持 1D ,2D 的,3D 的话大家还是用其他软件吧,或者不嫌麻烦就代码走起。
(4)这是扩展的工具包,并不是内置的,所以别直接运行命令来开启软件了。
Github上直接下载 zip 就行,然后解压到你的 MATLAB 工作目录下面,这是一个比较重要的问题。我见过有些用了MATLAB很久的同学也会搞错这个东西,MATLAB如果不做修改,启动的时候一般工作目录在软件安装目录那里,你可以切换到你自己的工作目录,或者设置它的搜索目录,这样你运行 cfdtool 这个命令时才不会报错。
命令行里面输入:
>> cfdtool % 启动当前目录下的cfdtool
一般来说会需要你等一会,然后会弹出cfdtool 的窗口,要记得 Accept 那个界面。
其实背景我也不知道什么,做完例程自己简单总结一下:现在有一块合金板,形状如下图所示,给定合金板的尺寸参数,底板材质为钢,其密度、热容、导热系数均为已知,合金板为金属钨,其各项参数也均为已知,环境温度17摄氏度。先对金属钨顶端加热,仿真出合金板16秒内的温度情况。
例程目录:**/cfdtool-master/tutorials/03_Heat_Transfer/heat_transfer3
计算过程如下(前面有一丢丢没录到,抱歉):
步骤:
(1)点击 New Model 按钮,或者点击 File->New model... 来创建一个新的模型。
(2)根据自己的情况选择计算的维度,这里选择 2D。
(3)点击 OK 完成物理模式的选择。
(4)我们要想得到需要的形状,就要通过裁剪和添加的方式完成。首先创建一个矩形,点击 Create square/rectangle 按钮,然后点击主绘图窗口,按住鼠标左键。移动鼠标指针绘制形状,松开鼠标左键完成最终的形状。这里得到一个矩形。
(5)在几何对象选择列表框(Selection)中选择R1(单击选中,选中会变色)。
(6)要修改和编辑所选矩形,请单击Inspect/edit selected geometry object 按钮来打开图形属性的对话框(双击区域也可以打开编辑界面,但是有个小坑,就是不要选中后再双击,而是直接双击需要编辑的区域)。
(7)在 x_min 中输入 0。
(8)在 x_max 中输入0.11。
(9)在 y_min 中输入0。
(10)在 y_max 中输入 0.12。
(11)点击 OK 按钮完成并关闭对话框。
(12)要创建一个圆或椭圆,首先单击 Create circle/ellipse 工具按钮。 然后左键在主绘图轴窗口中单击,然后按住鼠标按钮。 移动鼠标指针绘制形状。然后释放按钮以最终确定形状(随便在一个位置绘制即可,大小也随意,因为后面会修改设置)。
(13)在几何对象选择列表框中选择 E1。
(14)为了能够修改和编辑椭圆,点击 Inspect/edit selected geometry object 工具按钮打开 Edit Geometry Object 对话框。
(15)在 center 处输入 0.065 0 (这是一个二维坐标(0.065,0))。
(16)在 x_radius 输入 0.015。
(17)在 y_radius 输入 0.015。
(18)点击 OK 完成并关闭对话框。
(19)同(12),要创建一个圆或椭圆,首先单击 Create circle/ellipse 工具按钮。 然后左键在主绘图轴窗口中单击,然后按住鼠标按钮。 移动鼠标指针绘制形状。然后释放按钮以最终确定形状。
(20)在几何对象选择列表框中选择 E2。
(21)同(14)为了能够修改和编辑椭圆,点击 Inspect/edit selected geometry object 工具按钮打开 Edit Geometry Object 对话框。
(22)在 center 输入 0.11 0.12.
(23)在 x_radius 输入 0.035。
(24)在 y_radius 输入 0.035。
(25)点击 OK 完成并关闭对话框。
(26)同12,要创建一个圆或椭圆,首先单击 Create circle/ellipse 工具按钮。 然后左键在主绘图轴窗口中单击,然后按住鼠标按钮。 移动鼠标指针绘制形状。然后释放按钮以最终确定形状。
(27)在几何对象选择列表框中选择 E3。
(28)同(14)为了能够修改和编辑椭圆,点击 Inspect/edit selected geometry object 工具按钮打开 Edit Geometry Object 对话框。
(29)在 center 输入 0 0.06.
(30)在 x_radius 输入 0.025。
(31)在 y_radius 输入 0.025。
(32)点击 OK 完成并关闭对话框。
(33)在 Geometry 菜单里选择 Combine Objects...(这个在下拉菜单里面)
(34)在 Geometry Formula 编辑框里输入 R1-E1-E2-E3。意思就是把这些圆的部分从矩形中去掉。
(35)点击 OK 完成并关闭对话框。
(36)创建一个矩形,同(4),点击 Create square/rectangle 按钮,然后点击主绘图窗口,按住鼠标左键。移动鼠标指针绘制形状,松开鼠标左键完成最终的形状。这里得到一个矩形。
(37)在几何对象选择列表框中选择 R2。
(38)要修改和编辑所选矩形,请单击Inspect/edit selected geometry object 按钮来打开图形属性的对话框。
(39)在 x_min 处输入 0.065。
(40)在 x_max 处输入 0.16。
(41)在 y_min 处输入 0.05。
(42)在 y_max 处输入 0.07。
(43)点击 OK 完成并关闭对话框。
(44)同(12),要创建一个圆或椭圆,首先单击 Create circle/ellipse 工具按钮。 然后左键在主绘图轴窗口中单击,然后按住鼠标按钮。 移动鼠标指针绘制形状。然后释放按钮以最终确定形状。
(45)在几何对象选择列表框中选择 E4。
(46)同(14)为了能够修改和编辑椭圆,点击 Inspect/edit selected geometry object 工具按钮打开 Edit Geometry Object 对话框。
(47)在 center 处输入 0.065 0.06。
(48)在 x_radius 处输入 0.01。
(49)在 y_radius 处输入 0.01。
(50)点击 OK 完成并关闭对话框。
(51)在几何对象选择列表框中选择 R2 和 E4。
(52)点击 +/Add geometry objects 工具按钮。
(53)在几何对象选择列表框中选择 CJ1 。
(54)点击 Copy and/or transform selected geometry object 工具按钮。
(55)选择 Make copy of geometry object 复选框。
(56)点击 OK 完成并关闭对话框(这时,发现多了一个CJ2,它下面就是 CJ1)。
(57)在几何对象选择列表框中选择 CS3 (就是我们之前截下的那个背景)和 CJ2 。
(58)点击 - / Subtract geometry objects 工具按钮。
(59)在 Mode 工具下面选择 Grid 模式。
默认网格可能太粗糙,无法确保准确的解决方案。减小网格大小并生成更细的网格可以更好地解决弯曲边界。
(60)在 Grid Size 编辑框输入 0.0025。
(61)点击 Generate 按钮来调用生成网格的算法(图没啥变化)。
(62)在 Mode 工具下面选择 Equation 模式。
方程和材料系数在“方程/子域”(Equation/Subdomain)模式中指定。 在方程设置对话框中; 在框中输入密度,热容量,导热系数和初始温度的系数、 材料。
(63)在“子域”(Subdomains)列表框中选择1。
(64)清除 Flow 复选框。
(65)选择 Temperature 复选框。
(66)在 Density (密度)输入 rho_tungsten。
(67)在 Heat capacity (热容) 输入 cp_tungsten。
(68)在 Thermal conductivity (导热系数) 中输入 k_tungsten。
钨(tungsten) 钢(steel)
(69)在“子域”(Subdomains)列表框中选择 2。
(70)清除 Flow 复选框。
(71)选择 Temperature 复选框。
(72)在 Density 输入 rho_steel 。
(73)在 Heat capacity (热容) 输入 cp_steel。
(74)在 Thermal conductivity (导热系数) 中输入 k_steel。
(75)点击 OK 以完成方程式和子域设置说明。
Model Constants and Expressions (模型常量和表达式功能)可用于定义和存储方便的表达式。 然后可以在点,方程,边界系数中以及作为后处理表达式使用它们; 此处用于定义材料参数。
(76)点击 Constants 工具栏按钮,或从Equation 菜单中选择相应的条目,然后在 Model Constants and Expressions 对话框中输入以下变量。 在最后一个表达式之后按 Enter 键,或使用 Add Row 按钮展开表达式列表。
Name | Expression |
rho_tungsten | 19000 |
cp_tungsten | 134 |
k_tungsten | 163 |
rho_steel | 7500 |
cp_steel | 470 |
k_steel | 44 |
(77)在 Mode 工具栏下选择 Boundary 。
(78)在 Boundary Settings 对话框,选择 Heat flux 为所有边界选择热通量边界条件,在编辑字段中输入 k_tungsten 和 k_steel作为每种材料对应的边界的对流传递系数,并为周围参考温度 Tinf 输入17。这里注意边界对应的系数,1~3是钨的,其余是钢的。一定要注意那个外界温度的填写方式。
(79)现在已经确定了问题,请按 Solve(解决方案模式)按钮切换到解决方案模式。 由于这是一个与时间相关的研究,因此请打开求解器设置(settings)并选择 Time-Dependent 求解器。 将 Time step(时间步长)设置为0.25,将 Simulation time(仿真时间)设置为16,将时间停止标准设置为0,然后按 slove 以启动求解过程。
(80)点击 Expression 按钮。
(81)在 Initial condition for T in subdomain 1 处输入 84。
(82)在 Initial condition for T in subdomain 2 处输入 -10 。
(83)点击 OK 完成并关闭对话框。
(84)点击 Plot Option 工具栏按钮。
(85)选择 Contour Plot 复选框。
(86)在 Number or specified vector of contour levels to plot 处输入 20.
(87)点击 Apply 以绘制并可视化所选的后处理选项。
回顾解决方案,并验证组件已冷却至大约 t = 13 s 的 70 度温度。 请注意,颜色栏和“Limits”字段都将显示最小和最大表面图值。
(88)从 Available solutions/times 下拉菜单中选择12.75。
(89)点击 OK 以绘制并可视化所选的后处理选项。