UDS的使用
我们通过对导热微分方程式的求解,并与Fluent自己的求解结果进行对比,介绍一下Fluent当中UDS(自定义标量)的具体使用方法。
首先Fluent当中的UDS主要针对下面这样形式的方程:
其中:
φ——表示自定义求解的变量
t——表示时间
Γ——表示扩散系数
Ψ——表示对流系数
Sφ——表示源项
完整的导热微分方程式对应上面的标准形式为(未考虑对流项):
其中:
T——表示温度
t——表示时间
ρ——表示密度
c——表示比热容
qV——表示内热源
这里我们的自定义标量就是对应这里的温度T,我们将UDS求解的结果与用Fluent求解的结果进行对比
为了简化问题我们这里采用二维模型
二维网格如下:
我们首先考虑二维稳态无内热源只考虑扩散的情况,方程简化为下面的形式:
我们只需要定义自定义标量当中扩散系数 (即导热系数λ),我们编写下面简单的代码来指定扩散系数为常数1.0:
然后我们转入Fluent当中进行操作
首先我们打开Fluent
加载网格,然后加载上面的UDF
进行相关的求解设置
说明一下:
Number of User-Defined Scalars用于指定自定义标量的个数,本示例只有一个自定义标量,所以此处为1
Solution Zones选项可以指定我们求解的区域,我们可以仅求解流体域(all
fluid zones),固体域(all
solid zones)或者所有的计算域(同时包含流体和固体域,all
zones),我们也可以指定求解特定的区域(selected
zones)
接下来我们考虑二维瞬态无内热源的情况,方程简化为下面的形式:
这里扩散系数为:
这里我们导热系数取为λ=202.4W/(m·K),c=871.0J/(kg·K)
针对扩散系数我们编写如下的代码:
而针对瞬态项,根据Fluent的UDF手册
其中:
而针对导热微分方程,只需要把上面的φ换为温度T
我们对非稳态项编写如下代码:
完整代码如下:
在270s时结果对比,可以看出我们编写的求解代码与Fluent求解的温度场是一致的
对于源项的考虑和我们一般的考虑源项是一样的,就不再赘述了
UDS的使用的更多相关文章
- UDS(ISO14229-2006) 汉译(No.2参考标准)
下列参考文件对本文件的系统是不可或缺的.注明日期的参考,仅关于对其引用的版本适用.未注明日期的,仅最新引用的文档(包括任何修改)适用. ISO 7498-1,信息技术——开放系统互联(OSI)——基本 ...
- UDS(ISO14229-2006) 汉译(No.1 范围)
ISO14229指定的数据链路是独立于诊断服务的,该数据链路允许测试仪(Client)操作ECU(Server)中的诊断功能(如电子燃油喷射.变速箱.ABS等)并接入一条嵌入车辆的串行数据链路.它指定 ...
- UDS(ISO14229-2006) 汉译(No.0 前言)
UDS protocol 前言 ISO(国际标准化组织)是国际标准机构(ISO成员体)的世界性联合会.国际标准的拟定工作通常由ISO技术委员会负责.为每一个主题而建立的技术委员会由对其感兴趣的成员机构 ...
- 重新开源UDS
这个题目起得很纠结. 因为很多人都知道UDS本来就是开源,我只不过改了一些东西,然后重新发布,所以不算重新开源. 要说重新发布也不对.因为老早这东西就发布了. 最后我想,这个东西已经很久没更新过了,也 ...
- UDS帧传输
说明 在UDS协议中,其中有一点我视作为基础,即帧传输.也即是数据传输这一块,在UDS的帧传输中,分为4种: SF单帧 FF第一帧 CF连续帧 FC流控制帧 首先,我们抛开以上的东西,假设一个销售商( ...
- UDS(ISO14229-2006) 汉译(No.7 应用层协议)
标签:cte amp 通信 pac condition man 没有 参数错误 family 7.1定义 应用层协议通常作为确认消息的传输,意味着从客户端发送的每一个请 ...
- UDS诊断学习笔记
定义介绍: UDS(Unified Diagnostic Service)诊断的诊断服务.诊断协议是面向整车所有ECU(电控单元)的一种诊断通信协议,是诊断服务的规范化标准. UDS本质上是一系列服务 ...
- 基于UDS的BootLoader
bootloader程序架构略有简化的bootloader图 这张图和恒润教程中的BootLoader流程大体是一致的. 疑问点 Q:图中的烧写顺序是34-36-34-36-34-36-37,但另一些 ...
- UDS报文解读
UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它可在不同的汽 ...
随机推荐
- Matplotlib中figure、subplot、axes、axis的区别
参考链接:https://blog.csdn.net/JasonZhu_csdn/article/details/85860963 画图板/画布: 这是一个基础载体,类似实际的画图板,用pyplot. ...
- C#使用SMTP协议发送验证码到QQ邮箱
C#使用SMTP协议发送验证码到QQ邮箱 在程序设计中,发送验证码是常见的一个功能,用户在注册账号时或忘记密码后,通常需要发送验证码到手机短信或邮箱来验证身份,此篇博客介绍在C#中如何使用SMTP协议 ...
- php curl 转为 x-www-form-urlencoded 方式的坑
网上转变的方法基本都是写添加下面这句: curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-fo ...
- JavaScript 之 Math对象
Math对象 Math 对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供. 常用方法: Math.PI // 圆周率 Math.random() // 生成随机数,生成0~ ...
- FreeRTOS 任务通知模拟消息邮箱
举例 void task1_task(void *pvParameters) { u8 key; BaseType_t err; while(1) { key=KEY_Scan(0); //扫描按键 ...
- RxJS——订阅(Subscription)
订阅(Subscription) 什么是订阅?订阅是一个对象,它表示一个处理完就释放(disposable)的资源,是 Observable 的一个执行程序.订阅有一个很重要的方法,unsubscri ...
- H3C 什么是漫游
- cad 画图面板的尺寸大小定义
输入limits 输入左下角点为 0,0 输入右上角点为大家需要的数 这里为100,50 输入zoom 输入a 就可以实现自定义编辑 注意事项 如果在你已经操作过的图纸上可能会失效 重新建一张图纸就 ...
- Django之DRF源码分析(二)---数据校验部分
Django之DRF源码分析(二)---数据校验部分 is_valid() 源码 def is_valid(self, raise_exception=False): assert not hasat ...
- SQL注入(1)
一.注入点的判断及猜解1.加入单引号 ’提交,结果:如果出现错误提示,则该网站可能就存在注入漏洞.2.数字型判断是否有注入;语句:and 1=1 ;and 1=2 (经典).' and '1'=1(字 ...