本项目提供基于MATLAB的热传递与机械应力结合下的拓扑优化代码,适用于研究和设计高性能结构材料及设备。
热传递的Matlab代码适用于瞬态传热的一般拓扑优化问题。该代码使用.msh(GMSH文件格式)形式的网格,并且目前仅支持4.1版本,其中边界条件与.msh文件中的物理组相关联。这些信息被解析并输入到FEM模型中。对于每个优化问题,都有一个对应的类来处理这些问题,这个类采用FEM模型并通过使用MMA优化器找到最优解。
该代码基于面向对象的编程范式编写,并依赖于预编译为MEX文件的MMA优化器。最初在Matlab R2019b中开发了这些依存关系。为了更好地组织代码,所有的内容都被封装起来。这是从Matlab R2019a开始的新特性,但不是必需的;另一种方法是在程序启动时将所有目录和子目录添加到MATLAB路径。
该系统包含一个名为Mesher工具的轻量级开源网格生成器,并且除了NLOPT优化求解器之外的所有依赖项都位于/dependencies文件夹中。安装过程包括克隆仓库并编译NLOPT Matlab接口(涉及MMA解决方法)。
运行:在Matlab环境中执行代码时,请确保将所有必要的依赖项添加到路径,具体是将/dependencie目录中的内容加入MATLAB搜索路径中。