# 3.5.8: 优化横截面 (Optimize Cross Section) 🔷

使&#x7528;**“Optimize Cross Section（优化横截面）”**&#x8FD0;算器自动选择最合适的梁和壳体横截面。该运算器考虑了横截面的承载能力，并可选择限制结构的最大挠度。

图3.5.8.1显示了一个典型设置。初始结构由HEA100类型的工字型断面构成，其高度和宽度均为100毫米。它们无法承受给定的荷载：产生的弯曲应力将远远超出假定材料，亦即$$f\_y=23.5kN/cm^2$$S235钢的屈服应力。

![图3.5.8.1：在简支梁上使用“OptiCroSec（优化横截面）”运算器进行横截面优化。](/files/-M9XuTu3uMqlHFR1ozW_)

首先，**“OptiCroSec（优化横截面）”**&#x8FD0;算器确定每个元件的横截面，以确保其承载能力足以应对所有荷载情况。为实现这一点，Karamba3D使用以下过程：

1. 使用初始横截面在沿所有梁&#x7684;**“nSamples”**&#x70B9;处界定截面力
2. 对于每个元素或给定的元素集：从每个横截面所属系列中选择首个足够的条目
3. 如果在第二步中无需进行任何更改，或者达到了设计迭代的最大次数，运算终止。否则，将使用在第二步中选择的横截面返回到第一步。

在超静定结构中，截面力取决于构件的刚度（即断面和材料）。这需要上面所描述的迭代过程。

![图3.5.8.1：在离散化了壳体元素的悬臂上使用OptiCroSec（优化横截面）运算器进行的横截面优化。](/files/-M9XuTu5Q2RfaIphIvQm)

在图3.5.8.1中，用户可以看到一个借助壳体元素而理想化的悬臂范例：优化导致内置面顶部和底部边缘的壳体元素变厚。**“OptiCroSec（优化横截面）”**&#x8FD0;算器&#x7684;**“CroSecs（横截面）”**&#x8F93;入端口由一组恒定的壳体横截面组成。

对于壳体，机械利用率的计算方式是：点上最大的范式等效应力除以材料强度。而壳体的横截面优化步骤则与梁相同。从横截面系列的第一项开始，该算法会测试所有构件， 并在遇到横截面利用率预设值小于1（默认值为1）的横截面时停止。其响应率是100％。

在确保安全性以防止结构故障之后，Karamba3D尝试第二个可选步骤以达到用户提供的最大挠度。在后台，Karamba3D迭代性地临时调整材质强度。如果结构的最大位移发生在较小的区域，而结构的其余部分变形较小，则可能导致不经济的结果。为了确保最大位移的迭代性适应有效，应适当选择设计迭代的次数（通常五次即足够）。为防止达到最大位移和承重极限，建筑法规规定了不同的安全等级。在极限状态下使用外部荷载时，用户需牢记，这大约是用于检测最大位移要求荷载的1.4倍。因此，在Karamba3D中设计结构的一种方法是在特征载荷下将材料利用率限制为$$1/1.4 \approx 0.7$$，并将产生的位移直接用于可用性设计。

当给定荷载超过横截面系列中最大横截面的承重能力时，Karamba3D会通&#x8FC7;**“Info（信息）”**&#x8F93;出端口发出警告（如图3.5.8.2）。

无法确保寻找最优横截面的迭代过程会最终收敛。用户可以通&#x8FC7;**“Utilization of Elements（元件利用率）”**&#x8FD0;算器来检验结果。该组件采用&#x4E0E;**“OptiCroSec（优化横截面）”**&#x8FD0;算器相同的程序来评估符合欧洲规范3[\[5\]](/chinese_1_3_3/appendix/bibliography.md)的元素，并考虑整个横截面的承载能力。**“ModelView（模型视图）”**&#x8FD0;算器的利用率输出仅显示横截面某个点的应力与该处的材料强度之比。压力作用时屈曲之类的影响则不予考虑。这也&#x662F;**“ModelView（模型视图）”**&#x8FD0;算器显示的利用率可能&#x4E0E;**“Utilization of Elements（元件利用率）”**&#x8FD0;算器的结果不同的原因。

由于可塑性的下限定理，只要材料具有足够的塑性（如钢材），结构在任何迭代步骤均足以承担给定的荷载——尽管某些元素可能会显示出过度利用的状态。随着迭代次数的增加，静态系统会越来越倾向于静态确定性。

在型材选择过程中可以假定一个系列的横截面是有序的：从用户首选的横截面起逐渐降至最不需要的横截面。Karamba3D程序附带的横截面列表“CrossSectionValues.bin”中，所有系列均根据其高度进行排列。高度值最低的横截面排在最前面，高度值最高的横截面排在最后。当使用横截面面积作为排序标准时，重量最小的结构（因此成本也较低）排在最前面。至于如何在最小高度和最小重量设计间切换信息，请参见[3.3.12](/chinese_1_3_3/3-in-depth-component-reference/3.3-cross-section/3.3.12-generate-cross-section-table.md)。依据面积对型材进行排序可能会导致结构梁与梁之间的截面高度发生明显变化。

为了检验给定梁的横截面是否合乎要求，依据欧洲规范3（EN 1993-1-1），Karamba3D采用了一种针对钢梁的程序（有关详细信息，请参见[\[5\]](/chinese_1_3_3/appendix/bibliography.md)]）。根据EN 1993-1-1附录B计算横截面的相互作用力$$k\_{yy}$$，$$k\_{yz}$$ 等， $$C\_{my}$$和$$C\_{mz}$$的最小值限制为0.9。设计过程考虑了法向力、双轴弯曲、扭转和剪力。更多相关详细信息，请参见[A.2.6](/chinese_1_3_3/appendix/a.4-background-information/a.4.6-approach-used-for-cross-section-optimization.md)节以及Jukka Mänenpää的硕士学位论文[\[9\]](/chinese_1_3_3/appendix/bibliography.md)。根据需要，可以关闭单个构件的屈曲功能，或者设置用户定义的屈曲长度值（请参阅第[3.1.10](/chinese_1_3_3/3-in-depth-component-reference/3.1-model/3.1.10-modify-element.md)节）。

可以综合考虑梁中法向压力的不利影响（请参阅第[3.5](https://github.com/karamba3d/K3D_Manual/tree/0be561bdf3a2adff56d2c0c9897753e25a75d9d8/3-in-depth-component-reference/3.5-algorithms/KarambaManual.html#sec:Bucklingmodes)节），或者从局部层面考虑其对单个构件的影响。Karamba3D中，横截面优化的过程在构件层面上发挥作用。确定元素的实际屈曲长度lb是该方法能够提供有效结果的关键前提。为此，可以采用以下简化方法（尽管并不总是正确）：从元件的端点开始，渐至其邻近元件，跟踪连接两个以上元件的第一个节点。屈曲长度确定为这两个节点之间的距离。如果端点受结构的其余部分阻止而无法移动，则是安全的。如果梁是较大弯曲部分的构件（例如，桁架梁），则所采用确定屈曲长度的方法会得出不安全的结果！用户应当始终通过计算整体屈曲模式（请参阅第[3.5](https://github.com/karamba3d/K3D_Manual/tree/0be561bdf3a2adff56d2c0c9897753e25a75d9d8/3-in-depth-component-reference/3.5-algorithms/KarambaManual.html#sec:Bucklingmodes)节）来检验这一点。在自由端的情况下，屈曲长度加倍。细长梁中的法向压力将其许可的最大应力减小到屈服极限以下。使&#x7528;**“ModelView（模型视图）”**&#x8FD0;算器可视化利用率水平将显示压缩范围内低于100％的值。

Karamba3D中应用的设计过程考虑了横向扭转屈曲。元件横向扭转屈曲长度计算方法与传统屈曲的长度计算方式相同。可以通&#x8FC7;**“Modify Beam（编辑梁）”**&#x8FD0;算器的属&#x6027;**“BklLenLT”**&#x624B;动设置横向扭转屈曲的屈曲长度。

在横截面优化过程中，Karamba3D检测横截面是否存在局部屈曲，并在必要时发出警告。按照EN 1993-1-1，局部屈曲检测将横截面分为1至4类。其中第4类横截面易于发生局部弯曲。

在优化横截面的过程中，不会更新法向力$$N^{II}$$。为了包括二阶理论效应，可以手动设置NII或使&#x7528;**“AnalysisThII（分析第二原理）”**（请参阅第[3.5.2](/chinese_1_3_3/3-in-depth-component-reference/3.5-algorithms/3.5.2-analyzethii.md)节）来迭代确定$$N^{II}$$。

**“OptiCroSec（优化横截面）”**&#x8FD0;算器提供了以下输入端口集：

|                        |                                                                                                                                 |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **"Model（型号）"**        | 要优化的结构                                                                                                                          |
| **"ElemIds（元素标识符）"**   | 应该优化元素的标识符。如未特殊指定，则对整个模型进行优化                                                                                                    |
| **"GroupIds（元素组标识符）"** | 参与断面设计并具有统一断面的元素组标识符列表。用户可使用元素集的名称和正则表达式来定义元素组。                                                                                 |
| **"CroSecs（横截面）"**     | 横截面列表，包含依照从首选到最不需要顺序排列的横截面系列。横截面系列的选择通&#x8FC7;**“family（系列）”**&#x5C5E;性来完成。                                                     |
| **"MaxUtil（最大利用率）"**   | 元件利用率的目标值，其中默认值为1.0，表示完全利用率。在某些情况下（例如：早期设计），无法完全定义荷载或几何形状。通过将该值设置为小于1.0可以为后续阶段预留一些结构备份。当使用特征荷载时，该值应当小于0.7。                      |
| **"MaxDisp（最大位移）"**    | 为了结构的可用性，有必要限制结构的最大挠度。可使&#x7528;**“MaxDisp”**&#x7AEF;口来限制其最大挠度。默认值为-1，这意味着最大挠度在横截面设计中不予考虑。在处理设计荷载时，请记住，这些荷载比需要考虑的可用性水平高约“1.4”倍。 |

如需查看所有输入端口，可以单&#x51FB;**“Settings（设置）”**&#x6309;钮以展开其余运算器：

|                       |                                                                                                                                                                                                                                                                                                                   |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **"ULSIter（最终极限状态）"** | 在最终极限状态（ULS）中具有足够承载能力的最大设计迭代次数。默认值为5。                                                                                                                                                                                                                                                                             |
| **"DispIter（位移次数）"**  | DispIter（位移次数）:（如存在最大迭代标准）用于达到最大位移标准的最大迭代次数。最大位移的设计迭代紧随承载能力的设计迭代之后。                                                                                                                                                                                                                                               |
| **"nSamples（点数）"**    | 沿梁确定其利用率点数。其默认值为三。                                                                                                                                                                                                                                                                                                |
| **"Elast（弹性）"**       | 如果设置&#x4E3A;**“True（默认选项）”**，则在弹性范围内完成横截面设计。这意味着在给定荷载下，横截面中的最大合成应力必须低于材料的屈服应力$$f\_y$$。对于具有高延展性的材料（如：钢材），可以利用横截面的塑性。根据横截面形状，塑性容量比弹性容量高10％到20％。&#x5C06;**“Elast（弹性）”**&#x8BBE;置&#x4E3A;**“False”**&#x4EE5;激活横截面塑性设计。启用横截面塑性设计时，&#x5982;**“ModelView（模型视图）”**&#x62A5;告的利用率水平超过100％，请无需感到惊讶。因为Karamba3D所呈现的是线性弹性材料行为。 |
| **"gammeM0"**         | 当不是由屈曲引发的故障时，依据EN 1993-1-1的材料安全系数。其默认值为1.0。在部分欧洲国家，该系数高于1.0。”                                                                                                                                                                                                                                                     |
| **"gammeM1"**         | 当屈曲引发故障时，依据EN 1993-1-1的材料安全系数。默认值再次为1.0，用户所在国家的EN 1993-1-1申请文件中可能会有不同的规定。                                                                                                                                                                                                                                         |

在输出端口，**“Model（模型）”**&#x7AEF;口渲染出结构的最佳横截面。检&#x67E5;**“Info（信息）”**&#x8F93;入端口以查看优化过程中是否发生任何问题。**“Mass（质量）”**&#x8F93;出告知用户有关优化结构的整体质量。在最后一次横截面设计迭代之后，**“Disp（位移）”**&#x548C;**“Energy（能量）”**&#x7AEF;口将会反馈结构的最大位移和其内部能量。

Karamba3D中应用设计程序的目的是提供合理的横截面选择。请注意，它基于正确确定屈曲长度的假设之上。


---

# 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.8-optimize-cross-section.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.
