> For the complete documentation index, see [llms.txt](https://manual.karamba3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.karamba3d.com/jp/3-konpnentorifarensu/3.5-algorithms/3.5.10-beso-for-shells.md).

# 3.6.10: シェル用BESO

Karamba3Dで使用されるシェル用BESOアルゴリズムの詳細な説明は [\[7\]](/jp/fu-lu/bibliography.md) にあります。図3.6.10.1は、上部の各角で2つの集中荷重を支える矩形壁から始まる例を示しています。BESO手続きの結果は、左側に示されているX字型の構造です。

![図3.6.10.1: 2つの角荷重を受ける矩形板のBESO](https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-bc3394ffa3780e0015d443d642d853f529be775a%2Fbesoshell.PNG?alt=media)

これらは最適化プロセスを制御する主なパラメータです:

|                   | "                                                                                                                                    |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **「Model」**       | 最適化されるモデル                                                                                                                            |
| **「ElemIds」**     | 最適化に参加するシェルのIDのリスト。空のリストの場合（デフォルト）、すべてのシェルが含まれます。                                                                                    |
| **「LCases」**      | 考慮する荷重ケースのリスト。ゼロは最初の荷重ケースのインデックスです。複数の荷重ケースの総合的な効果を考慮することは、要素への個別の影響を加算することに相当します。                                                   |
| **「TargetRatio」** | 構造のシェルの初期質量に対する目標質量の比。初期質量を決定する際、構造のすべてのシェル要素 - アクティブ化状態に関係なく - がカウントされます。目標構造では、アクティブな要素のみがその質量に寄与します。これにより、BESOコンポーネントを連続して適用できます。 |
| **「MaxIter」**     | 最大反復数                                                                                                                                |

サブメニュー「**Settings**」で、これらの追加オプションを使用して最適化手続きをさらにカスタマイズできます:

|                 |                                                                                                                                                                                                                                                                                                                 |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **「ER」**        | 進化的比の略で、2つの連続するステップでの最適化された構造の体積$$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$$。「**ER**」が小さすぎる場合、最適化された構造の目標質量を「**MaxIter**」ステップ内に到達できません。                                 |
| **「ARmax」**     | ステップごとに追加される要素の最大数とすべてのシェル要素の比。                                                                                                                                                                                                                                                                                 |
| **「Nhist」**     | 収束基準を計算するために使用されるステップ間の反復数。                                                                                                                                                                                                                                                                                     |
| **「Conv」**      | 収束が想定される、$$N\_{hist}$$サイクル離れた2つの反復間の質量の相対変化。                                                                                                                                                                                                                                                                    |
| **「Rmin」**      | チェッカーボードパターンの形成を回避するために、個々の要素の適合度を計算するためにフィルタースキームが使用されます（[\[7\]](broken://pages/-MCkEPufKvmRk8DHQDJm) のセクション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」** | シェル用BESO手続きは、いわゆる「ソフトキル」アプローチを使用します。要素をモデルから削除する代わりに、厚さを減らすことで非常に柔らかくします。「**KillThick**」入力プラグを使用すると、デフォルトの0.00001 m以外の値を選択できます。                                                                                                                                                                                 |

「**BESOShell**」コンポーネントの出力プラグは以下のデータを返します:

|                 |                                                                                                                                                |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **「Model」**     | BESO最適化から生じるモデル。                                                                                                                               |
| **「ModelHist」** | 中間モデルのリスト - BESO手続きの各反復ステップに1つずつ。                                                                                                              |
| **「CHist」**     | BESO手続きを駆動する構造の体積重み付けコンプライアンスの履歴。「**Quick Graph**」コンポーネントに入力すると、BESO手続きが収束したかどうかを確認できます: 最後にチャートは水平である必要があります。そうでない場合は、より小さな「**ER**」値を試してください。 |
| **「VHist」**     | 最適化されるシェルの体積の発展を示す値のリスト。                                                                                                                       |
| **「Info」**      | 問題が発生した場合の解決プロセスに関する情報を返します。                                                                                                                   |

{% file src="/files/T1CbhtvAVrDA073D9kmQ" %}

{% file src="/files/TvaPES00MMZmw7BjV29C" %}
