我从“校园小白”到仿真“职场小达人”的CFD学习史

news2024/11/24 17:57:47

CFD属于CAE技术中比较难的一款软件,主要原因就是流体的特点决定了,因为相比于固体,流体太容易变形了,分子之间的距离比较大。所以,导致了一系列的问题。常常的结果是,忙了半天或者很长,根本得不到结果,所以在CFD的学习中,更加强调方法的学习。

本文将结合我自己的亲身经历,从一个CFD的小白,到今天有一定CFD使用经验的“职场小达人”。重点介绍自己在学习CFD过程中,走了那些弯路。毕竟,教训比经验更深刻!希望您在学习CFD的过程中,少走一些弯路,少花一些时间。 

毋庸置疑,未来试验鉴定活动将极大依靠建模和仿真工具,特别是在航天航空和深海工程等领域。 

惠老师提供的案例图一 

一、本科阶段-我初识CFD 

我第一次接触CFD源于大三的传热学,因为当时有一章是“导热问题的数值解法”,当时也没有什么感觉,只是觉得这一块需要采用数学,而且有编程类的课程大作业。由于当时恰好学习了matlab,fortran,并自学通过了C语言二级考试,因此出于学习编程语言的目的,就顺手练习了传热计算的相关算例,“一举两得”。通过这些学习,其实对于CFD软件中的一些离散方法和计算方法有了初步的认识,例如迭代计算,向前向后差分等。毕竟,做任何事情,理解都是第一位的,死记硬背的东西长久来看,并不实用。 

等到大四做毕业设计(2010年),鬼使神差的我选了制冷所一位大牛的《透平膨胀机数值模拟的课题》,便第一次正式接触了CFD,接触了fluent等软件。 

当时在做膨胀机叶片时,选择的作图工具是Inventor,软件划分工具用的gambit,CFD软件用的fluent 6.3.26.这几款软件估计部分人接触的不多。说实在,用起来的确很费力。有点后悔的是,当初选修课为什么没有多学一些作图类软件(大学还是要多学点东西,尤其是工具类的东西)。 

当时java刚刚在高校中作为选修课刚刚开始,大数据,云计算还都没有进入大家的视野,人工智能也没有那么热。所以,现在想起来,在大学多学几门课程还是不错的。结果证明,很多学机械,甚至学热动的都去了BAT,现在薪水那叫一个高呀。 

当时记忆中,采用二维的gambit和fluent做了流道截面的模拟。涉及到的流道相变问题,也没有解决,还好老师没有为难自己,这样就匆匆结束了自己的本科生涯。 

但总的感觉,还是gambit作图还可以,可以通过选择几个点实现画曲线曲面的功能(有些时候比一些专业的建模软件都好用),界面有些丑陋。至于workbench上所具有的数据更新,参数化等功能,那几乎是没有的。gambit目前已经被ansys公司淘汰掉,也基本不会推出新版本以及进行技术培训等活动。 

二维fluent计算也没有那么难收敛。但是很难理解如何选择simple还是simpler,对于松弛因子的选择也比较难把握。毕竟是一个初学者,首先能获得一个差不多的结果,而不是发散结果是第一位的。 

不过在这阶段,也得到的师兄的一些指导,虽然很有限也不是很系统,但总比一个人摸索要强。 

现在想起来,CFD对经验的要求还是挺高的,遇到问题,找师兄师姐准没有错。 

因为这里面即涉及软件操作,也设计专业知识的理解。同样的一个CFD文档说明,可能有经验的人看了知道是什么原因,但是初学者来说很难理解。 

从另外一个角度讲,一个好的CFD培训一定是即有老师理论和上机实践操作,也有学员要上机操作,否则培训效果比较差,试想想,上电脑课哪能不带电脑呀! 

惠老师提供的案例图二 

二、硕士阶段-我学习的CFD 

由于某些原因吧,大四毕业我就去了导师那里进行科研,那时候就基本确定了硕士2年半时间的研究课题是CFD仿真计算。 

我们课题组分为三个方向,一个是流体CFD组,主要采用的就是fluent和cfx,当时貌似还没有用workbench,大家普遍用的就是单独版的fluent和cfx。一个是流体测量组,主要做一些速度场测量,压力场测量,风洞水洞等,以实现CFD和测量的对比吧。事实证明,仿真和实验相互对比验证,在研究流体中扮演着重要的角色。另外一个组是做强度的,主要是疲劳,裂纹,用的是abaqus。所以硕士期间也遇到了一些流固耦合的项目和问题。 

刚去导师那里,导师便给了我一个课题,需要研究一个潜水艇喷水中冷热水混合问题。整个问题如果不考虑VOF问题,只是考虑喷水问题,这个课题不是很难,纯粹的一个进出口流动问题。我当时继续了自己在本科期间的gambit和fluent,结果证明,这么简单的一个计算,最终我用了几乎3个月的时间也没有搞定。等到下一年我导师让一个师弟做的时候,几乎用了很短时间便解决了。 

究其原因,首先是缺乏引路人。自己当时拿到课题,也就是一根筋地开始做几何,做网格,计算,而没有分析CFD的策略问题,看看师兄们如何进行CFD计算,看看论坛上,QQ群里大家怎么进行CFD计算,毕竟这是自己的硕士课题。 

其次,还是CFD的方法和技巧掌握的不够。对于初学者而言,"复杂问题简单化"永远都是一个永恒的话题,比如上文提到的潜水艇,那对于初学者来说,完全可以建立一个简化的潜水艇,或者干脆用一个圆柱代替潜水艇。要研究冷热水的混合,那完全可以先不考虑温度场,而只计算流场,继而在速度场准确的基础上,获得温度场。 

另外,对于一个初学者来说,一定要从二维计算出发,即使原始模型是三维,也都要从简单的入手,这和我们高考答题的顺序是一致的——先易后难嘛。试想想,对于一个初学者而言,采用fluent三维计算,如果很难画结构网格,不说得到准确结果了,能否得到计算结果都是个巨大挑战。  

还有一个很重要的问题,就是关于初场的问题。fluent很多情况下的发散,都是因为给的初场不合适。一个好的初场不仅可以加快收敛速度,甚至可以解决难收敛,不收敛问题。目前的初场给定方法,fluent中有恒定初场给定法和混合初始化,而CFX的初始化,则可以通过表达式及其他方式,实现fluent中patch的功能,即相当于UDF初始化的功能。 

等到研一时,上了计算流体力学的课程,每次上课都是在晚上,听课效率不高,老师水平呢,也只能说一般,听得迷迷糊糊,只是对一些基本理论有了些了解,对实际操作帮助也不是很大。看来,只上一个CFD的理论课程真的是远远不够的,最起码也要上机操作下。 

事实证明,只有在实践中才能对相关理论进行理解,否则学了那些理论几乎等同于没有上。因为对一个初学者来说那些概念很难理解。CFD的理论本身就很难理解,加上没有软件支持,可以说更是难上加难。所以,目前在CFD/CAE领域内,有一个很重要的方向就是做二次开发,即作出一款“傻瓜式”的软件来,让更多业界人士收益,使他们能够放手去做产品与设计相关一些事情来。所以,不得不说,CAE真的是一个专业人士做的事情,而不是像CAD或者UG一样大众都能够很好接受的。 

研究生期间,很长时间都是做湍流和绕流的研究。对于湍流模型还做过一个专业的小组报告。不过这段时间,导师几乎每周都会做seminar(汇报)。很好锻炼了自己做ppt和演讲的能力。不过现在看起来,那些湍流模型似乎在企业工作中用处并不大。湍流理论中的Y+,边界层等都是在该阶段学到的。 

点击完整阅读全文

我从“校园小白”到仿真“职场小达人”的CFD学习史_

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

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

相关文章

Spring Security自定义认证逻辑实现图片验证码登录

前言 相信大家在网上冲浪都遇到过登录时输入图片验证码的情况,既然我们已经学习了 Spring Security,也上手实现过几个案例,那不妨来研究一下如何实现这一功能。 首先需要明确的是,登录时输入图片验证码,属于认证功能…

【录用案例】计算机电子类SCI,仅1个月15天录用

【期刊简介】IF:1.0-2.0,JCR4区,中科院4区 【检索情况】SCI在检,正刊 【征稿领域】自主传感器网络的高级接口电路及其应用 【参考周期】2-3个月左右 重要时间节点: 2022.12.15 | Accepted 2022.11.22 | 提交返修稿 20…

设计模式之建造者模式

builder desigin pattern 建造者模式的概念、建造者模式的结构、建造者模式的优缺点、建造者模式的使用场景、建造者模式的实现示例、建造者模式的源码分析 1、建造者模式的概念 将一个复杂对象的构建和表示分离,使得同样的创建过程可以得到不同的表示。其主要特点…

一种高复用的组件式安装包制作系统

目录 整体设计 流程描述 文件目录结构设计 产品资源的配置与更新 安装包制作流程 安装包执行流程 整体设计 如下展示了安装包系统的整体结构: 将集群布署可能用到的docker资源,按最小的单元进行整理,以压缩包的形式放于资源库&#xf…

欧姆龙电气元器件要点14讲

对于一个电气工程师来说,不仅仅只是要会PLC、伺服控制、变频器参数调优和总线控制、触摸屏这些大的元件的使用,还有很多种类齐全、功能各异的电气元器件,它们的作用、原理、维护方法、安全要点都要熟记于心,牢牢掌握。 第一章 电气…

艾美捷CpG ODN——ODN 1720 (TLRGRADE)说明书

艾美捷CpG ODN系列——ODN 1720 (TLRGRADE):具有硫代磷酸酯骨架的GpC寡脱氧核苷酸。 艾美捷CpG ODN 丨ODN 1720 (TLRGRADE)化学性质: 序列:5-tccatgagcttcctgatgct-3(小写字母表示硫代磷酸酯键)。 MW:638…

Java中的运算符

算术运算符&#xff1a;&#xff0c; -&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;--关系运算符&#xff1a;&#xff0c;!&#xff0c;<&#xff0c;>&#xff0c;<&#xff0c;>逻辑运算符&#xff1a;&&&#xff0c;||&#xff0…

基于STM32的温度控制系统

提示&#xff1a;记录毕设 文章目录前言一、任务书1.1设计(研究)目标:1.2设计(研究)内容:二、代码思路三、硬件四、联系我们五、设计六、框图代码等资料喜欢请点赞哦&#xff01;前言 基于STM32的温度控制系统&#xff0c;主控使用STM32F103ZET6&#xff0c;在正点原子的精英板…

ubuntu18.0 调节显卡GPU涡轮风扇转速

前言&#xff1a; 在炼丹的时候发现涡轮显卡的温度已经很高了85摄氏度&#xff0c;但是涡轮的风扇转速还不到65%&#xff0c;此时显卡计算频率明显已经下降了&#xff0c;所以需要手动调节风扇的转速&#xff0c;让噪音和计算速度处于均衡状态。 一、准备工作 》》安装显卡驱…

html:自定义网页右键菜单

<div id"menu"><divclass"menu-item"data-id"1">功能1</div><divclass"menu-item"data-id"2">功能2</div><divclass"menu-item"data-id"3">功能3</div><…

股票购买接口委托下单c++代码

炒股并非是运气可以驱使的&#xff0c;买股票不是赌博&#xff0c;是一种有风险的经济投资。在股市投资生涯中&#xff0c;掌握一门实战买卖技巧是我们必备的武器&#xff0c;这也是我们能长久在股市投资中得以生存的技法。 其实做股票投资是非常讲究买入和卖出的时机的。一只…

图像风格迁移-DSTN

样式传输的目的是从参考图像中再现具有样式的内容图像。现有的通用风格转换方法成功地以艺术或照片逼真的方式将任意风格传递给原始图像。然而&#xff0c;现有作品所定义的“任意风格”的范围由于其结构限制而在特定领域内受到限制。具体而言&#xff0c;根据预定义的目标域来…

用vscode配置C++3种编译器及多文件编译

末尾附上最终的模板 Vscode开发环境配置 C有很多种编译器&#xff0c;最重要的有三种 GNU的GCC(推荐)微软的MSVCClang/LLVM C的最新标准是C23,各个编译器对C各个标准的支持情况是不同的&#xff1a; C compiler support - cppreference.com 注意主要看C20的支持情况 用Vsco…

校园进销存网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 功能模块包括&#xff1a;员工模块、手机类型模块、供应商模块、采购模块、客户模块、销售模块、统计模块、库存模块 (1…

2022年的最后一个Win11 Dev预览版本

今日凌晨&#xff0c;微软向广大Win11 Dev用户推送了今年的最后一个版本更新&#xff0c;版本号为25267。根据官方的变化&#xff0c;引入了改变任务栏中可用搜索框样式的设置。此外&#xff0c;此版本还对任务栏、文件资源管理器、设置等进行了各种增强。 该公司还表示&#x…

nacos使用教程及原理简介

一、什么是 Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos的关键特性包括&#xff1a; 服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元…

java排序算法

目录 一 冒泡排序 二 选择排序 三 插入排序 四 希尔排序 五 快速排序 5.1 单边循环快速排序 5.2 双边循环快速排序 六 二分查找 七 总结 一 冒泡排序 依次比较数组中相邻的两个元素&#xff0c;若 arr[i] > arr[i1]&#xff0c;则交换两个元素&#xff0c;两两都比…

RabbitMQ原理剖析

常见的消息队列很多&#xff0c;主要包括 RabbitMQ、Kafka、RocketMQ 和 ActiveMQ&#xff0c;本篇文章只讲 RabbitMQ&#xff0c;先讲原理&#xff0c;后搞实战。 直接上思维导图&#xff1a; 1. 消息队列 1.1 消息队列模式 消息队列目前主要 2 种模式&#xff0c;分别为“…

【AI with ML】第 6 章 :使用嵌入使情绪可编程

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Web安全研究(二)

TChecker: Precise Static Inter-Procedural Analysis for Detecting Taint-Style Vulnerabilities in PHP Applications 香港中文大学&#xff0c;CCS2022 Abstract 由于php语言的高度复杂性&#xff0c;现有的污点分析解决方案由于其不全面的程序间分析和各种实现问题&#…