化工专业男生应该学会那些计算机软件?

-回复 -浏览
楼主 2018-12-05 13:26:38
举报 只看此人 收藏本贴 楼主


转自:知乎


知乎用户:Hai Tang


这个问题问得很好,感觉大部分化工毕业的都不知道自己学了什么。下面我推荐的这些软件都是我亲自用过的,有的用得深有的用得浅,但在化工领域,无论是研究还是找工作绝对是能派上用场的,学了绝不会浪费你的时间。

目前读研下来,感觉是这样的:


matlab,aspen一定要抽时间学一学,matlab可以用来做一些设备的模拟计算以及简单的cfd,aspen不用说了吧。

 
c/c++最好也学一学,数据库(sql)也是个不错的选择。




c/c++和fortran至少学一种,它们的作用是为matlab写新的模块以及可以调用的程序。尤其是将来搞化工软件开发的话这肯定是基础。


既然有人提到了我就说一说。Fortran在化学化工计算领域的地位是绝对不可撼动的,因为它的作用本身就是“计算”,而C/C++则开启了操作系统、软件工程的大门。


关于学哪一种,如果你是一名计算化学的博士,那fortran对你绝对是首选。对于普通的化工编程爱好者,我还是坚持推荐C。fortran的编程风格和现在流行的语言大相径庭,而C的风格则与它们相近。换句话说,如果你学会了C,那可以毫不费力地掌握Java,Python,R等市面上流行的语言,而Fortran在这方面对你的帮助就非常小了。更何况,C也可以用来做科学计算,我现在和一个化工数学的教授做模型研究用的就是C,跑一个100000次计算的128*128的二维数组大概花40多分钟,已经是极限了。如果就为了提高那么一点所谓的速度去费力重新掌握和现在的编程风格完全不同的Fortran的话,我认为有些得不偿失。所以具体学哪一种请根据自己的情况对号入座。


AutoCAD忘记提了,不过这是所有工科生都必须会的吧……画PID以及化工设备图就靠它了。不过Solidwork似乎有慢慢变得更主流的趋势?身边学ME的好像更多地开始学习这个了,大家也可以关注下。3DMAX以前用过,感觉也很好上手。不过学AutoCAD肯定是当今化工界的主流。


经常做实验的需要处理数据的Origin也应该是必备的。


其实很多情况下学什么软件取决于你大学里的课程设置。像我一个天大本科的同学,他们本科的时候我上述提到的软件他们都深入地学过了,而我除了C浅显地学过一点外其他都完全不知,都是读研后开始自学的……深深感到某高校的化工竟敢妄称中国第三实在是个笑话。




如果对CFD这块感兴趣的话,Matlab显然是不够的……


推荐两个软件,COMSOL和Fluent。从网上的评价和自己用下来感觉就是,comsol更容易入门,基于有限元法,计算结果更为精准。但比较大的问题是比较新,商业运用目前不广。而且比较自成一派,建模、分割、计算都是在一个程序里做的(这也是为什么它比较容易入门的原因),和其他软件衔接得非常差,很多现有的东西可能要推倒重来。


Fluent则是老牌的著名流体模拟程序,现隶属ANSYS,商业用途极为广泛,短期内在应用范围内COMSOL不是对手。并且是可以和AutoCAD、Solidwork、Gambit、ICEM(同样出自ANSYS)这些分别负责建模、划分网格的软件结合,自己则是专门负责计算。理论上能解决更为复杂的问题。缺点就是不容易上手,要搞好Fluent的同时AutoCAD、ICEM这些都要熟练。换句话说,Fluent和建模、划分网格的程序无法单独存在,比起COMSOL麻烦太多。


后记:现在的workbench15已经能做到独立划分网格并完成计算。所以只要用autocad/solidwork建模后代入就可以了,感觉比以前方便很多。总之简单的模型我推荐comsol,复杂的三维模型还是fluent比较好。




再推荐一个软件,EnviroSim出的BioWin,主要面向废水处理流程的模拟计算。目前刚开始用,觉得GUI做得还是不错的,用起来很直白很方便,各模块也基本一应具全。非要说缺点的话应该就是相关的学习资料太少,需要自己摸索的部分很多,以及国内用得也不多。但我觉得在废水处理方面这是个强大的软件,感兴趣的可以去了解下(应该是没有破解版的,下个试用版玩玩吧)。


顺便唠叨几句废水处理。我自己是学环境出身的,所以对水处理这块比较感兴趣。我觉得算是当前想做技术的化工毕业生的一大选择。都说传统工科搞创业难,但我觉得开水处理公司可以是化工生工环境毕业生创业的一条明路,至少我见过的做这个领域的小公司是很多的,在IT当道的创业世界里能分到一席之地。并且作为新兴产业,个人觉得未来也是大有钱途的。




再推荐两款软件,Plant Simulation和TeamCenter,我并没有用过,只是找工作的时候碰到有要求会用这两款软件而我却不会所以吃瘪的公司。严格说起来这两款软件已经不是和化工厂息息相关的了,前者是对工业流水线、物流的模拟软件,主要用于对生产系统的建模、仿真以得到供应链、生产线的最佳参数,是一款面向工厂管理的软件;后者则是更为抽象的产品生命周期(PLM)管理软件,理论上是更好地把握市场动态、对一款产品的销售量和利润进行长期预测,以得出应对不同市场的营销策略。对于化学工程的在读学生来说,其实我们更应该掌握的是系统工程,也就是不能再仅仅把目光停留在对某一个化工产品的生产流水线的单元操作上,而是能够对整个生产过程要有一个比较清晰的概念和把握,这才是区别于化学工程师和操作工人的最大能力体现。我认为对于将来想从事管理又苦于没有任何实际管理经验的化工学生来说,从这两款软件开始,对流水线、供应链建立起初步的概念是极有帮助的。



知乎用户:冠洋


北美化工PhD在读,在这里分享一些见解。估计题主是本科生吧,那这个答案就是对化工专业本科生来说的,正好我也很早就想给化工本科生写些东西了。


1. 首先......   


软件不是目的,只是工具。作为化学工程师,千万不能完全相信软件模拟,而是要学会驾驭软件。所以,在软件的学习阶段就端正好态度,别那么急着跑出来结果,也不要为了跑出来预期的结果而漫无目的的给input。你输入的任何参数,都要有原因,你都要尽量给出解释。
   

细说的话,软件学习分两步,第一步是理解背后的学科原理,第二步是理解模型求解的数值原理。比如Aspen plus,第一步就是理解如何用first principle去对每一个设备做衡算、物质的热力学性质参数在衡算中为什么会起如此关键的作用、整个process背后的各参数之间到底存在怎样的相关性,等等。这里举的每一个问题都不简单,都是大问题,而且不同的流程情况可能完全不一样,很多PhD做了5年可能就是解决某个流程的某个问题的。但是这些问题太核心、太fundamental了,所以作为本科生,多想想绝对大有裨益。第二步,数值原理,就是如何求解你基于first principle与热力学参数模型所建立的Process model,这个model基本都要数值求解。如果你未来的目标不是进Aspen technology这种公司当码农,数值原理没有必要钻的太深,但是收敛分析要熟练,这里就是体现软件操作经验的地方。


2. 再啰嗦几句......


看一个软件,到底学不学、学了有啥用、好不好学,基本是两个要素。第一,软件的用户群,或者说软件所解决的问题,它的topic是什么。第二,看软件所研究对象的尺度,即scale,这个尺度基本决定了软件背后数学模型的复杂度。


3. 开始说具体的软件~


Aspen Plus:化工最重要的软件,没有之一。这基本是唯一能区分化工与其他学科的软件。它做流程稳态模拟的,尺度是整个工艺过程,主要用途是设计工艺流程,关注设备的工艺参数条件,不考虑流动尺度的问题。

    

在你学习了化工原理、化工热力学以后,就有能力自学Aspen Plus了;但最好的时机,是在学习《化工设计》的时候,一边理解PFD和P&ID如何在工艺设计中的发展,一边上手软件。
   

补充一下,做流程模拟的软件不止这一种,比如Aspen Hysys做动态模拟,PRO II处理石化行业的Process,以及小型技术咨询公司如Virtual Material Group开发的低成本模拟软件VMGSim,但是基本的原理没有差别。本科生关注Aspen Plus就够了。


AutoCAD:做工程的,最后都要落实到项目上,工程项目里最有效的沟通就是工程图纸,而AutoCAD是工程图纸绘制的主流软件。化工本科生在学习的时候,练习的核心素材就是PFD和P&ID,这就够了。真要想多练习,那就再找些“设备结构图”。本科生学习CAD的重点,不在于软件操作,不在于快捷键和toolbox,而在于理解图纸的布置原则,到底什么漂亮、高质量的工程图纸。这其实是个锻炼工程素养的过程。


MATLAB:化学工程,当你真的在某个领域往深里做的时候,尤其做理论,就是在玩数学,这个领域有理论贡献的大牛,数理基础都很可怕。化工本科生倒是没有必要在数学有多强,但是不能成为短板。所以,这个软件就是个非常好的提升数理基础的工具,很强大。我隔壁课题组的师姐,发在Chemical Engineering Science(化工顶级期刊)上的文章,模拟就是用MATLAB做的。因此我非常建议,化工专业的学生从本科开始,就接触这块知识,尤其是和数学建模课程一起,相辅相成的学习。当你很舒服用方程组去描述一个体系、一个过程的时候,当你对数学模型、数值模拟这些核心概念产生理解的时候,再回看化工核心课程的东西,各种公式,各种推导,理解起来就轻松得多。


好啦!作为化工专业的本科生,能踏踏实实的学习上述三个软件,而且真的有相当的理解,已经很够格了。学软件,最怕多而不精,尤其是在一些粗糙的小软件上花费过多的精力,很不值得。


4. 进阶版的....

CFD系列:Ansys Fluent,Ansys CFX,Comsol(本身是求解多物理场的耦合问题,不是专门做流动的),甚至是开源的OpenFoam等,除非你真的对化工体系中(微)流动、反应器设计、多相流、物质扩散、数值传热、爆炸等非常感兴趣,一心想成为化工领域的顶尖高手,本科期间没有必要学习这些东西。计算流体力学的门槛非常高,对于流动理论、数值分析的要求很高。对于商业化的CFD软件,如Fluent,你要想跑出来个结果,并不难,难点在于:(1)物理问题本身的理解就很费劲,首先要有流体力学的基础,还要对反应工程有相当的理解,还得对传递过程有研究,很多时候对于边界条件的探索依赖于深厚的微积分功底。(2)就算理解了物理问题,数值方面的问题也非常复杂,PDE方程组到底是怎么解出来的,怎么能保证模拟在数值方面是可信的。没有相当的学术沉淀,在做很多input就根本是抓瞎,模拟出来的结果也就不可信。(3)CFD就算能跑出来结果,如何对于结果做分析(做出来的图非常fancy,那么so what,有啥用),这就要求你对于research本身有见解。正因此,我见过CFD做的好的,至少是个PhD,肯定是做相关research的。而且就算是化工的PhD,对于CFD的理解也参差不齐。


多说一句,做化学工程的,如果想往深里做,limit往往不是化学反应,而是流动问题没有理解清楚。所以,本科生阶段这个根本不要求,要是真想做做,多看看理论的书籍就好。当然,你要真想做、真喜欢,我绝对不拦你。


编程相关:这块不是我的专长,但就我所见,化工本科生最好有一定编程基础,起码要较熟练的掌握一门语言。


其他:Lingo是做优化的,编写起来非常方便,这个东西在学习“数学建模”课程的时候,与MATLAB一起学习最好,就是专门解决优化问题的。SPSS是统计学软件,这个不是纯化工,但是现在的化工也不是传统意义上的化工了,很多老师做的东西非常综合,而很多问题涉及到数理统计的东西,这是个很好的工具。Origin是做数据处理的,比较学术,推荐给有读研打算的同学。


之前说“尺度”的问题,这个很难讲,对于本科同学的话,我想了想还是不用太理解。这么说,如果不是本科的科研项目需要,各种分子模拟软件,那种特别微尺度的,没有必要碰,太偏理科了。流动尺度的东西,就是CFD系列,其实工业界实际使用的软件种类极多,只要是捕捉流动尺度信息的软件,门槛一般都非常高。


想起来个事儿,抽空好好学学做PPT,不是花里胡哨那种,是高质量的那种。这玩意练好了,真的能当大招用。

每日一句
There is no chocolate sweeter than that of a family.


——《Chocolate》


来源:知乎


推荐:麋鹿

作者:知乎用户Hai Tang、冠洋

编辑:麋鹿



我要推荐
转发到

友情链接