数值仿真中涉及的编程语言介绍

本文针对数值模拟中常常会涉及到的一些编程语言进行综述性介绍,在此抛砖引玉,希望对大家有简单帮助。

就工程中涉及的仿真来说,依据商业软件的开发来分,主要涉及一下几类编程语言:C语言、Fortran语言、Python、MATLAB、APDL、TCL/TK语言、Modelica语言等。

C语言/Fortran语言:这两类语言是cae仿真中最常用的编程语言,尤其是Fortran语言,在以前商用分析软件中都是基于Fortran来进行数值计算的。C语言应用比较广泛,像ADAMS可以通过C语言编程来进行二次开发,定义用户子程序等。

Python:它主要用在ABAQUS软件的分析和二次开发中。由于ABAQUS/CAE是基于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语言做复杂系统的仿真。

上述是针对较为常用的仿真编程语言进行简单介绍,对于我们工程师而言,掌握其中任何一门语言都是非常大的优势。还是那句老话,数学知识和编程能力撑起仿真一片天。

更多内容关注微信公众号及知乎专栏:cae_space/数值仿真空间。

发表评论

电子邮件地址不会被公开。 必填项已用*标注