当前位置: 首页 > news >正文

CFD使用者应当了解的一些事情

此文适合对象:CFD完全新手,没有流体力学基础,没有数值计算基础,甚至没有计算机基础。

作为一个CFD完全新手,你需要知道的几件事情

1.CFD是拿来用的,不是拿来学的

除非你是搞CFD理论的,比如一些数学或计算机专业的需要学习CFD理论,否则如果你是搞工程的,那么最好是将CFD作为工具,不要花费过多的精力去关注CFD内部细节,这些细节让那些学数学或计算机的人关注好了。将CFD当做自己可以信任的伙伴,投其所好即可。

2.流体力学是雪中送炭,计算流体力学是锦上添花

学习计算流体力学能够帮助我们更好地使用CFD软件,但相对于学习计算流体力学的时间来说,性价比很低。当然如果你有大把的空闲时间的话,系统的学习计算留体力学是可以的。相反,学习流体力学可以帮助我们更好的理解物理现象,更有助于使用CFD。

3.计算所用的模型都是需要进行校准的

CFD中的计算模型参数在真正计算之前都是要进行校核的,大量系统默认参数会影响我们的计算结果,也会使我们对计算结果丧失信心。

4. 计算结果是要进行校核的

软件的计算结果受很多因素影响,通常情况下都是要和实验测量值进行比较,否则计算结果可能自己都不相信。

5.网格引起的误差没有模型引起的误差大

计算模型引起的误差要远比计算网格引起的误差大。选错了模型,设错了边界条件或初始条件,可能会出现错误的计算结果。而单纯的网格质量,通常只会影响计算精度和收敛性。

6.收敛的结果不一定是正确的,但不收敛的结果一定是错误的

收敛时必要的,不管是稳态计算还是瞬态计算。

7.很多时候购买计算机硬件不如更深入的了解模型

深入了解模型后对计算模型进行简化,可以极大的降低计算资源开销,这往往比扩充硬件来的有效。当然土豪除外。

关于CFD软件,你应该知道的几件事

1.最好的参考资料是CFD软件附带的文档

成熟的商业软件通常都附带有完善的帮助文档,那是最好的参考资料。没有人能比编制程序的人更熟悉软件的操作。

2.从实际工程入手,要比从CFD理论入手快得多

找一个实际工程项目,自己独立的去完成,当项目完成的时候,你会发现你的CFD技术已经有了质的飞跃。如果你是从CFD理论入手,你会发现你所学习的理论很难在实际工程中有用武之地,时间久了你会丧失所有的信心。当然如果你有三五年的时间可以学习CFD理论的话,此条作废。

3.通常情况下,软件是可以被信任的

成熟的商业软件通常都经过了严格的测试,就算是有BUG,也不是一个CFD新手能够触碰到的。如果新手都能触碰到软件Bug的话,这软件可以宣布销毁了。

4.CFD软件不会知道使用者要做什么

你不要妄想CFD软件能够理解你的意图,它们仅仅是将人们提供的数据按指定的规则进行加工而已。CFD软件也不会理解自己产生的数据。至少到目前为止是这样。

关于前处理,你应该知道的几件事

1.完全保留几何细节的模型并不一定是好模型

对于复杂的工程模型,通常都需要对几何进行处理。保留所有的原始细节特征的几何模型,可能会导致网格数量剧增及网格质量下降。

2.完全均匀的网格一般不是好网格

一套好的网格一定是有密有疏,否则除非你是土豪,拥有无限的计算资源。

3.影响计算的是网格质量,而非网格形状

网格质量会影响计算收敛性和计算精度,但网格形状不会对这些产生影响。

4.绝大多数求解器支持的是非结构网格,只有极少数求解器支持结构网格

目前以及很难找到支持结构网格的求解器了。这里的非结构网格与结构网格指的是网格存储形式,而非网格形状,四边形和六面体同样可以是非结构网格。

关于CFD计算结果,你应该知道的几件事

1.计算结果是否正确,需要人工进行判断

CFD软件不会告诉你计算结果是否正确,在它们的眼中,计算结果都是正确的,否则程序早就当掉了。

2.数据往往比图形有说服力

CFD软件能够输出花花绿绿的图片,然而在大多数情况下,这些花花绿绿的图片仅仅只是作为点缀,真正有用的还是数据。

3.计算结果应用得好不好,取决于使用者的理论功底而非软件操作熟练度

要想用好CFD计算数据,必须对物理现象有充分的认识,否则只能使用试错法。软件操作熟练度除了能让你鼠标点得更准确外,对于CFD数据的利用没有任何作用。


关注微信公众号,查看更多CFD相关文章。
微信扫码关注公众号



null


相关文章:

  • C# 进程同步,通信
  • 第三份CS地图--沙漠之战
  • 构建基于分布式SOA架构的统一身份认证体系
  • 傻瓜式Linux之三:安装软件
  • Python 3.5 socket OSError: [Errno 101] Network is unreachable
  • 华章1-2月份新书简介(2017年)
  • 专业网站打包/解包asp工具(E文精装版本)!
  • 【健康医疗】4步完成数据分析报表,让医疗数据转化为生产力
  • ORACLE查找并解除死锁进程
  • 云计算那些事
  • 推荐几本书给大家
  • javascript中this的用法
  • Foxmail邮件发不出去,都是Mcafee惹得祸
  • 百度编辑器 UEditor setContent()
  • 磨刀不误砍柴工
  • Angular Elements 及其运作原理
  • Elasticsearch 参考指南(升级前重新索引)
  • leetcode46 Permutation 排列组合
  • PAT A1092
  • Redis的resp协议
  • spring boot下thymeleaf全局静态变量配置
  • Vue 2.3、2.4 知识点小结
  • Vue组件定义
  • web标准化(下)
  • 基于web的全景—— Pannellum小试
  • 精彩代码 vue.js
  • 区块链技术特点之去中心化特性
  • ionic入门之数据绑定显示-1
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #pragma once
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (3)选择元素——(17)练习(Exercises)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (十)c52学习之旅-定时器实验
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)http协议
  • (转)人的集合论——移山之道
  • (转)详解PHP处理密码的几种方式
  • .equals()到底是什么意思?
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net Core 中间件验签
  • .net 怎么循环得到数组里的值_关于js数组
  • .net6 webapi log4net完整配置使用流程
  • .NET分布式缓存Memcached从入门到实战
  • ::
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [Angular] 笔记 18:Angular Router
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [Hive] INSERT OVERWRITE DIRECTORY要注意的问题
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引