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

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

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

"

"Model(模型)"

需优化的模型。

"ElemIds"

参与优化的壳体标识符列表。如果列表为空(默认),则包括所有壳体程序。

"LCases"

需考虑的荷载工况列表。零是首个工况的索引。考虑几个工况的总影响等于将它们各自的影响添加到一个元件上。

"TargetRatio"

结构中壳体的目标质量(优化后质量)与其初始质量的比值。在确定结构中壳体的初始质量时,不论激活状态如何,结构的所有壳体单元都要纳入计算。在目标结构中,只有被激活的元素质量被纳入计算。这样确保用户可以串联应用BESO组件。

"MaxIter"

最大迭代次数。

“Settings(设置)”子菜单下,这些附加选项可用于进一步自定义优化过程:

"ER"

优化比率(evolutionary ratio)的缩写,它以两个连续的步骤定义优化结构体积ViV_iVi+1V_{i+1}之间的比率:Vi+1=Vi(1±ER)V_{i+1} = V{i} \cdot (1\pm ER)。“ER”的符号取决于应添加还是删除元素。如果ER<0ER<0,这是默认值,“ER”将自动设置为:ER=(1TargetRatio)/MaxIter+ARmax/2ER = (1-TargetRatio)/MaxIter + AR_{max}/2。如果“ER”值太小,则无法在“MaxIter”步骤中达到优化结构的目标质量。

"ARmax"

每一步骤要添加的最大元素数量与所有壳体元素之间的比率。

"Nhist"

用于计算收敛标准步骤间的迭代次数。

"Conv"

两次迭代NhistN_{hist}周期之间质量的相对变化,除了下面是假定的收敛。

"Rmin"

为了避免形成棋盘图案,使用一种过滤方案来计算单体元素的适合程度(请参阅[7],第3.3.2节)。RminR_{min}以米为单位定义影响半径,从而确定元素的敏感程度。因此,重要的是根据平均元件尺寸选择该值。如果Rmin<0R_{min} <0(默认值),则将RminR_{min}设置为等于特征元素的长度,该元素的长度计算为(totalArea/numberOfElements)0.52(totalArea/numberOfElements)^{0.5} \cdot 2

"Rexp"

确定加权元素中心距离在RminR_{min}内节点处的应变能以计算元素的灵敏度。其重量取决于w=(Rij/Rij)Rexpw =(R_{ij}/\sum R_{ij})^{R_{exp}}。在Rij=RminRR_{ij}=R_{min}-R 中,RR 是样本节点与元素中心之间的距离。Rij\sum R_{ij}是所有距离元素中心比RminR_{min}距离近的节点中心距离总和。

"KillThick"

借助所谓的“soft kill(柔性终止)”算法,适用于壳体程序的BESO(双向渐进结构优化)。通过降低壳体厚度,使其变薄,而不是从模型中将其删除。在使用“KillThick(减少厚度)”输入端口时,可选择默认值 0.00001 m 以外的其他值。

“BESOShell”运算器的输出端口反馈以下数据:

"Model"

BESO优化产生的模型。

"ModelHist"

中间模型列表——BESO过程的每个迭代步骤有一个中间模型列表。

"CHist"

驱动BESO程序的结构体积加权顺应性历史。当输入“Quick Graph(快速图表)”运算器时,可检查BESO程序是否收敛:图表最后应为水平。如果不是这种情况,请尝试使用较小的“ER”值。

"VHist"

列出要优化壳体体积变化值的列表。

"Info"

万一出现问题,反馈有关解决过程的信息。

最后更新于