# 3.5.10: 壳体的双向渐进结构优化 (BESO for Shells)

在[\[7\]](/chinese_1_3_3/appendix/bibliography.md)中可以找到Karamba3D中使用壳体双向渐进结构优化算法的详细描述，图3.5.10.1为一个案例，该案例显示在一座矩形墙的每个上角处都承受两个点荷载。BESO过程的结果是图左侧所示的X形结构。

![图3.5.10.1：矩形板材在两个角荷载下的双向渐进结构优化（BESO）。](/files/-M9XuVqAJv19yAwFPEC_)

#### 这些是控制优化过程的主要参数：

|                   | "                                                                                                             |
| ----------------- | ------------------------------------------------------------------------------------------------------------- |
| **"Model（模型）"**   | 需优化的模型。                                                                                                       |
| **"ElemIds"**     | 参与优化的壳体标识符列表。如果列表为空（默认），则包括所有壳体程序。                                                                            |
| **"LCases"**      | 需考虑的荷载工况列表。零是首个工况的索引。考虑几个工况的总影响等于将它们各自的影响添加到一个元件上。                                                            |
| **"TargetRatio"** | 结构中壳体的目标质量（优化后质量）与其初始质量的比值。在确定结构中壳体的初始质量时，不论激活状态如何，结构的所有壳体单元都要纳入计算。在目标结构中，只有被激活的元素质量被纳入计算。这样确保用户可以串联应用BESO组件。 |
| **"MaxIter"**     | 最大迭代次数。                                                                                                       |

#### &#x5728;**“Settings（设置）”**&#x5B50;菜单下，这些附加选项可用于进一步自定义优化过程：

|                 |                                                                                                                                                                                                                                                                                       |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **"ER"**        | 优化比率（evolutionary ratio）的缩写，它以两个连续的步骤定义优化结构体积$$V\_i$$和$$V\_{i+1}$$之间的比率：$$V\_{i+1} = V{i} \cdot (1\pm ER)$$。“ER”的符号取决于应添加还是删除元素。如果$$ER<0$$，这是默认值，“ER”将自动设置为：$$ER = (1-TargetRatio)/MaxIter + AR\_{max}/2$$。如&#x679C;**“ER”**&#x503C;太小，则无法&#x5728;**“MaxIter”**&#x6B65;骤中达到优化结构的目标质量。 |
| **"ARmax"**     | 每一步骤要添加的最大元素数量与所有壳体元素之间的比率。                                                                                                                                                                                                                                                           |
| **"Nhist"**     | 用于计算收敛标准步骤间的迭代次数。                                                                                                                                                                                                                                                                     |
| **"Conv"**      | 两次迭代$$N\_{hist}$$周期之间质量的相对变化，除了下面是假定的收敛。                                                                                                                                                                                                                                              |
| **"Rmin"**      | 为了避免形成棋盘图案，使用一种过滤方案来计算单体元素的适合程度（请参阅[\[7\]](/chinese_1_3_3/appendix/bibliography.md)，第3.3.2节）。$$R\_{min}$$以米为单位定义影响半径，从而确定元素的敏感程度。因此，重要的是根据平均元件尺寸选择该值。如果$$R\_{min} <0$$（默认值），则将$$R\_{min}$$设置为等于特征元素的长度，该元素的长度计算为$$(totalArea/numberOfElements)^{0.5} \cdot 2$$。                       |
| **"Rexp"**      | 确定加权元素中心距离在$$R\_{min}$$内节点处的应变能以计算元素的灵敏度。其重量取决于$$w =(R\_{ij}/\sum R\_{ij})^{R\_{exp}}$$。在$$R\_{ij}=R\_{min}-R$$ 中，$$R$$ 是样本节点与元素中心之间的距离。$$\sum R\_{ij}$$是所有距离元素中心比$$R\_{min}$$距离近的节点中心距离总和。                                                                                           |
| **"KillThick"** | 借助所谓的“soft kill（柔性终止）”算法，适用于壳体程序的BESO（双向渐进结构优化）。通过降低壳体厚度，使其变薄，而不是从模型中将其删除。在使&#x7528;**“KillThick（减少厚度）”**&#x8F93;入端口时，可选择默认值 0.00001 m 以外的其他值。                                                                                                                                        |

#### **“BESOShell”**&#x8FD0;算器的输出端口反馈以下数据：

|                 |                                                                                                                                    |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **"Model"**     | BESO优化产生的模型。                                                                                                                       |
| **"ModelHist"** | 中间模型列表——BESO过程的每个迭代步骤有一个中间模型列表。                                                                                                    |
| **"CHist"**     | 驱动BESO程序的结构体积加权顺应性历史。当输&#x5165;**“Quick Graph（快速图表）”**&#x8FD0;算器时，可检查BESO程序是否收敛：图表最后应为水平。如果不是这种情况，请尝试使用较小&#x7684;**“ER”**&#x503C;。 |
| **"VHist"**     | 列出要优化壳体体积变化值的列表。                                                                                                                   |
| **"Info"**      | 万一出现问题，反馈有关解决过程的信息。                                                                                                                |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual-1-3.karamba3d.com/chinese_1_3_3/3-in-depth-component-reference/3.5-algorithms/3.5.10-beso-for-shells.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
