Coreform IGA for Abaqus
Coreform公式ドキュメントを基にした日本語版です。技術仕様・対応状況の最終的な基準は公式英語版です。

応答スペクトルのケースファイル

スペクトル、加振、合成則、モード減衰を定義するJSON case fileの項目を説明します。

case fileは1つの応答スペクトル解析を定義するJSON documentです。ランダム応答では別形式のfileを使用し、その仕様は ランダム応答ページ。と同じ情報が含まれています。 *SPECTRUM, *RESPONSE SPECTRUM、および *MODAL DAMPING キーワードブロックなので、ケースファイルと Abaqus ステップを 1 つの定義から作成できます。

完全なケースファイルには 4 つのトップレベルキーがあり、それらはすべて必須です。

{
  "spectra": {
    "DESIGN": {
      "type": "ACCELERATION",
      "gravity": null,
      "rows": [
        [0.8, 0.5, 0.02], [22.0, 50.0, 0.02], [5.0, 5000.0, 0.02],
        [0.6, 0.5, 0.05], [14.0, 50.0, 0.05], [4.0, 5000.0, 0.05]
      ]
    }
  },
  "excitations": [
    {"spectrum": "DESIGN", "direction": [1, 0, 0], "scale": 1.0, "duration": null},
    {"spectrum": "DESIGN", "direction": [0, 1, 0], "scale": 0.7, "duration": null},
    {"spectrum": "DESIGN", "direction": [0, 0, 1], "scale": 0.4, "duration": null}
  ],
  "modal_summation": "CQC",
  "directional_summation": "SRSS",
  "damping": {"mode_ranges": [[1, 10, 0.05], [11, 20, 0.08]]}
}

1 スペクトル

spectra 名前を 1 つのスペクトル定義にマップします。名前は励起がスペクトルを指す方法であるため、励起と同じ役割を果たします。 NAME のパラメータ *SPECTRUM.

分野 必須 説明
type いいえ ACCELERATION (デフォルト)、 VELOCITY, DISPLACEMENT、または G
gravity のためだけに G モデルの単位系における重力加速度
rows はい 大きさ、時間当たりのサイクル数、および減衰比の表

各行は、次と同じ順序のトリプルです。 *SPECTRUM データ行: 最初に大きさ、次に周波数、次に臨界減衰の関連する割合。同じ減衰比の行が 1 つの曲線を形成します。減衰比をできるだけ多くの曲線を与えてください。それらは自動的に並べ替えられますが、減衰比が繰り返されるとエラーになります。

曲線内では、周波数は正で厳密に増加する必要があり、大きさも正である必要があります。どちらの制限も補間に続きます。つまり、振幅は周波数の対数スケールで線形に補間され、テーブルの端を超えて一定に保たれます。 2 つの減衰曲線間では、補間重みは減衰比において線形であり、大きさは対数的に補間されます。表にされた範囲外の減衰は、最も近い曲線にクランプされます。

A G スペクトルは次の値を乗算することで加速度スペクトルに変換されます。 gravity。 3 つの物理タイプはすべて交換可能です。どのタイプを指定しても、ユーティリティはそれを、指定された出力に必要なタイプに変換します。 \(S^\text{D} = S^\text{V} / \omega = S^\text{A} / \omega^2\)、Abaqus が同じ目的で使用する非減衰関係。

2 加振

excitations 1 ~ 3 つのエントリのリストで、それぞれが次の 1 つのデータ行に対応します。 *RESPONSE SPECTRUM.

分野 必須 説明
spectrum はい のエントリの名前 spectra
direction はい 単位ベクトルとしての方向余弦。たとえば、 [1, 0, 0]
scale いいえ スペクトルの大きさを乗算する係数。デフォルトは 1.0
duration のためだけに DSC 強震の持続時間(モデルの時間単位)

方向は、Abaqus が 2 番目と 3 番目のスペクトルラインに要求するのとまったく同じように、単位ベクトルであり、相互に直交している必要があります。同じスペクトルは、複数の励起によって名前が付けられる場合があります。

3 合成則

modal_summation 個々のモードのピーク応答をどのように組み合わせるかを選択します。

値 規則
ABS 各モードピークの絶対値を総和する最も保守的な推定
SRSS 二乗和平方根
NRL Naval Research Laboratory: 最大モードピークと残りの二乗和の平方根
TENP 10パーセント法。相互の 10% 以内のモードの交差項を追加します
CQC Der Kiureghian 相互相関係数を使用した完全な 2 次結合
GRP Grouping法。周波数group内を合計した後、group間を二乗和平方根で合成します
DSC ダブルサムの組み合わせには、 duration 興奮するたびに

directional_summation 加振方向をどのように組み合わせるかを選択します。

値 規則
ALGEBRAIC モード振幅を符号付きで加算し、 前に モード合成
SRSS 方向ごとのピークの二乗和の平方根
R40 ASCE 4-98 の 40 パーセントルール
R30 ASCE 4-98 の 30 パーセントルール

ALGEBRAIC スペクトルが任意方向に作用する同一の基礎運動の成分である場合に使用します。加振が統計的に独立している場合は他の方向合成則を使用します。処理順序が重要です。 ALGEBRAIC は最初に方向をマージしてからモードを結合しますが、他の 3 つは最初に各方向内のモードを結合します。

5 Pythonからのケースファイル作成

ケースファイルは通常の JSON なので、どのツールでも作成できます。ユーティリティが内部で使用するのと同じオブジェクトからオブジェクトを構築するには、次を使用します。 dump_case:

from respspec import (
    DirectionalSummation, Excitation, ModalDamping,
    ModalSummation, ResponseSpectrumCase, Spectrum, SpectrumType,
)
from respspec.case_file import dump_case

spectrum = Spectrum.from_rows(
    "DESIGN",
    [(0.8, 0.5, 0.05), (22.0, 50.0, 0.05), (5.0, 5000.0, 0.05)],
    SpectrumType.ACCELERATION,
)

case = ResponseSpectrumCase(
    excitations=(
        Excitation(spectrum, (1.0, 0.0, 0.0)),
        Excitation(spectrum, (0.0, 1.0, 0.0), scale=0.7),
    ),
    modal_summation=ModalSummation.CQC,
    directional_summation=DirectionalSummation.SRSS,
    damping=ModalDamping(uniform=0.05),
)

dump_case(case, "mycase.json")

同じオブジェクトが Abaqus キーワードブロックとしてレンダリングされます。 respspec.abaqus_keywordsこれは、検証モデルが入力デッキと Python ケースを一致させる方法です。