> 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.2-load/3.2.1-loads.md).

# 3.2.1: 一般荷重

現在、Karamba3Dは以下の一般的なタイプの荷重を提供しています: 重力、集中荷重、点変位、不完全性、プレテンション、温度荷重、定数メッシュ荷重、可変メッシュ荷重、および支点における強制変位。梁およびトラス要素にはさらにオプションがあります（梁要素荷重のセクションを参照）。このセクションで説明する荷重のタイプは、すべてのタイプの要素に適用されます。

任意の数の集中荷重、メッシュ荷重などと1つの重力荷重を組み合わせて荷重ケースを形成でき、任意の数の荷重ケースが存在できます。図3.2.1.1は、「**Loads**」マルチコンポーネントを使用した荷重の定義を示しています。各荷重コンポーネント (component) には、対応する荷重が属する荷重ケースを定義するための「LCase」入力プラグがあります。デフォルト値は「LC0」です。荷重ケースの命名規則についてはセクション [3.2.5.1](/jp/3-konpnentorifarensu/3.2-load/3.2.5-load-case-combinations/3.2.5.1-load-case-combinator.md) を参照してください。

「**モデルビュー**」コンポーネント（セクション 3.6.1 参照）の下部にはドロップダウンリストがあり（「**Result Selection**」メニューヘッダーをクリックして展開）、表示用に個々の荷重ケースを選択できます。「**–all–**」を選択すると、すべての荷重ケースのすべての既存の荷重定義を同時に表示できます。荷重記号のサイズをスケーリングするにはスライダーを使用します（つまみをダブルクリックすると値の範囲と現在の値を変更できます）。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-d8fbdfa39a7fac9564fd602997c7a188effdd0ad%2Floadcomponent.png?alt=media" alt=""><figcaption><p>図3.2.1.1: 6つの荷重を持つ単純支持の梁。</p></figcaption></figure>

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

## **重力**

キャンバスに「**Loads**」コンポーネントを配置すると、以下に説明する設定がデフォルトになります。

各荷重ケースには、重力ベクトルの定義をゼロまたは1つ含めることができます。これにより、水平方向に一定量の重力を適用して地震などの効果をシミュレートできます。たとえば、中程度の地震荷重を受けるウィーンでは、建物が水平方向に耐える必要がある重力のおおよそ14%に相当します。激しい地震荷重がある地域では、この値は100%まで上昇する可能性がありますが、構造の剛性プロパティおよび下層の地盤にも依存します。

重力は、比重「gamma」（セクション 3.4.1 参照）がゼロでない構造モデル内のすべてのアクティブな要素に適用されます。重力ベクトルは、重力が作用する方向を定義します。長さ1のベクトルは、地球で経験される重力に相当します。

SI単位で作業する場合、Karamba3Dは重力加速度として$$10m/s^2$$の値を想定します。ヤード・ポンド法の場合は$$g = 9.8066352 m/s^2$$が使用されます。そうでなければ、ポンド質量からポンド力への変換が機能しません。$$g$$の値は、Grasshopperメニューの「Karamba3D/Settings/Edit User Settings」を選択することで設定できます。

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

## **集中荷重**

「**Point-Load**」コンポーネントを使用すると、ノードに荷重を定義できます。これらの荷重はノードインデックスまたは座標で取り付けることができます。特定のノードのインデックスを調べるには、「**モデルビュー**」コンポーネントで「**node tag**」チェックボックスを有効にします。「**Support**」コンポーネントと同様に、対応するアイテムのリストを「**Pos|Ind**」プラグに提供します。特定のノードのインデックスまたはノード位置を事前定義する方法については、セクション 3.1.6 を参照してください。集中荷重は力またはモーメントのいずれかとすることができます。「**Force**」または「**Moment**」入力プラグに力またはモーメントベクトルを入力します。その成分は、グローバルx、y、z方向の力またはモーメントを定義します。

「**True**」に設定すると、ブール入力「**Local?**」により、大変位計算において荷重とモーメントがノードの回転に従うようになります（セクション [3.5.4](/jp/3-konpnentorifarensu/3.5-algorithms/3.5.4-analyze-large-deformation.md) 参照）。

集中荷重をパネルコンポーネントに接続すると、次の情報が提供されます: 荷重が適用されるノードインデックスまたは位置、力ベクトル、モーメントベクトル、それが属する荷重ケースの番号、および荷重がノード座標系に結合されているかどうか。

トラスまたはメンブレン要素のみが接続されたノードには注意してください。これらのノードには回転自由度がありません。したがって、モーメント荷重は効果を持たず、構造から自動的に削除されます。

荷重および一般的な値の詳細については、セクション [A.2.3](/jp/fu-lu/a.4-background-information/a.4.3-tips-for-designing-statically-feasible-structures.md) を参照してください。

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

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

## **点変位**

セクション [3.1.16](/jp/3-konpnentorifarensu/3.1-model/3.1.16-support.md) で説明されている支点は、ノードでの変位境界条件を指定します: ノードの対応する変位自由度をゼロに設定します。これに加えて、「**Point-Displacement**」荷重を使用すると、支点で任意の変位を事前設定できます。図3.2.1.2は、両端で時計回りの規定回転を持つ梁を示しています。

{% hint style="info" %}
本マニュアルで使用される「変位」という用語には、並進および回転が含まれます。
{% endhint %}

図3.2.1.2に示すように、「**Point-Displacement**」は常に対応する「**Support**」定義を伴う必要があります。そうでなければ、モデルの組み立てで警告が発生します。変位条件が適用される支点は、ノードインデックスまたは節点座標を介して選択できます。特定のノードのインデックスを調べるには、「**モデルビュー**」コンポーネントで「**node tag**」チェックボックスを有効にします。

入力プラグ「**LCase**」では、変位が指定値を持つ荷重ケースのインデックスを設定できます。デフォルト値は「LC0」です。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-370ef5c89335fb9ab527a32d9fc5a737725ac574%2FPointDisplacement.png?alt=media" alt=""><figcaption><p>図3.2.1.2: 端支点で事前定義された変位を受ける梁のたわみ。</p></figcaption></figure>

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

「**Trans**」および「**Rot**」入力プラグはベクトルを想定します。これらはノードの支点で定義される座標系における節点並進および回転を定義します。並進はメートル（またはフィート）で、回転は度で与えられます。回転ベクトルのX成分は、座標系のX軸周りの回転を表します。正の値は、X軸が自分の方を指している場合、ノードが反時計回りに回転することを意味します。Y軸およびZ軸周りの回転にも類似の定義が適用されます。Karamba3Dは部分的に小さなたわみの仮定に基づいています。したがって、大きな強制変位および回転は、幾何線形計算の場合に不正確な結果をもたらすことに注意してください。大変位による効果の近似については、たとえばセクション [3.5.4](/jp/3-konpnentorifarensu/3.5-algorithms/3.5.4-analyze-large-deformation.md) を参照してください。

変位は、対応する変位自由度が構造システムから取り除かれている場合にのみ規定できます。これは、「**Support**」コンポーネントのConditionsセクションで対応するボタンを有効にする必要があることを意味します。最初の3つのボタンは並進を、最後の3つは回転を表します。

{% hint style="info" %}
「**Trans**」および「**Rot**」ベクトルの成分のうち、有効化された支点に対応するもののみが効果を発揮します。
{% endhint %}

## **初期ひずみ荷重**

Karamba3Dでは初期ひずみを定義できます。図3.2.1.3は、両端が固定された梁が正の初期一定ひずみと曲率を受ける様子を示しています。「**Eps0**」プラグに入力されるプレテンションの単位は$$mm/m$$です。

{% hint style="info" %}
正の値は要素が伸長することを意味します。
{% endhint %}

![図3.2.1.3: 両端固定で初期ひずみを受ける部材および支点反力。](https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-9e0d02e47f478bf7719ed025a36f8a4df0a4ff34%2Fpretensionload.png?alt=media)

要素に初期ひずみを適用することは、その端点に1対の反対の力やモーメントを適用することと同じではありません: 初期ひずみの場合、要素の軸力はその境界条件に依存します: 接続する構造が非常に剛性が高い場合、結果として得られる軸力は$$N = -\epsilon \_0 \cdot A \cdot E$$となります。図3.2.1.3では、支点は剛、要素の断面は$$A = 25 cm^2$$、ヤング率は$$E = 21000 kN/cm^2$$、$$\epsilon \_0 = 0.00015$$です。これにより$$N = -78.75 kN$$の軸力が生じ、水平支点反力として現れます。構造の他の部分が抵抗しない場合、プレテンション荷重は単に対応する要素の伸長または短縮をもたらします。

「**Kappa0**」入力はローカル要素軸に対する曲率値のベクトルです。正の成分値は、対応する軸周りの反時計回りの回転を意味します。入力プラグ「**ElemIds**」は荷重が作用する要素を定義し、「**LCase**」は荷重ケースを定義します。

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

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

{% file src="/files/3wDTfclj4q43DZexhdw4" %}

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

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

*追加の例は、Grasshopperのメインタブの Karamba3D > Help > Examples > Local Examples > Loads から確認できます。*

## **温度荷重**

温度荷重の定義は、プレテンション荷重の定義（セクション [3.2.1](#initial-strain-load) 参照）と同様に機能します。熱膨張係数（セクション [3.4.1](/jp/3-konpnentorifarensu/3.4-material/3.4.1-material-properties.md) 参照）は、温度変化に対する材料の応答を特徴付けます。\
「T」は断面全体にわたる一様な温度変化を、「$$\Delta$$T」は断面全体の温度勾配を表します。入力ベクトルはローカル要素座標系を参照し、対応する軸周りの変化を指定します。

![図3.2.1.4: 両端固定の部材に対する温度荷重](https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-4674002dd59c519162b5275fc64451504f915f03%2Ftemperatureload.png?alt=media)

## **メッシュ荷重: 定数および可変**

**メッシュ荷重**は、ファサードに作用する風圧、床スラブ上の占有荷重、屋根上の追加自重など、構造に面荷重を適用するために使用できます。Karamba3Dのメッシュ荷重の利点は、荷重を受ける表面（任意のGrasshopperメッシュ）が有限要素モデル自体の一部である必要が *ない* ことです。代わりに、メッシュ上で定義された荷重は、最短距離ベースのアルゴリズムを使用して構造モデルに転送されます。そのしくみを正確に知りたい場合は読み進めてください。そうでなければ、このパラグラフの残りはスキップしてかまいません。

面荷重から節点荷重および分布梁荷重を導出するために、以下のステップが実行されます:

1. **面の合力**\
   Karamba3Dは最初に、入力メッシュの各面に作用する合力を計算します。この荷重はその後、面の3つまたは4つのコーナー頂点の間で均等に分布されます。
2. **頂点荷重を構造ノードへ転送**\
   次に、これらの頂点荷重が構造ノードにマッピングされます。この目的のために、メッシュの平均エッジ長の3分の1に等しい間隔で梁軸に沿って補助「ヘルパー」ノードが作成されます。各メッシュ頂点は、最も近い構造ノードまたはヘルパーノードに荷重を転送します。Assembleコンポーネントで指定された LDist 半径内に複数のノードがある場合、頂点荷重はそれらの頂点からの距離の逆数に従ってそれらの間で分割されます。
3. **ヘルパー荷重を梁荷重に変換**\
   各梁に沿ってヘルパーノードによって収集された荷重は、セグメントにグループ化されます。各セグメント内の荷重は合計され、等価な台形分布荷重に変換されます。粗いメッシュでは、局所的な荷重分布が悪くなる可能性があります。たとえば、図3.2.1.6では、頂点から最も近い点は梁の端ノードと中間のヘルパーノードであり、要素ごとに1つの荷重として、一様な線荷重になります。

このメッシュ荷重を節点および要素荷重に変換する方法は、メッシュ頂点と構造ノード間のオフセットによって引き起こされる曲げモーメントを考慮しないことに留意することが重要です。このアプローチは、荷重を受ける表面が中央に配置され、曲げに対して剛性であることを暗黙的に想定します。その結果、張り出しまたは片持ちの表面によって引き起こされる曲げモーメントは捕捉されません。

### Mesh

「**MeshLoad**」コンポーネントは、面荷重を等価なノードまたは要素荷重に変換するために使用されます。これにより、床スラブ上の活荷重、橋上の移動荷重（Karamba3DウェブサイトのサンプルコレクションのサンプルファイルBridge.ghxを参照）、屋根上の雪、ファサード上の風圧などを定義できます。荷重が適用されるメッシュと基底の構造は接続されている必要はありません。メッシュは「**Mesh**」入力プラグに入力する必要があります。

### Vec

メッシュ荷重には2つのタイプがあります:

* **「MeshLoad Const」**: メッシュ全体で一定の荷重用。
* **「MeshLoad Var」**: メッシュの各面ごとに特定の荷重値を設定するため。

これら2つのバリアントは、それぞれ入力「**Vec**」および「**Vecs**」で期待されるデータ構造で異なります: 一定の荷重を指定する単一のベクトル、またはベクトルのリスト。後者の場合、リスト項目は最長リストの原則に基づいてメッシュ面に適用されます。以下では「**MeshLoad Const**」バリアントが示されていますが、情報は「**MeshLoad Var**」にも適用されます。

図3.2.1.6（左側）は、単純支持の梁と2つの矩形面で構成されるメッシュを示しています。各面は梁の半分を覆い、梁軸に垂直に1 mの幅があります。負のグローバルZ方向に1 kN/m²の分布荷重を加えると、2 kN/mの一様分布荷重が生じます。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-d319e958b4c57682a7f016e8e2f39a87b9f2c507%2FMeshLoadOnBeam.png?alt=media" alt=""><figcaption><p>図3.2.1.6: メッシュ荷重からの線荷重を持つ単純支持の梁。</p></figcaption></figure>

### Pos

等価な集中荷重が生成される構造ノードを定義するには、それらの座標のリストを「**Pos**」プラグに接続します。これらは既存のノードに対応する必要があります。そうでなければ、「**Assemble**」コンポーネントが赤くなります。問題のあるノードは、その実行時エラーメッセージにリストされます。デフォルトでは、構造のすべての点が含まれます。集中荷重を回避するには「**Point loads**」をオフにします。

### ElemIds

「**ElemIds**」入力プラグを使用すると、等価な荷重が生成される要素のグループを指定できます。図3.2.1.7および図3.2.7.2に示すように、これは荷重適用のスパン方向を強制するために使用できます。

デフォルトでは、モデルのすべての梁が含まれます。梁荷重を除外するには、「**Generation**」サブメニューで「**Line loads**」ボタンをオフにします。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-64ea4c580a15248b4449780784c7c45845f71948%2FMeshloadOnRectangularPlate.png?alt=media" alt=""><figcaption><p>図3.2.1.7: 「YLines」および「XLines」と名付けられたすべての4つの境界梁に作用するメッシュ荷重。</p></figcaption></figure>

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-a7938c0babbc6814e2f5f4a9912ff9a0ed174144%2FMeshloadOnRectangularPlateYSpan.png?alt=media" alt=""><figcaption><p>図3.2.1.8: 図3.2.1.7と同じメッシュ荷重ですが、今回は「XLines」として識別される梁にのみ作用します。</p></figcaption></figure>

図3.2.1.7および図3.1.2.8は、図3.2.1.6と同様の設定を示しています。違いは、梁軸に沿ってより多くの頂点を持つ細分化されたメッシュにあります。

### LCase

「**LCase**」入力を、面荷重が作用する荷重ケースの名前に設定します。

### Orientation

図3.2.1.7の右側は、「**MeshLoad const**」コンポーネントが収集するデータを示しています: 入力プラグ「**Vec**」は面荷重を指定するベクトルを想定します。その物理単位はキロニュートン毎平方メートル$$kN/m^2$$です。荷重ベクトルの方向は、「**Orientation**」で選択されたチェックボックスに依存します（図3.2.1.8参照）:

* **「local to mesh」**: 荷重のローカル座標系は、セクション [3.1.12](/jp/3-konpnentorifarensu/3.1-model/3.1.14-orientate-element.md) で説明されているものに対応します。ローカルx軸は、メッシュ面の法線がグローバルx方向に平行でない限り、グローバルx方向に平行です。その場合、ローカルx軸はグローバルy方向を指します。ローカルz軸は常にメッシュ面に垂直で、その向きは頂点の順序に依存します。Z方向のみに成分を持つ面荷重は、風圧や吸引のように作用します。
* **「global」**: 力ベクトルはグローバル座標系に従って向きが定められます。これにより、面荷重はメッシュ平面上の追加の重量のように振る舞います。
* **「global proj.」**: 力ベクトルはグローバル座標系に従って向きが定められ、面荷重はメッシュ面をグローバル座標平面に投影した結果の領域上に分布します。これは雪荷重の作用をシミュレートします。

![図3.2.1.8: メッシュ上の荷重の方向: (a) ローカル; (b) グローバル; (c) グローバル平面に投影されたグローバル。](https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-80080c6eb00b2c56f17ad6d72bbcd60283951037%2Fsurfaceloadsorientation.png?alt=media)

### Generation

デフォルトでは、「**MeshLoad const**」コンポーネントは集中荷重と線荷重を作成します。サブメニュー「**Generation**」のラジオボタンを使用して、前者または後者を無効化できます。\
「**Loads/Elem**」入力では、メッシュ荷重から梁ごとに生成される等価な台形荷重の数を制御できます。値が荷重を受けるメッシュの解像度に対して大きすぎる場合、不連続な荷重パターンが生じる可能性があります。ただし、これは梁ごとの結果荷重には影響せず、ローカルの荷重分布にのみ影響します。

{% hint style="info" %}
Karamba3Dバージョン3.1.60309以降、MeshLoadコンポーネントの動作が以前のリリースと比べてわずかに変更されました。これは古い定義のMeshLoadコンポーネントにも影響します。*LineLoads* オプションが有効な場合、要素端点に集中荷重は生成されなくなります。代わりに、それらの端点の力は要素の線荷重に直接組み込まれます。
{% endhint %}

{% embed url="<https://youtu.be/Hf1OG7IMxDs?si=tbwTXgo4b3Kxchtp>" %}

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

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