matlab模拟优化代码
LETO:用于拓扑优化的混合拉格朗日-欧拉方法
*,*,*,,,
*均摊
此仓库是LETO的88行MATLAB版本,具有2D线性弹性。
C
++中的高性能和更完整的版本将在以后开源。
执行
我们将LETO分为两个文件:
leto.m包含LETO的核心算法(场景设置,从载体粒子到正交的密度转移,顺应性计算,导数计算和优化循环)。
场景设置和DOF索引遵循88行的惯例。
mmaUpdate.m是独立的优化器,优化循环基于该优化器。
此实现是从开放源代码进行翻译和修改的。
用法
leto(nelx,
nely,
volfrac,
penal)
nelx
*
nely定义模拟分辨率。
volfrac定义音量约束。
penal定义了SIMP中使用的幂律。
对于不同的场景设置,请随时修改代码。
结果
通过此MATLAB实现,我们在梁示例中比较了LETO和SIMP()。
场景设置完全相同。
Dirichlet和Neumann边界条件定义为(在leto.m和top88.m
):
F
=
sparse(
2
*
(nely
+
1
)
*
(nelx
+
1
),
1
,
-