Karamba3D 2.2.0
Chinese 中文
Search
K

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

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

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

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

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

"ER"
优化比率(evolutionary ratio)的缩写,它以两个连续的步骤定义优化结构体积
ViV_i
Vi+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"
万一出现问题,反馈有关解决过程的信息。