通用工程仿真CAE软件由于涵盖了不同的物理场与工程计算,会涉及到大量的量纲与单位。虽然求解器一般不用考虑量纲的单位,而前端GUI为了提升用户体验,会将量纲与单位模块作为一个开发重点。
业界经常将CAD与CAE软件的开发进行对比。量纲与单位可能是两者最大的区别之一。大型CAD软件一般只有长度和角度单位。而大型仿真CAE软件会涉及50种以上的量纲。加上每个量纲在都存在多种单位,综合起来CAE软件会涉及近千种单位。UnitConverter,MatEditor和WELSIM在多年以前就支持了各种复杂的单位制与单位,对于各种单位的转换也早已成熟,且计算精确。参见《一款终身免费的单位转换工具UnitConverter》一文。单位模块的开发量不仅巨大,同时单位模块的一点小问题,会导致计算结果的巨大偏差。是CAE软件研发中不可忽视的一个重要模块。
量纲与单位模块开发的难点在于,需要不同背景的开发人员协同工作。单位模块要求开发人员即懂各种工程物理量纲,又懂数值方法与大型软件的开发。这对产品经理与团队协作提出了较高的要求。本文在作者多年开发WELSIM的基础上,归纳了现代大型仿真CAE软件中常用到的量纲与单位。
单位制
量纲与单位数量众多,通过单位制将其归类是很好的方法。如下图所示,我们归纳了16种常见的单位制,每种单位制都会对量纲的单位有所规定。目前WELSIM套件,包含MatEditor与UnitConverter都已经支持了这16个单位制。
在这些单位制中,使用最频繁的单位制是
SI (kg,m,s,C,A,N,V)
Metric(g,cm,s,C,A,dyne,V)
Metric(kg,mm,s,C,mA,N,mV)
US Customary (lbm,in,s,F,A,lbf,V)
US Customary (lbm,ft,s,F,A,lbf,V)
有些量纲在同一种单位制下可能会出现多个单位,如温度,角度,和角速度等。开发者需要将这些量纲的其他单位选项提供给用户,便于用户进行仿真分析。如下图所示,WELSIM为温度量纲提供了摄氏温度与绝对温度(对于华氏温度,用户可以使用US Customary单位制得到),为角度量纲提供了角度与弧度选项,为角速度提供了rad/s与RPM选项。使得不同背景的用户都可以使用想要的单位进行仿真分析。
当然还有一些使用频率相对较少的单位制,如电动力学中的Gaussian单位制。由于在工程中不常见,本文不赘述。
量纲与单位
工程仿真CAE软件由于涉及的量纲众多,我们按照分析类型将单位分为7大类:基本,常用,力学,热学,电学,磁学,流体。下面分别介绍每个类别下的常见单位。
基本单位
基本单位是所有单位的基础,决定了其他单位的形式,同时是单位换算中基本量。包括角度,电流,长度,质量,温度,时间。
常见单位
包含面积,体积,密度,比容,频率,能量,能量密度。
力学单位
包含压力,力,速度,加速度,角速度,角加速度,扭矩,质量惯性,动量,功率,硬度,断裂韧性。
热学单位
包含换热系数,热传导率,热扩散率,热通量,热功率,热功率密度,热容,热辐射系数,比热系数,比热系数密度,熵。
电学单位
包含电压,电荷,表面电荷密度,电荷密度,介电常数,电场强度,电场通量密度,电容,表面电流密度,导电率,电传导,电感系数。
磁学单位
包含磁导率, 磁场强度,磁通密度,磁势。
流体单位
包含动力粘度,运动粘度。
目前WELSIM套件,包含MatEditor与UnitConverter已经支持了包含以上54种量纲的单位。
总结
量纲与单位是工程仿真CAE软件的必备模块。由于其内容相对零散,在实际开发中常被开发者忽视。同时,量纲与单位模块对精确性有极高要求,单位转换中的一点小问题,会导致计算的完全错误,误差可以多达好几个数量级,因此需要有足够的单元测试保证准确性。同时从软件工程的角度,单位模块需要易于拓展和维护,在CAE软件迭代开发时,会随着不断增加的功能,添加新的量纲与单位。