找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4041

积分

0

好友

567

主题
发表于 9 小时前 | 查看: 3| 回复: 0

你是否曾想过自主开发一款工业级CAE仿真软件?面对商业软件高昂的授权费用或功能限制,一个开放、可扩展的底层平台显得尤为重要。MxSimLab 正是一个为此而生的开源增量集成式全数字仿真引擎系统。

该项目在国家级研发计划的支持下,旨在为开发者和工程师提供一个高性能基础框架。你可以基于此平台,轻松集成第三方求解器或嵌入自研算法,快速构建出满足特定工程分析需求的定制化仿真软件。

项目目录结构一览

了解项目结构是上手的第一步:

  • data/:存放几何文件、着色器文件和样式文件等资源。
  • example/:提供可执行的程序案例,供学习和参考。
  • external/:集成了外部依赖子模块,如 glad、glfw、imgui 等,开箱即用。
  • python/:Python 相关的接口或脚本代码。
  • src/:平台的核心源代码。
  • tests/:各类测试文件。

如何在 Windows 上构建与安装?

支持平台与必备工具

目前,项目已在 Windows 10 平台上测试通过,可成功编译安装。你需要准备以下工具和环境:

  1. IDE:Visual Studio 2019 或更高版本。
  2. 构建工具:CMake,建议使用最新版本。
  3. GPU 加速:CUDA(测试版本为 11.4,也兼容其他旧版本)。

依赖库详解

项目依赖分为图形、界面和功能扩展库几类。

场景图与图形依赖(已集成)
以下库已作为子模块集成在 external/ 目录中,无需单独安装:

  • glad:用于加载 OpenGL 函数。
  • glfw:负责窗口创建与上下文管理。
  • imgui:一个高效的即时模式 GUI 工具库。

必要库(需手动安装)
这两个库是启动图形界面的基础,必须安装:

  • Qt:用于构建图形用户界面。未安装将导致 GUI 无法启动。
  • Boost:C++ 基础库,建议版本 ≥ 1.79.0。

可选功能库(按需安装)
为扩展软件功能,你可以选择性地安装以下库:

库名 用途说明
VTK 提供强大的科学数据渲染与可视化支持。
OCCT 用于几何建模与处理,是实现 CAE 前处理功能的关键。
MKL Intel 数学核心库(需 ≤ 2017 版本),流固耦合分析所必需。
Alembic 支持动画与复杂场景数据的交换格式。
Imath OpenEXR 图像格式的配套数学库。
Gmsh 可集成其脚本,实现自动网格生成功能。
MxSim 平台默认集成的结构仿真求解器。

从零开始的下载与构建指南

1. 克隆项目仓库

第一步是获取源代码。使用 --recursive 参数可以自动拉取所有子模块依赖。

git clone --recursive https://gitee.com/caiyong_GPU/mx-sim-lab.git

注:external/ 目录下的依赖(如 glad, glfw, imgui)已通过此命令一并下载。

2. 配置关键环境变量

请确保你的系统中已正确设置以下环境变量,以便 CMake 能够找到它们:

  • CUDA 相关路径
  • Qt 的安装路径
  • Boost 库的根目录

3. CMake 配置选项说明

使用 CMake 生成项目时,以下选项需要特别关注。

必选配置

  • Qt 支持:务必勾选 PERIDYNO_Qt5_GUI 选项。
  • Boost 路径:正确设置 Boost_INCLUDE_DIR 变量,指向 Boost 的头文件目录。

前处理模块(可选)
如果你需要启用 CAE 前后处理功能(如几何导入、网格划分、结果云图显示),请进行如下操作:

  1. 勾选 MXSIMLAB_LIBRARY_PREPOSTPROCESS
  2. 配置以下库的路径:
    • MXSIMLABDEP_OCC_INC:OCCT 的头文件目录。
    • MXSIMLABDEP_OCC_LIBDIR:OCCT 的库文件目录。
    • MXSIMLABDEP_VTK_INC:VTK 的头文件目录。
    • MXSIMLABDEP_VTK_LIBDIR:VTK 的库文件目录。

流体/流固耦合插件(可选)
当前流体动力学相关功能以插件形式提供:

  1. 勾选 PERIDYNO_LIBRARY_PLUGIN 以启用插件支持。
  2. 将官方提供的插件文件放入构建目录下的 ./build/plugin/ 文件夹中。

4. 执行编译

推荐在命令行中完成 CMake 配置,然后使用 Visual Studio 进行编译。

cd mx-sim-lab
mkdir build && cd build
cmake ..

执行完 cmake .. 后,使用 Visual Studio 打开生成的 .sln 解决方案文件进行编译即可。

如果尚未安装 CMake,请前往其官网下载安装。

核心功能模块

MxSimLab 平台集成了多个仿真模块,为复杂工程问题提供解决方案:

模块类别 功能说明
前后处理 支持几何模型导入、自动/手动网格生成、仿真结果的可视化与分析。
通用结构分析模块 适用于典型的机械结构仿真,例如汽车转向连杆的应力应变分析。
流体求解模块 提供计算流体动力学(CFD)仿真能力。
流固耦合模块 用于分析流体与固体结构之间相互作用的复杂物理现象。

软件界面与交互体验

平台的用户界面基于 Qt + ImGui 构建,兼顾了传统桌面应用的稳定性和即时模式GUI的灵活性。

MxSimLab 0.8.1 软件主界面与三维建模视图

基于节点编辑器的工作流配置界面

在可视化方面,它深度融合了 OpenGL 与 VTK,能够高质量地进行 3D 场景渲染。

仿真结果云图显示与后处理界面

用户可以在界面上实时查看仿真计算结果,并动态调整参数,实现了交互式分析与调试。

流体求解器节点配置与实时监控面板

数据转换与求解流程编排界面

获取源码与社区

项目源代码托管在 Gitee 平台,完全开源:

MxSimLab 致力于打造一个开放、可扩展的高性能 CAE 仿真开发生态。无论你是希望研究仿真引擎的底层原理,还是急需一个可靠的框架来集成自己的专业算法,它都提供了一个绝佳的起点。我们欢迎更多开发者加入,基于此平台进行二次开发与创新实践。

对于想深入探索 C++ 高性能计算和图形学的朋友,可以到云栈社区的对应板块,与更多同行交流构建此类复杂系统的实践经验。




上一篇:通义千问P10技术负责人林俊旸卸任,Qwen开源模型技术路线或面临调整
下一篇:西贝被曝缓发工资、强制员工待岗,餐饮业困境中的劳资纠纷引热议
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-5 19:11 , Processed in 0.398381 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表