关于CAE的那点儿破事儿
CAE是计算机辅助工程的英文简写,所涵盖的范围甚是广泛。现在很多人提到CAE,总是联想到结构有限元计算,更有甚者认为有限元就是CAE。还有人把所有的工程数值计算都称作有限元。本文就这一话题,来谈谈关于CAE的那点儿破事儿,以最粗浅的文字来讲述CAE所涉及的那点儿东西。
1 到底是什么
CAE(Computer Aid Engineer,计算机辅助工程)。按中国话的语法习惯,“计算机辅助工程”是不太容易理解的,工程有什么好辅助的呢,这里可以换一种说法:“计算机辅助工程计算”,是不是觉得好理解了些呢。将CAE理解为计算机辅助工程计算,以与计算机辅助工程设计(CAD)相区分,以避免混淆。
又有人问了:“工程计算指的是什么?工程上有什么需要计算的?设计完了不就OK了么?”
那么我要问了:“设计的出来的各种数据是凭空想象出来的么?产品的长宽高、材料的性能要求、加工装配要求等等各种要求是拍脑袋得到的么?难道不需要计算?”。因此在工程上,CAE所做的计算工作是用于产品设计的,是为产品设计服务的。(在科学研究上,CAE有另外的用途,后面再说。)
在产品设计的前期、中期及后期,都有可能会应用到CAE。在前期,CAE主要用于概念设计;在中期,CAE主要用于优化设计;在后期,CAE主要用于性能校核。CAE的位置越靠前,对产品设计越有利。很不幸的是,目前我们国家CAE的应用大部分用于产品设计末期,上述用得好的企业可能用于中期。
总结:CAE是一种利用计算机解决工程设计中的计算问题,并利用计算结果数据指导工程设计的方法及手段。
有限元只是一种数学方法,其全称是“有限单元法”,是一种求解偏微分方程的数值方法。其实此类的方法很多,除了有限元法外,还有诸如有限体积法、边界元法、谱方法等等,多达N种,数都数不清。就拿有限元应用最广泛的结构应力计算领域来讲,实际上可以计算结构应力的数学方法很多,有限体积法和边界元法都能做这事儿,而且最近闹得比较火的无网格法、格子-波兹曼方法也可以解决这类问题。实际上结构应力计算就那么个偏微分方程,不管用什么方法,目的都是为了求解那个方程而已。
之所以很多人将CAE误认为是有限元,分析原因可能在于:
(1)目前CAE的一大块应用领域在于结构应力计算,而目前结构应力计算的主流方法是有限元法。
总结:CAE是一种工程技术手段,而有限元只是CAE所使用的众多数学方法中的其中一种数学方法。
2 能干些什么
CAE能干很多的事情。粗略来说,CAE可应用于以下一些领域:
- 结构应力计算。这是一个很常见的CAE应用领域,包含的范围及其广泛。常规计算包括静力学计算、模态计算、谐响应分析、谱分析、随机响应分析,更复杂的还包含疲劳计算、裂纹扩展分析等等。
- 流体流场计算。流体计算是CAE另外一个重要的应用领域。流体计算通常包括常规的流动计算、传热计算、多相流计算、化学反应及燃烧等等。
- 电磁场计算。其中高频电磁场与低频电磁场又分别包含有不同的计算内容。
- 声学计算。气动声学与振动声学是两个主要的声学计算领域。
- 多体动力学计算。机械领域应用相当多的场合,主要用于分析机构在运动过程中的速度、加速度等物理量。
- 光学计算。(对此领域不熟悉,不过的确是一个很大的CAE应用领域)
- 多物理场耦合计算。以上各种计算搅和在一起,随着计算机性能的不断增强,越来越多的工程问题可以考虑多物理场耦合计算。
- 系统仿真。(此领域不怎么熟悉,不过也是一个大的CAE应用领域)
- 优化设计。工程优化问题通常涉及到大量的数值计算,同时优化设计还需要配合实验设计。
当然可能还有很多其他的领域并未包含进去,不过应该说是包含了大部分的领域。CAE包含的范围实在是太广泛了,因此单纯的去提CAE能干什么,并不是一件很理智的事情。经常有网友在群里问"学CAE要看那些书籍?",对于此类的问题,真真是没有答案的。
总结:CAE的应用范围及其广泛,不讲领域而单纯的去讲CAE的话题是没办法继续下去的。
3 人的作用
之所以会有这么一说,其实是源于群中问得最多的一个问题“搞CAE到底是否有前途”。要分析搞CAE是否有前途,那么就必须要弄清楚人在CAE中所起的作用。
随着计算机性能的不断提高,以及人工智能技术的不断发展, 很多人担心自己的饭碗会被计算机抢走,对于只会操作CAE软件的人尤为如此。你想嘛,点鼠标谁不会呢,计算机似乎比人类更擅长,不是吗?
但真实的情况应该是怎样的呢?真正的CAE人员会被人工智能取代么?人脑在CAE中应当处于什么地位?
在谈论这个话题之前,还是强调一点:CAE计算的目的不是为了得到一堆数据或花花绿绿的图片,而是为了发现问题和解决问题。
将来不敢说,不过就目前以及近几年来讲,计算机还只是一个死物。人工智能还远没有发展到使计算机能从复杂的现实世界中抽象出物理模型,以及将CAE计算结果应用到物理模型改进上。举个简单的例子。比如说一个苹果从树上掉下来了。当前的人工智能技术足以使计算机识别到这一现象,但也仅此而已,计算机并不会知道是什么原因导致苹果从树上掉下来。计算机可以识别到苹果下落的速度,但计算机不会知道该如何去控制苹果的下落速度。
工程CAE也是一样,人在其中所起的主要作用我觉得无外乎这两个:
- 其一:告诉计算机现象背后所涉及到的物理模型。
- 其二:利用计算机提供的计算结果找寻规律或指导设计。
有一类CAE从业者容易被人工智能取代。一种是纯粹的软件操作工。只会操作软件,不管物理现象背后的理论背景,不知道如何选择合适的计算模型,得出了计算结果也不会利用。这类人在当前CAE使用者中占了多数,他们熟悉各种前后处理软件以及求解器的操作,但是很遗憾,你点鼠标的速度再快也绝对快不过计算机的。
总结:骚年,CAE软件操作并不等同于CAE,单纯的软件操作工是混不长久的。
4 具备哪些素质
我一直很反对本科生搞CAE,这绝不是学历歧视,其实我见过很多本科学历的人CAE做得非常好。
为什么反对本科生搞CAE呢,这里把理由摆出来:(注:我觉得这里反对的声音肯定很多,不过我还是保留自己的意见)
- 其一:理论准备不够。当然很多人会说:“很多研究生的基础也很差啊,搞机械的研究生连屈服强度是什么都不知道的都大有人在”。我不排除这种极端情况,但是你觉得机械专业的是本科生不知道屈服强度的人多还是研究生不知道屈服强度的人多?不争论这个。以结构应力计算为例。粗浅的来说,结构计算的核心内容在于材料本构、约束和载荷、强度理论等。很遗憾,我们国家绝大多数高校机械专业的学生学习的力学主要是理论力学和材料力学,开弹塑性力学的很少。那么关于材料本构,印象中材料力学只涉及到了线弹性;关于约束和载荷,貌似机械原理中会简单的讲到一点点;关于强度理论,在材料力学中提到了四个准则,更复杂一点儿的就没有了。对于这点儿基础,如果去做结构应力计算,显然只是储备是不够的。结构应力计算是相对来讲比较简单的,那更复杂的疲劳、接触以及裂纹呢?很多硕士研究生都未必有这方面的理论基础。
- 其二:思维方式不足。还是那句话,CAE的目的并非得到一堆花花绿绿的图片,而是要反哺设计。本科生的思维大部分停留在正向思维上,习惯于利用设计参数获得设计结果。但是CAE的使用并非直接利用设计参数得到设计结果,通常CAE的使用是利用大量的计算数据获取物理规律,再利用得到的物理规律指导设计。这里存在一个反问题的解决上。最直接的例子就是优化设计。当然很多所谓的优化设计其实并不能称之为优化,而仅仅只能称为优选,因为其没有一个目标函数。那是怎么做的呢?比如说一个产品有5个参数可以控制,那么设计者凭借经验随机的修改其中的参数,然后对修改后的性能参数进行比较。这实际上碰运气的成分比较大,传说中的“试错法”。有时候运气好,修改参数后确实能提高性能,但并不能保证是最优的,当然更多的情况是无用功,尤其当产品控制参数相互关联相互影响的情况下。
当然上面说的本科生只是指普遍情况下,并非指所有的,也不排除特别的优秀的搞CAE特别好的本科生,但相对于研究生队伍来说,比例绝对不会高。
回到主题,需要具备哪些基本素质呢?以下是个人看法:
- 熟悉自己所从事领域的物理理论背景。搞结构静力学计算的肯定要了解弹塑性力学,搞CFD计算的肯定要了解流体力学。这是最基本的素质。否则可能会沦为软件操作工,在不久的将来被人工智能抢了饭碗。
- 熟悉本领域CAE处理流程。标准流程很重要,能够保证效率以及结果质量。
- 学习能力。学习能力的重要性,我想不需要多说了。
- 协作能力。CAE涉及领域越来越广,一个人精力有限不可能精通所有的领域,因此与其他人的协作能力很重要。
- 良好的思维习惯。
- 其他…
附件列表
关于CAE的那点儿破事儿的更多相关文章
- 关于CAE的那点儿破事儿【二】
前面在<关于CAE的那点破事儿>一文中,主要提到了CAE是什么.CAE能做些什么.人在CAE应用中的作用以及CAE从业中应当具有哪些基本素质.然而CAE是一把双刃剑,如果不能在工程应用中很 ...
- UWP关于图片缓存的那些破事儿
看似简单的功能,实施起来却是有着一堆大坑. 按着基本功能来写吧 1.选择图片并显示到Image控件中 2.图片序列化为byte数组以及反序列化 3.本地存储与读取 1.选择图片: 逻辑就是使用File ...
- Mac安装Navicat的那些破事儿
本文目的如题,navicat 优点不再赘述.如有侵权,请联系我立即删除. 下载地址 Mac版 Navicat Premium 12 v12.0.23.0 官网下载地址: 英文64位 http://do ...
- 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】
楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...
- (转)iOS应用架构谈 view层的组织和调用方案
前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二 ...
- windows类书的学习心得(转载)
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- NativeScript的开发体会
上个月开始,国内的主流技术网站开始在推荐NativeScrpit,"js+xml写跨终端app"."原生体验挡不住",很多网站都拿这个当做宣传NativeScr ...
- iOS应用架构谈-part2 view层的组织和调用方案
前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二 ...
随机推荐
- jQuery live事件说明及移除live事件方法
1.live事件说明 jQuery1.3增加了一个live()方法,下面是手册上的说明: jQuery 1.3中新增的方法.给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件).也 ...
- ssh无法登录,提示Pseudo-terminal will not be allocated because stdin is not a terminal.
当远程通过ssh登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误 字面意思是伪终端将 ...
- win7 远程桌面连接centos 6.5
首先安装tigervnc-server: yum install tigervnc-server 安装好后,设置 vi /etc/sysconfig/vncservers 'man vncpasswd ...
- Ubuntu x86-64汇编(2)
开发工具链 汇编编译器: yasm连接器: ld载入工具: os自带Debug工具: ddd yasm安装 .tar.gz cd yasm-/ ./configure --prefix=/opt/y ...
- ArcGIS 概述
ArcGIS产品线为用户提供一个可伸缩的,全面的GIS平台.ArcObjects包含了大量的可编程组件,从细粒度的对象(例如,单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象) ...
- ZOJ 1457 Prime Ring Problem(dfs+剪枝)
Prime Ring Problem Time Limit: 10 Seconds Memory Limit: 32768 KB A ring is compose of n circ ...
- Dockerfile 构建前端nginx应用并用shell脚本实现jenkins自动构建
Dockerfile 文件构建docker镜像 FROM centos MAINTAINER zh********h.cn RUN rm -f /etc/nginx/nginx.conf COPY n ...
- 表的复制——sql语句
SQL Server 复制表结构及数据到新表 select * into 目标表名 from 源表名(要求目标表不存在,因为在插入时会自动创建) 只复制表结构到新表 CREATE TABLE 新表 S ...
- suricata 的安装编译
最近打算研究suricata源码,下载并安装了稳定版3.2.3版本,操作系统是Ubuntu 16.04.2 LTS,下来描述我的操作过程: 1,安装suricata运行可能用到的库: sudo apt ...
- JAVA操作mysql
所需jar包:mysql-connector-java.jar 代码: import java.sql.*; import java.util.ArrayList; import java.util. ...