荷重曲線を定義する

特に指定のない限り、このページの情報は次の解析タイプに適用されます。

メカニカル イベント シミュレーション(MES)

非線形材料による静解析

メカニカル イベント シミュレーション解析とでは、非線形材料による静解析では、大部分の荷重は荷重曲線に従います。荷重曲線は[解析パラメータ]ダイアログの[荷重曲線]タブで定義します。ここにはあらゆる曲線の形状を入力できます。

荷重曲線を追加するには、[次の荷重曲線を追加]または[荷重曲線を追加]を選択します。荷重ごとに異なる荷重曲線を定義できます。たとえば重力は、解析中で一定なので 1 つの荷重曲線に割り当てられます。力は正弦的に変動して不均衡回転をシミュレートするため、異なる荷重曲線に割り当てられます。

荷重曲線は[選択された荷重曲線のためのデータ]セクションで、一連の直線セグメントによって実際の曲線を最適化する点の集合を使用して定義します。1 列目は時間または結果(以下を参照してください)となり、その他の列では、通常は荷重を乗ずることで、荷重曲線に割り当てられた荷重を調整します。アクチュエータ要素と強制変位では、荷重曲線の乗数が、乗数としてではなく長さまたは回転の変化として使用されます。荷重曲線は必要に応じて、対応する時間または結果における乗数を決定するため直線的に補間されます。

必要に応じて[行を追加]ボタンをクリックして荷重曲線に点を追加します。現在の行を削除する場合は、[行を削除]ボタンをクリックします。荷重曲線データ点は、時間と結果に従って昇順で入力する必要があります。データが昇順で入力されていない場合は、[ソート]ボタンをクリックしてください。

[荷重曲線をインポート]ボタンをクリックして、荷重曲線をロードすることもできます。まず、コンマ区切りのテキスト ファイル(.csv)を作成します。このテキスト ファイルの各行はそれぞれの荷重曲線と対応させ、荷重曲線の各列の行の値はコンマで区切ります。荷重曲線の[インデックス]列はテキスト ファイルには含まれません。

ヒント:
  • 指定する荷重曲線は、CSV ファイルと同数の列を有している必要があります。たとえば結果ベースの荷重曲線の列が 4 つある CSV ファイルを使用する場合は、必要に応じて[荷重曲線を追加]および[列を追加]ボタンを使用して、列が 4 つある荷重曲線の空白のテーブルを作成します。
  • カンマ区切りファイルの値はアクティブな[表示単位]を使用して読み込まれます。データの読み込み前に、必要に応じて[表示単位]を変更します。たとえば 3.14 という値は、[表示単位系]が秒に設定されている場合、3.14 秒としてインポートされます。分に設定されている場合は 3.14 分となります。

時間ベースの荷重曲線

時間の関数として荷重が変化する場合は、[選択された荷重曲線のためのデータ][時間]を選択します。すると、荷重曲線は[時間][乗数 1]の 2 つの列を有します。荷重曲線のデータ点を[荷重曲線]スプレッドシートに直接入力するか、上記を参照して荷重曲線をインポートします。

なお、荷重曲線の[時間]列は、アクティブな[表示単位系]に基づいて変換されます。

一連の直線セグメントを有するより高次数曲線を近似する場合、荷重曲線の点と点の間隔は、解析中に生じる最小の時間ステップより小さくする必要があります。たとえば一定の割合で加速する滑走路クレーンの場合を考えてみます。これは車輪の位置の強制変位によってシミュレートされ、変位/時間は d = 0.5*a*t^2 となります。出力間隔に基づいて荷重曲線が計算され、時間ステップ t に入力されると、時間ステップが解析中に縮小しない限り、曲線が正確に描かれます。時間ステップが解析中に自動的に縮小して収束すると、荷重曲線は補間されます。この際に強制変位は、正確な加速計算式に従わなくなります。図 1 を見てください。

図 1: 荷重曲線のセクション

時間ステップ #15、#16、#17 では理論上の曲線に従っています。#18 が収束した場合、荷重は理論上の曲線「(#18)」に留まります。しかし時間ステップが縮小した場合は、時間ステップ #18 と #19 が補間され、荷重がわずかに変化します。多くの場合、この変化は無視できます(特に FEA による近似を考慮した場合)。

結果ベースの荷重曲線

たとえばスイッチ組立における電磁接触の場合を考えてみます。磁力による力は、接触の変位(解析中の他の荷重による)/時間が未知なため、既知の時間の関数ではありません。磁力はパーツ間の接触によって変わります。この場合は荷重曲線を結果の関数として定義すると、時間ステップ全体にわたり、解析によって荷重が適切に変化します。

[解析パラメータ]ダイアログで結果ベースの荷重曲線を定義する前に、モデルにプローブを追加してください。プローブは、結果が荷重曲線に使用されるモデル内の位置となります。プローブを追加するには、頂点(複数可)を選択([選択] [選択] [頂点])して右クリックし、[追加] [節点プローブ]を選択します。節点プローブオブジェクトに関する説明を入力するダイアログが表示されます。「荷重および拘束」>「プローブ」ページを参照してください。

曲線を結果ベースに設定するには、[選択された荷重曲線のためのデータ][ルックアップ値]を選択します。荷重曲線が[ルックアップ][乗数 1]の 2 つの列で導かれます。列は以下の方法で追加できます。ルックアップ値は[ルックアップ値を定義/編集]ボタンで定義します。定義後、ルックアップ値は[ルックアップ値]プルダウンで設定できます。ルックアップ値の名前が、荷重曲線のスプレッドシートの 1 列目の見出しになります。

ヒント:
  • 強制変位とアクチュエータ要素では、結果ベースの荷重曲線は使用できません。
  • ルックアップ荷重曲線(ルックアップ値の方程式を含みます)の 1 列目は、アクティブな[表示単位系]に基づいて変換されるわけではありません。ルックアップ値と 1 列目の単位は、[モデルの単位系]に基づきます。

ルックアップ値の定義および編集

[ルックアップ値を定義/編集]ボタンをクリックすると、[ルックアップ値を定義]ダイアログが表示されます。ここでは、ルックアップ値は特定の位置の結果に基づいて定義します。[ルックアップ値を定義]ダイアログの機能は次のとおりです。使用頻度の高い順にリストしています。

  • [追加]ボタンをクリックすると、新たにルックアップ値を定義できます。作成したルックアップ値には一意の名前を付ける必要があります。ただし、スペースは不可です。解析時間との混同を避ける為、「時間」も不可です。
  • [ルックアップ値の名前]プルダウンでは、以前に定義された名前の入力内容を表示できます。表示した入力内容は変更できます。その後、別のルックアップ値に切り替えるか、または[OK]ボタンをクリックしてダイアログを閉じると保存されます。
  • [行を追加]ボタンをクリックすると、変数のスプレッドシートに行を追加できます。スプレッドシートで定義された変数は、ルックアップ値と関連付ける結果を定義する方程式で使用されます。追加された各変数は、自動的に V1、V2 というように名前が付けられます。変数の名前は、スプレッドシート上の名前をクリックすることで、わかりやすいものに変更できます。
  • スプレッドシート内では、プルダウンを使用して各変数のプローブと結果を選択します。変数の定義には、モデルに追加されたプローブのみを利用できます。プローブで使用できる結果は次の通りです。
    • X 変位
    • Y 変位
    • Z 変位
    • X 速度
    • Y 速度
    • Z 速度
  • [方程式]テキスト ボックスでは、スプレッドシートに記載されている変数を結合し、ルックアップ値の名前を定義します。他のルックアップ値を方程式に含めることはできません。たとえば結果が節点の Y 変位のように単純な場合は、方程式は V1 となります(この V1 は関連するプローブの Y 変位として定義されます)。ルックアップ値の名前を 3 つの節点の平均にする必要がある場合は、方程式は(V1+V2+V3)/3 となります。方程式で使用できる演算子は次のとおりです。
    演算子 説明

    (and)

    複数の演算をまとめる括弧です。

    ** または ^

    指数関数です。ある数字を何乗するかを指定します。たとえば V1^2 の場合は、変数 V1 の 2 乗となります。

    *

    乗算です。

    /

    除算です。

    +

    足し算です。

    -

    引き算です。またはネゲートする数字を指定します(V1-V2、-V1*5 など)。

    cos( )

    括弧内の値のコサインとなります。値はラジアンで指定する必要があります。

    sin( )

    括弧内の値のサインとなります。値はラジアンで指定する必要があります。

    tan( )

    括弧内の値のタンジェントとなります。値はラジアンで指定する必要があります。

    exp( )

    括弧内の値の一般指数関数となります。e を何乗するかを指定します。たとえば e V1 となります。

    log( )

    括弧内の値の自然対数となります。底 e の対数であり、数学的には「ln( )」と表記されます。

    abs( )

    括弧内の値の絶対値となります。

    sqrt( )

    括弧内の値の平方根となります。

    acos( )

    括弧内の値の逆コサイン関数(逆余弦)となります。

    asin( )

    括弧内の値の逆サイン関数(逆正弦)となります。

    atan( )

    括弧内の値の逆タンジェント関数(逆正接)となります。

    cosh( )

    括弧内の値の双曲線コサインとなります。

    sinh( )

    括弧内の値の双曲線サインとなります。

    tanh( )

    括弧内の値の双曲線タンジェントとなります。

    log10( )

    括弧内の値の 10 を底とする対数となります。数学的には「log( )」と表記されます。

条件ステートメントおよび複数の荷重曲線乗数

ここまでで説明したとおり、荷重曲線に対して選択したルックアップ値は、荷重の乗数を決定する単一の値になります。これは、荷重乗数を決定する時間ベースの荷重曲線では、時間が単一の値になることと同様です。複数の結果や複数のルックアップ値が、荷重の大きさに影響を及ぼす場合があります。このような場合は[条件]テキスト ボックスと複数の列を使用し、選択したルックアップ値に基づいて補間される乗数の列を決定します。

たとえば、図 2 に概略が示されている 2 サイクル機関の場合を考えてみます。なお、図 2a と図 2b でピストンの位置は同じです。ただし、図 2a の圧力は排気口が閉じる(ガスが圧縮される)ため、供給圧とピストンの動作に基づいています。図 2b の圧力は燃焼(ガスの膨張)が発生するため、燃焼圧とピストンの動作に基づいています。したがって、荷重曲線はピストンの位置を基にすることはできませんが、ピストンの位置と速度を基にできます。この制御タイプは、[条件]テキスト ボックスで設定できます。形式は次のとおりです。

IF (Lookup Value test comparison; multiplier column if true; multiplier column if false)

ただし、

  • 「Lookup Value」は、[ルックアップ値を定義/編集]で作成、定義する既存のルックアップ値の名前となります。
  • 「test」は次の条件記号のいずれかになります。
    記号 説明

    >= または =>

    以上

    <= または =<

    以下

    =

    等しい

    >

    より大きい

    <

    未満

  • 「comparison」は数値となります。別のルックアップ値ではありません。そのため、Vel1>Vel2 などのルックアップ値を使用するには、新しくルックアップ値 Vel3 = Vel1 - Vel2 を定義し、「comparison test」として Vel3>0 を使用します。
  • 「multiplier column if true」は、「comparison test」が真の場合に、荷重曲線から使用する乗数の列を示す数字となります。
  • 「multiplier column if false」は、「comparison test」が偽の場合に、荷重曲線から使用する乗数の列を示す数字となります。

セミコロン(;)は IF 条件の 3 つのパーツを区切るものです。

(a) 供給ガスが圧縮されています。

(b)燃焼ガスが膨張しています。

図 2: 2 サイクル ピストン

この 2 つはピストンの位置は同じですが、圧力 P は異なります。

条件テストの結果に基づき、荷重曲線のスプレッドシートの適切な列が補間されます。[列を追加] [列を削除]ボタンを使用し、スプレッドシートの乗数の列を追加または削除します。条件ステートメントが使用されていない([条件]テキスト ボックスが空)と、スプレッドシートに複数の列が入力されていても、[乗数 1]列のみが使用されます。

ヒント:
  • 条件方程式はネスト化し、「and」タイプの演算を含めることができます。たとえば、「IF(sep1<10;3;IF(vel>0;1;2))」というステートメントがあったとします。このステートメントでは、変数 sep1 に定義された結果が 10 未満の場合(条件が真)は、乗数の列 3 を使用します。sep1 が 10 未満ではない場合(条件が偽)、条件が偽の乗数の列は、評価が必要な別の「test」となります。変数 vel によって定義される結果が 0 より大きい場合は、乗数の列 1 の乗数が使用されます。vel が 0 より大きくない場合は、乗数の列 2 が使用されます。要約すると、次のようになります。
    • sep1 が 10 未満の場合は、乗数の列 3 を使用します。
    • sep1 が 10 以上、vel が 0 より大きい場合は、乗数の列 1 が使用されます。
    • sep 1 が 10 以上、vel が 0 以下の場合は、乗数の列 2 が使用されます。

例 1: 磁力

図 3 で示されている磁力の例で、パラメータが次のとおりだとします。

  • 静止位置(磁力が発生する前)では、X = 0.5 inch
  • 磁力が発生した後は、F = 0.3125/(S^2)(S は実際の接触)

図 3: 磁力の例

磁力の設定に特有なステップは次のとおりです。

  1. 最上位の節点 A を選択([選択] [選択] [頂点])し、節点力を適用([追加] [節点力]を右クリック)します。力の大きさを -1 に設定し、方向を Z 方向に設定します。力の単位を使用することで、荷重曲線の乗数は合計の磁力となります。[OK]ボタンをクリックして力を適用します。
  2. 節点を選択したまま、右クリックでプローブを追加します。最上位の節点の説明を入力し、[OK]ボタンをクリックします。
  3. 最下位の節点 B を選択([選択] [選択] [頂点])し、節点力を適用([追加] [節点力]を右クリック)します。力の大きさを +1 に設定し、方向を Z 方向に設定します。[OK]ボタンをクリックして力を適用します。
  4. 節点を選択したまま、プローブを追加します([追加] [節点プローブ]を右クリック)。最下位の節点の説明を入力し、[OK]ボタンをクリックします。
  5. [解析パラメータ]ダイアログを開いてラジオ ボタンを選択し、荷重曲線のタイプを[ルックアップ値]に設定します。荷重曲線のスプレッドシートの 1 列目が、[時間]から[ルックアップ値]に変わります。
  6. 2 つの磁石間の計算された接触を示す、新しい変数を定義します。[ルックアップ値を定義/編集]ボタンをクリックします。これにより、新しいダイアログが開きます。[追加]ボタンをクリックし、新しい変数名 Separation を入力します。[OK]ボタンをクリックしてルックアップ値の名前の入力を完了させ、[ルックアップ値を定義]ダイアログに戻ります。
  7. 接触は 2 つの節点の変位に基づく方程式となるため、[行を追加]ボタンを 1 度クリックし、2 番目の変数 V2 をスプレッドシートに追加します。
  8. 変数 V1 については、[上部節点]のプローブと[Z 変位]の結果を選択します。
  9. 変数 V2 については、[下部節点]のプローブと[Z 変位]の結果を選択します。
  10. 計算された接触の方程式を[方程式]テキスト ボックスに入力します。0.5+V1-V2 と入力します。最上位の節点の正の変位によって接触が増加します。したがって、V1 は 0.5 の初期の接触に加算されます。最下位の節点の正の変位によって接触は減少します。したがって、V2 は 0.5 の初期の接触から減算されます。
  11. [OK]をクリックし、[ルックアップ値を定義]ダイアログを閉じます。
  12. メインの[解析パラメータ]ダイアログに戻り、[ルックアップ値]プルダウンから、[接触]をルックアップ値として選択します。荷重曲線のスプレッドシートの 1 列目が、[ルックアップ値]から[接触]に変わります。
  13. 最後に、さまざまな接触での乗数(この設定の磁力)を評価し、荷重曲線のスプレッドシートに入力します。接触が 0 の場合は理論上の力は無限になりますが、FEA の観点からは、次の荷重曲線が実用的です(FEA では、パーツが互いに通過するのを防ぐために接触が必要になるので、接触は 0 にしない必要があります)。0.5(初期の接触)より大きい接触の追加項目に注意してください。アイテムが振動する場合、または他の荷重曲線によって初期の接触から大きく離れる場合は、荷重曲線を考えられる全範囲に対応させます。
    [インデックス] [接触] 乗数 1

    1

    0 100

    2

    0.1

    31.25

    3

    0.2

    7.81

    4

    0.3

    3.47

    5

    0.4

    1.95

    6

    0.5

    1.25

    7

    0.6

    0.868

    8

    0.7

    0.638

    9

    0.8

    0.488

  14. [プロットを表示]ボタンをクリックし、形状が想定どおり双曲になっていることを確認します。より滑らかな曲線を生成するには、0 と 0.2 の間に追加のデータ点が必要に見える場合もあります。

例 2: 2 サイクル ピストン

図 2、図 4 に示す 2 サイクル ピストンで、パラメータ(仮定)は次のようになるとします。

  • X = -1.25 inch(排気口が完全に閉じた際のピストンの X 方向変位)。
  • 圧縮ストローク = 1.5 inch(X0 = -1.5)。
  • 内径 = 3 inch diameter。
  • V0 = 14.2 inch^3 = 排気口が閉じた際に閉じ込められる空気の量。
  • 供給圧 = 10 psig。
  • 燃焼圧 = 1000 psig。
  • 各段階は等温プロセスとなり、ガス圧は理想気体法則で計算できます。
  • X0 からピストンが移動した距離からの、ピストンとシリンダ ヘッドの間に閉じ込められる空気の量は近似します。シリンダ内径の膨張による量の変化は、ここでは考慮しません。

図 4: 2 サイクル ピストンの例

3 つの位置におけるピストンを示しています。モデルが引かれた位置が X = 0、排気口が閉じた時点が X0 = 0 です。したがって閉じ込められるガスは量が V0、圧力が P となり、ピストンが前に進んだ位置は X0 = -1.5 となります。

必然的に、荷重曲線に適用される圧力は、理想気体法則より精度を上げ、圧縮率と熱損失を考慮に入れることができます。また、ここではシリンダ ヘッドとピストンのブラインド側の圧力のみが含まれています。シリンダ壁側とピストンのロッド エンドの圧力を含めるには、追加の作業が必要です。これらの圧力は異なる結果ベースの荷重曲線に従います。

  1. ピストンのブラインド端およびシリンダ ヘッドのサーフェスを選択し([選択] [選択] [サーフェス])、1 psi の圧力単位を適用します(右クリックして、[追加] [サーフェス圧力/表面力])。[変位に追随]ボックスにチェックを入れて[OK]ボタンをクリックし、圧力を適用します。
  2. シリンダ ヘッドのたわみは無視し、閉じ込められた空気の量は、ピストンの位置のみから計算されます。ピストン上の節点を選択([選択] [選択] [頂点])して右クリックし、[追加]: [節点プローブ]を選択します。[Piston]の説明を入力し、[OK]をクリックしてプローブを追加します。
  3. [解析パラメータ]ダイアログを開いてラジオ ボタンを選択し、荷重曲線のタイプを[ルックアップ値]に設定します。荷重曲線のスプレッドシートの 1 列目が、[時間]から[ルックアップ値]に変わります。
  4. 排気口(図 4 の位置 X0)に対するピストンの位置を示す新しい変数を定義します。[ルックアップ値を定義/編集]ボタンをクリックします。これにより、新しいダイアログが開きます。[追加]ボタンをクリックし、新しい変数名 X0 を入力します。[OK]ボタンをクリックしてルックアップ値の名前の入力を完了させ、[ルックアップ値を定義]ダイアログに戻ります。
  5. 変数 V1 については、[Piston]のプローブと[X 変位]の結果を選択します。
  6. 排気口 X0 に対するピストンの位置の方程式を[方程式]テキスト ボックスに入力します。V1+1.25 と入力します。
  7. ピストンの速度を示す新しい変数を定義します。[追加]ボタンをクリックし、新しい変数名 Velocity を入力します。[OK]ボタンをクリックしてルックアップ値の名前の入力を完了し、[ルックアップ値を定義]ダイアログに戻ります。
  8. 変数 V1 については、[Piston]のプローブと[X 速度]の結果を選択します。同じプローブが複数のルックアップ値に使用される仕組みに注意します。また、ルックアップ値 X0 の変数 V1 は、ルックアップ値 Velocity の変数 V1 とは完全に別個に扱われます。
  9. ピストンの速度の方程式は、単純に変数 V1 となります。[方程式]テキスト ボックスに V1 と入力して[OK]ボタンをクリックし、[ルックアップ値を定義]ダイアログを閉じます。
  10. メインの[解析パラメータ]ダイアログに戻り、[ルックアップ値]プルダウンから、ルックアップ値として[X0]を選択します。荷重曲線のスプレッドシートの 1 列目が、[ルックアップ値]から[X0]に変わります。
  11. 前述したとおり、この解析では速度に基づく条件が必要です。[条件]テキスト ボックスに IF(Velocity>0;1;2)と入力します。速度が正の場合(ピストンが右側に移動)は、燃焼ガスは膨張し、乗数の列 1 が使用されます。速度が負の場合(ピストンが左側に移動)は、供給ガスは圧縮し、乗数の列 2 が使用されます。
  12. [列を追加]ボタンをクリックして 2 番目の乗数の列を荷重曲線のスプレッドシートに追加します。
  13. 最後に、ピストンのさまざまな位置での乗数(この設定の圧力)を評価し、荷重曲線に入力します。[理想気体法則]を使用し、圧縮ストローク(-1.5<=X0<=0)の圧力 Pc は、初期圧力 Psupply と量 Vinitial から、次のように計算されます。

    Pinitial*Vinitial = P*V

    Psupply*V0 = P*(V0+X0*(pi/4)*Bore^2)

    (10 psig + 14.7 psi)*(14.2 inch^3) = (Pc+14.7 psi)*(14.2 inch^3+7.0686*X0)

    Pc = 350.74/(14.2+7.0686*X0) - 14.7

    膨張ストロークについては、ゲージ圧 Pe は次のように計算されます。

    Pinitial*Vinitial = P*V

    Pcombustion*(V0 - (stroke)*(pi/4)*Bore^2) = P*(V0+X0*(pi/4)*Bore^2)

    (1000 psig + 14.7 psi)*(14.2 inch^3-10.60 inch^3) = (Pe+14.7 psi)*(14.2 inch^3+7.0686*X0)

    Pe = 3652.92/(14.2+7.0686*X0) - 14.7

    [インデックス]

    X0

    乗数 1

    (膨張ガス Pe)

    乗数 2

    (圧縮ガス Pc)

    1

    -1.75

    1981

    177

    2

    -1.5

    1000

    82.8

    3

    -1.25

    666

    50.7

    4

    -1.0

    498

    34.5

    5

    -0.5

    328

    18.2

    6

    0

    243

    10

    7

    0.1

    10

    10

    8

    10

    10

    10

排気口が開いている際(0<X0<0.1)の圧力の段階的な変化に注意します。また、理論上ピストンは位置 -1.5<X0 には変位しませんが、システムの丸めとたわみに対する何らかの準備が必要です。したがって、-1.75 のストロークについて荷重曲線を計算します。