You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
43 lines
1.5 KiB
|
2 weeks ago
|
# XVoxel
|
||
|
|
|
||
|
|
基于体素(六面体)的多尺度拓扑优化框架,MATLAB 实现。使用弹性六面体单元进行有限元分析,结合 GCMMA 优化器实现结构优化设计,集成 Python SDF(有符号距离场)查询工具进行网格体素化。
|
||
|
|
|
||
|
|
## 功能
|
||
|
|
|
||
|
|
- 弹性六面体(ElasticHexa)单元的 FEM 分析,支持边模态、面模态、体模态
|
||
|
|
- GCMMA / MMA 拓扑优化求解器
|
||
|
|
- 基于 SDF 的网格体素化(Python + libigl)
|
||
|
|
- ANSYS 结果可视化接口
|
||
|
|
|
||
|
|
## 依赖
|
||
|
|
|
||
|
|
- **MATLAB**:主计算框架
|
||
|
|
- **Python 3.9+**:SDF 查询计算(`3rd/py_igl_sdf/`)
|
||
|
|
- **libigl**:Python 端几何处理
|
||
|
|
- **SuiteSparse**:MATLAB 稀疏求解器
|
||
|
|
|
||
|
|
## 目录结构
|
||
|
|
|
||
|
|
```
|
||
|
|
.
|
||
|
|
├── add_r_path.m # 添加 MATLAB 路径
|
||
|
|
├── src/
|
||
|
|
│ └── class/
|
||
|
|
│ ├── @ElasticHexa/ # 弹性六面体单元类(形函数、梯度、模态等)
|
||
|
|
│ ├── AnsysPloter.m # ANSYS 结果可视化
|
||
|
|
│ └── cal_D/ # 本构矩阵计算
|
||
|
|
├── 3rd/
|
||
|
|
│ ├── GCMMA-MMA-code-1.5/ # GCMMA/MMA 优化器 MATLAB 实现
|
||
|
|
│ ├── py_igl_sdf/ # Python SDF 查询工具
|
||
|
|
│ └── SuiteSparse/ # 稀疏求解器
|
||
|
|
└── asset/ # 测试模型(STL 等)
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关论文
|
||
|
|
|
||
|
|
- Svanberg, K. (2002). A class of globally convergent optimization methods based on conservative convex separable approximations. *SIAM Journal on Optimization*.
|
||
|
|
|
||
|
|
## 作者
|
||
|
|
|
||
|
|
林成锋
|