就工程中涉及的仿真来说,依据商业软件的开发来分,主要涉及一下几类编程语言:C语言、Fortran语言、Python、MATLAB、APDL、TCL/TK语言、Modelica语言等。
C语言/Fortran语言:这两类语言是cae仿真中最常用的编程语言,尤其是Fortran语言,在以前商用分析软件中都是基于Fortran来进行数值计算的。C语言应用比较广泛,像ADAMS可以通过C语言编程来进行二次开发,定义用户子程序等。
Python:它主要用在ABAQUS软件的分析和二次开发中。由于ABAQUS是基于Python来开发的,所以涉及ABAQUS的各类操作和计算都可以用Python来编写。如果进行二次开发和GUI编程,可以通过ABAQUS录制宏来学习ABAQUS中的API命令。
MATLAB:常用的数值计算和数据分析语言,同时由于simulink模块的存在,使其能够同非常多的软件兼容进行联合仿真,实现数据通讯。关键是MATLAB编程入门非常简单,只要有其他任何编程语言经验,学习起来非常快速高效。正是由于这个原因,很多有限元理论和数值计算方法的教材都是基于MATLAB语言来编写的。
APDL:属于ANSYS自身的参数化设计语言,这个主要针对ANSYS软件自身。由于现在ANSYS提供workbench平台,使得其操作和学习起来比较方便,所以APDL语言的学习较以往大为较少。以前由于ANSYS经典界面操作很不方便,而使用APDL操作更为高效,因此很多人在学习ANSYS时候都会学习APDL。对熟悉APDL的人来说,其实仍然是使用APDL更为得心应手,其操作也不比用workbench慢,而处理问题却更为广泛和深入。
TCL/TK语言:主要是hypermesh二次开发语言,可以再hypermesh中进行二次开发和GUI设计,便于更为自动化快捷的处理有限元前处理工作。这个在hypermesh官方出版的书籍中有介绍。
Modelica语言:用于进行多学科联合仿真而使用的建模语言,像机械、电气、液压、控制等学科都可以基于modelica语言建模,实现联合控制与仿真,像MWorks、SimulationX、Dymola、AMESIM等商用软件都可以基于modelica语言做复杂系统的仿真。
Modelica一维建模
上述是针对较为常用的仿真编程语言进行简单介绍,对于我们工程师而言,掌握其中任何一门语言都是非常大的优势。还是那句老话,数学知识和编程能力撑起仿真一片天。