服务器水冷系统仿真,水冷漫谈(三)——水冷散热器仿真方法

水冷散热器的精细化设计是需要借助仿真软件的。目前可以完成水冷仿真的商业软件有很多种,各有优势,在此不做对比。Jason用的是FloTHERM,但是主要的分析方法是一致的。

不同于风冷的系统,水冷整个系统比较庞大和复杂。工程中一般不会将散热器,换热器,泵阀等一起仿真,那样的计算量太大,一般会确定流量后,单独对水冷散热器做定流量的分析。

一、工质的设置

考虑到结冰的影响,一般常用的冷却介质会选择乙二醇溶液,西方一些国家基于环保的考虑,限制用乙二醇,则可能应用丙二醇溶液。不管乙二醇,还是丙二醇,加入纯水之中,都会影响工质的散热性能。

为软件设置工质时,需要考虑密度,比热,导热系数和粘度四个主要参数。因为电子散热场景下,水冷的温度范围比较窄,诸如膨胀率等,可以不予考虑。

输入物性参数看似简单,但如果工程师是个爱偷懒的人,比如Jason这样的,同时再有一点疏忽的话,可能会导致严重的失误:仿真时,我们经常需要生成一些新的材料,如果是稳态问题,我们设置固体材料时,常常只设定导热系数,密度、比热等参数往往因为偷懒而忽略,事实上,有些复合材料也很难得到这两个参数的精确值。因此,在惯性思维的引导下,有的朋友在稳态水冷的场景下,设置新的冷却介质时,会忽略掉比热,认为这个东东只有在瞬态问题中才有用。我们看一下对流换热系数的求解公式,貌似一眼过去也没有看到比热的影子:

d41517e71e20ed58ee2724627d21d842.png

事实上,比热隐藏在Pr数之中,我们没有直接定义Pr数,而是通过比热,导热系数和粘度间接定义的。

8a2ae38db087ab32ce1d7045e2fabf76.png

如果将比热默认为1,相当于将Pr数缩小了3个数量级,则对流换热系数相应的缩小一个数量级!有兴趣的朋友,可以对比试一下,看够不够酸爽,够不够惊喜。

另外一个需要注意的是,做风冷的仿真分析,我们大都适应了空气参数的皮实。一般按照软件默认的30℃时空气物性参数,也不会有太大的麻烦。但是水冷的仿真,需要注意是,乙二醇或丙二醇溶液的粘度随温度变化比较大,特别是浓度大的时候。比如浓度50%的乙二醇溶液(V:V),20℃时的粘度大约是45℃时的二倍,忽略温度影响,会导致流动阻力的巨大偏差。

FloTHERM中,可在项目库中的Fluid中右键选择Create Fluid,并在参数列表内输入对应数值。

0a202ec604bdbd2adebb19499d4a74e0.png

Flotherm支持多流体仿真,可以在指定区域通过Region定义流体。

08cb7668a30a0e6bc009e3737fb171f6.png

另外需要提醒的是,Region 的优先级相对较低,与固体重合的区域,默认是固体的材质属性,仅有未填充区域,才是Region设定的流体,所以如下图中的复杂流道,没有必要划分成很多个小Region分别定义流体,仅需一个Region将整个流道区域覆盖,定义流体即可。

7f513be28d0bd56ccf8a3c6d7db1bc53.png

二、源

前文说过,水冷是的仿真分析,一般不会做整个系统的仿真,通常水冷散热器是做定流量分析的。在FloTHERM里,大都用FixFlow作为流体的源,设置水冷板的流量。同时可以设定入口处的工质温度,甚至可以系统的环境温度不同。

bd9acb00f714d4c40f52e169ba11071c.png

需要提醒的是,FixFlow必须紧贴在求解域的边界,否则系统会报错。

6fb05656e257b40ed22477bd97441991.png

三、收敛问题

最完美的收敛,是各条残差曲线都达到1,但是做气液共存的水冷仿真,这是很奢侈的事。

FloTHERM中,计算终止标准(残差到1的位置)分别是:

•质量平衡终止标准(压力场残差)=0.005 M (kg/s)

对于强迫对流: M 代表进口或出口处的总流量

对于自然对流: M =ρ.EFCV.A

其中ρ代表流体密度;EFCV: 预估自然对流速度,默认为0.2m/s;A代表水平面面积

•动量平衡终止标准(速度场残差) = 0.005 MV (N)

对于强迫对流: V 为风扇或FixFlow最大速度

对于自然对流: V为预估自然对流速度

•能量平衡终止标准(温度场残差)= 0.005 Q (W)

如果在系统中有热源或热沉,则Q为热源或热沉总功率

如果系统中无热源或热沉,则Q = M CpΔT, ΔT = 20 °C

这些参数设置满足大多数系统的要求,并且是相当保守的收敛标准。含有气液两种流体的仿真时,会发生收敛问题,因为系统默认是以空气作为流体特性参数而设置。以压力场残差为例,由于水的密度接近于空气的1000倍,利用空气的总流量的0.5%作为判据,这个标准是非常严苛的,因此,水与空气两种介质共存的仿真场景,残差会比较高。

为了收敛曲线看上去比较好看,有人会修改收敛判据,比如把M提高1000倍,但是这对计算结果没有影响,只是看上去好看而已。

四、关于精度

前不久,交流群里有人贴出了一个FloTHERM与其他软件的对比,结论是FloTHERM在流动阻力的计算中偏差太大。当时在群里引起了比较激烈的讨论。最后得知是测评者在FloTHERM模型中把流线型流道改成了垂直相交的,这无疑增大了流动阻力。

FloTHERM对斜面物体的建模,一直为人所诟病。但其实,FloTHERM软件自带的FloMCAD Bridge,可以将复杂的几何形体转化FloTHERM模型。包括下图中的圆弧形流道。

9fcb38070b2a8d946450fd69471b290c.png

仿真精度,其实跟很多因素有关,边界条件设置、物性参数选取、模型简化等都会有影响。因此,抛开工程师的因素,把误差完全归结为软件原因是不严谨的。

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

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

相关文章

在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度

在这篇文章中,我将介绍如何使用ASP.NET Core托管服务运行Quartz.NET作业。这样的好处是我们可以在应用程序启动和停止时很方便的来控制我们的Job的运行状态。接下来我将演示如何创建一个简单的 IJob,一个自定义的 IJobFactory和一个在应用程序运行时就开…

分享一些支持多租户的开源框架

如果你在开发sass应用程序,可以参考或者直接使用这些开源的框架。ASP.NET Boilerplate — Web应用程序框架ASP.NET Boilerplate是专门为新的现代Web应用程序设计的通用应用程序框架。它使用已经熟悉的工具并围绕它们实施最佳实践,以为您提供SOLID开发经验…

服务器操作系统用什么好,服务器操作系统一般用什么

服务器操作系统一般用什么 内容精选换一换客户的SAP系统部署在第三方云,服务器操作系统在华为云支持的列表内,数据库为任意数据库,同时还有如对象存储等的其他云服务。迁移到华为云后,数据库以及操作系统保持不变,系统…

一张大图了解ASP.NET Core 3.1 中的Authentication与Authorization

下面是一张ASP.NET Core 3.1 中关于Authentication与Authorization的主流程框线图,点击这里查看全图:https://johnnyqian.net/images/202004/aspnet-core-3.1-request-processing-pipeline.png重要组件一些重要的组件及其源码链接如下:Authen…

C++ class实现完全二叉树的顺序存储结构

代码如下: #include <iostream> using namespace std; const int maxsize 100; typedef char ElemType;class QbTree {public:void CreateBTree(int n);int vislchild(int i);int visrchild(int i);int visparent(int i);ElemType viselem(int i);void LevelOrder();p…

研发协同平台持续集成Jenkins作业设计演进

源宝导读&#xff1a;Jenkins作为一个开源的持续集成工具&#xff0c;被大家广泛使用。本文将分享&#xff0c;Jenkins在明源云研发协同平台中的运用&#xff0c;以及在其作业设计方面的演进历程。一、作业设计1.0起初&#xff0c;为了尽快推出研发协同平台v1.0&#xff0c;我们…

一切都要从华为云 CloudIDE 酷似 VS Code 说起

前不久&#xff0c;有个关于华为云 CloudIDE 的问题在知乎、朋友圈、微博等圈子引起了广泛的讨论&#xff0c;甚至上了知乎热榜。那么&#xff0c;背后的真实情况到底是如何的&#xff1f;且听韩老师娓娓道来。华为云 CloudIDE 酷似 VS Code&#xff1f;首先要明确一点&#xf…

C++ class实现双亲表示法

#include <iostream> using namespace std; typedef char ElemType; const int MAXSIZE 100;class TreeNode {friend class Tree; private:ElemType data;int parent; };class Tree { private:TreeNode elem[MAXSIZE];int n;//树中当前的节点个数 }Tree;

单元测试:如何编写可测试的代码及其重要性

原文来自互联网&#xff0c;由长沙DotNET技术社区编译。如译文侵犯您的署名权或版权&#xff0c;请联系小编&#xff0c;小编将在24小时内删除。限于译者的能力有限&#xff0c;个别语句翻译略显生硬&#xff0c;还请见谅。作者&#xff1a;谢尔盖科洛迪&#xff08;SERGEY KOL…

C++ class实现孩子表示法

代码如下: #include <iostream> using namespace std; typedef char ElemType; const int MAXSIZE 100;class link {friend class Node; private:int child;link *next; };class Node {friend class Tree; private:ElemType data;link *first; };class Tree { private:…

IdentityServer 部署踩坑记

IdentityServer 部署踩坑记Intro周末终于部署了 IdentityServer 以及 IdentityServerAdmin 项目&#xff0c;踩了几个坑&#xff0c;在此记录分享一下。部署架构项目是基于 IdentityServerAdmin 项目修改的&#xff0c;感谢作者的开源付出&#xff0c;有需要 IdentityServer 管…

.Net Core微服务架构技术栈的那些事

一、前言大家一直都在谈论微服务架构&#xff0c;园子里面也有很多关于微服务的文章&#xff0c;前几天也有一些园子的朋友问我微服务架构的一些技术&#xff0c;我这里就整理了微服务架构的技术栈路线图&#xff0c;这里就分享出来和大家一起探讨学习&#xff0c;同时让新手对…

C++ class实现Huffman树(完整代码)

代码如下: #include <iostream> #include <string> using namespace std; const unsigned int n 8;//字符数NUM&#xff0c;这里的字符数为8 const unsigned int m 2 * n - 1;//结点总数 const float MAX 1e8;class HTNode {friend class HuffmanTree; private…

二叉树的遍历(堆栈)

二叉树的遍历&#xff08;堆栈&#xff09; 如何理解用堆栈方式代替递归去遍历二叉树&#xff0c;关键点在于了解每个结点输出时的顺序&#xff0c;以及理解前序中序后序是如何遍历的&#xff0c;这点很重要&#xff0c;可以自己画一个树图&#xff0c;熟练写出遍历的结果 以…

ASP.NET Core分布式项目实战(第三方ClientCredential模式调用)--学习笔记

任务10&#xff1a;第三方ClientCredential模式调用创建一个控制台程序dotnet new console --name ThirdPartyDemo添加 Nuget 包&#xff1a;IdentityModel添加之后还原dotnet restoreClientusing System; using System.Net.Http; using System.Threading.Tasks; using Identit…

C++ class实现邻接矩阵存储的图(完整代码)

代码如下: #include <iostream> #include <queue> using namespace std; typedef int VertexType; typedef int EdgeType; const int MaxVertexNum 30;class MGraph { public:MGraph(){CreatGraph();};void CreatGraph();void Visit(int v);void BFS(int v);void…

二叉搜索树(创建,插入,删除):基础篇,适合新手观看。

1.1 二叉搜索树的插入 二叉搜索树的概念相信大家都很清楚&#xff0c;无非就是左小右大 创建二叉搜索树&#xff0c;其实就是多次调用二叉搜索树的插入方法&#xff0c;所以首先我们来讲讲如何插入节点到二叉搜索树里&#xff0c;假设一颗二叉搜索树如下&#xff0c;现在要插入…

.NET 的过去、现在和未来

作为一名使用了十多年.NET 开发平台的开发者来说&#xff0c;多年来笔者鲜少在各类博客媒体推广布道 .NET平台&#xff0c;但也默默地关注着 .NET 平台的发展变化&#xff0c;为每一次新技术的出现欢呼&#xff0c;为近年来 .NET 的沉默感到惋惜&#xff0c;也为开放开源的 .NE…

AVL树(平衡二叉树)讲解,入门篇,适合新手观看

1.1 概念 平衡二叉树就是为了让二叉搜索树的平均查找长度更短&#xff0c;时间复杂度更靠近logN,如果一个二叉搜索树不平衡了就会出现图1情况&#xff0c;完全变成一个数组&#xff0c;时间复杂度也变为了O(N)。 平衡因子&#xff1a;平衡因子就是针对于树中某一结点&#xff…

读源码,对开发者重要吗?

.NET 5.0 Peview 2发布4月2日&#xff0c;微软发布了.NET 5.0 Preview 2&#xff0c;带来功能和性能方面的改进。这一版本包括.NET 5.0.0 Preview 2与.NET SDK 5.0.100 Preview 2。.NET 5是.NET Framework和.NET Core的未来&#xff0c;最终将成为一个统一平台&#xff0c;.NET…