HS-1507: Data Source内のAreaツールを使った材料の較正

本チュートリアルでは、Area関数を仕上げ、HyperStudyHyperStudy - Editor(エディタ)を用いてRadiossファイルから入力テンプレートを作成する方法を学習します。

開始に先がけ、本チュートリアルで使用されるモデルファイルを<hst.zip>/HS-1507/から自身の作業ディレクトリにコピーします。

このチュートリアルの目的は、引張試験シミュレーションの応力-ひずみ曲線が引張実試験の曲線と一致するようなRadioss材料パラメータ値を求めることです。

HS-1506: 曲線間面積を使った材料の較正 は、2つのカーブの差を測るためにComposeまたはPython関数を使ってこの問題をセットアップする代替の手法を紹介しています。

HS-4200: システム同定を使った材料の較正 は、この問題をシステム同定を用いた代替法を示しています。

このチュートリアルの最後までに、ユーザーは下記の事項を学ぶことができます:
  • HyperStudy - Editor(エディタ)を用いたRadiossファイルからの入力テンプレート作成
  • スタディのセットアップ
  • MIN(f(x))最適化スタディの実行

モデルの定義

標準の引張試験片の1/4が、対称条件を使ってモデル化されます。試験片の左側の端点における速度を介して引張がかけられます。

単位は、mm、ms、g、N、MPaです。


1. 引張試験片の形状(試験片の1/4をモデル化)


2. 時刻歴用に保存されたセクションと節点
特性化される材料は6063 T7 アルミニウムです。これは、Johnson-Cookモデルによって損傷なく再現されることのできる等方性弾塑性の挙動を有し(RADIOSS Block Law2)、以下のとおり定義されます:
σ
応力レベル
ε p
塑性ひずみ
a
降伏応力
b
硬化係数
n
硬化指数
c
ひずみ速度係数
ε
ひずみ速度
ε 0
参照ひずみ速度
本チュートリアルでは、パラメータa、b、n、σmax(最大応力)およびヤング率を入力変数として定義します。実験テストによって得られた応力 / ひずみカーブは、図 3に示すとおりです。


3. 工学応力vs.工学ひずみカーブ(実試験結果)
シミュレーション結果については、工学ひずみは節点1の変位を参照長(75 mm)によって割ることで、工学応力はセクションのフォースを初期サーフェス(10.2 mm2で割ることで求められます。


4. 工学応力vs.ひずみのカーブ(シミュレーション結果)

ベース入力テンプレートの作成

このステップでは、HyperStudyでベース入力テンプレートを作成します。もしくは、スタディのDirectory(ディレクトリ)にあるベース入力テンプレートを使用します。

  1. HyperStudyを開始します。
  2. メニューバーからTools(ツール) > Editor(エディタ)をクリックします。
    エディタが開きます。
  3. File(ファイル)欄で、TENSILE_TEST_0000.radファイルを開きます。
  4. Find(検索)領域で、/MAT/PLAS_JOHNS/1と入力し、をクリックします。
    HyperStudyは、/MAT/PLAS_JOHNS/1をハイライト表示します。


    5.
  5. 行51の先頭からスタートして、最初の20のフィールドをハイライト表示させ、変数Eを選択します。
    ヒント: 20文字分のフィールドを素早くハイライト表示するには、Ctrlを押して セレクター(20文字に設定されている)をアクティブにしてから、値をクリックします。


    6.
  6. ハイライト表示された欄内を右クリックし、コンテキストメニューからCreate Parameter(パラメータの作成)を選択します。
  7. Parameter(パラメータ): varname_1ダイアログで以下のオプション群を定義し、OKをクリックします。
    1. Label(ラベル)欄にE_Youngと入力します。
    2. Lower Bound(下限値)を50000に変更します。
    3. Nominal(初期値)を60400に変更します。
    4. Upper Bound(上限値)を70000に変更します。
    5. Format(フォーマット)を%20.5fに変更します。


    7.
  8. 表 1にある情報を用いて、あと4つの変数を定義します。
    1.
    変数 Label(ラベル) Lower Bound(下限値) Nominal(初期値) Upper Bound(上限値) Format(フォーマット)
    a a_PlasticityYieldStress 90 110 120 %20.5f
    b b_HardeningCoeff 100 125 160 %20.5f
    n n_HardeningExpo 0.1 0.2 0.3 %20.5f
    sigmax Sigma_Max 250 280 290 %20.5f
  9. Save(保存)をクリックします。
  10. Save Template(テンプレートを保存)ダイアログで、ファイルをTENSILE_TEST_0000.tplとして保存します。
  11. Editor(エディタ)を閉じます。

スタディのセットアップの実行

  1. 以下の方法で新規スタディを開始します:
    • メニューバーから、File(ファイル) > New(新規)をクリックします。
    • リボン上でをクリックします。
  2. Add Study(スタディの追加)ダイアログでスタディの名前を入力し、スタディの場所を選んでOKをクリックします。
  3. Define Models(モデルの定義)ステップに進みます。
  4. パラメータ化ファイルモデルを1つ追加します。
    1. Directory(ディレクトリ)から、TENSILE_TEST_0000.tplファイルをワークエリアにドラッグ&ドロップします。


      8.
    2. Solver input file(ソルバー入力ファイル)列にTENSILE_TEST_0000.radと入力します。
      これが、評価中にHyperStudyが書き出すソルバー入力ファイルの名称となります。
    3. Solver execution script(ソルバー実行スクリプト)列に、RADIOSS (radioss)を選択します。
    4. Solver input arguments(ソルバー引数)欄に$fileと表示されていることを確認します。
      このソルバー引数は、衝突解析についてRADIOSSのStarterおよびEngineの両方を実行し、同時に、アニメーションファイルから.h3d結果ファイルが生成されることを回避します。
      注: Xは、シミュレーションに使用されるCPUの数です。
  5. モデルの依存性を定義します。
    1. Model Resources(モデルリソース)をクリックします。
    2. Model Resource(モデルリソース)ダイアログで、Model 1 (m_1)を選択します。
    3. Resource Assistant(リソースアシスタント) > Add File(ファイルの追加)をクリックします。
    4. Select File(ファイルの選択)ダイアログで、作業ディレクトリに進み、TENSILE_TEST_0001.radファイルを開きます。
    5. Operation(操作)をCopyにセットします。
    6. Close(閉じる)をクリックします。


    9.
  6. Import Variables(変数のインポート)をクリックします。
    5つの入力変数がTENSILE_TEST_0000.tplリソースファイルからインポートされます。
  7. Define Input Variables(入力変数の定義)ステップに進みます。
  8. 入力変数の下限値と上限値を確認します。

ベースランの実行

  1. Test Models(モデルをテスト)ステップに進みます。
  2. Run Definition(計算実行)をクリックします。
    スタディのDirectory(ディレクトリ)内に、approaches/setup_1-def/ディレクトリが作成されます。approaches/setup_1-def/run__00001/m_1には、ベースランの結果である入力ファイルが含まれます。

出力応答の作成と評価

ここでは、Area関数で使用されるデータソースを作成し、出力応答を評価します。

  1. Area Between Two Curves出力応答を作成します。
    1. Definition(定義) > Define Output Responses(出力応答の定義)ステップに進みます。
    2. Add Output Response(出力応答を追加)をクリックします。
    3. ワークエリアのLabel(ラベル)欄にArea Between Two Curvesと入力します。


      10.
  2. Disp_simとラベル付けされたデータソースを作成します。
    1. Directory(ディレクトリ)から、approaches/setup_1-def/run__00001/m_1にあるTENSILE_TESTT01ファイルをワークエリアにドラッグ&ドロップします。
    2. File Assistant(ファイルアシスタント)ダイアログで、Reading technology(読み取り技術)をAltair® HyperWorks®にセットし、Next(次)をクリックします。
    3. Single Item in a Time Series(タイムシリーズの単一アイテム)を選択し、Next(次)をクリックします。
    4. 以下のオプションを定義し、Next(次)をクリックします。
      • TypeをNode/Node 1にセットします。
      • Requestを4 Node 1にセットします。
      • ComponentをDX-X Displacementにセットします。


      11.
    5. Creating a new Data Source(新しいデータソースの作成)の下で、Label(ラベル)欄にDisp_simと入力します。
    6. Use Data Source in a new Response(データソースを新しい応答で使用する)のチェックボックスを空にします。
    7. Finish(終了)をクリックします。


      12.
  3. 2の手順を繰り返し、Force_simとラベル付けされた2つ目のデータソースを作成します。
    以下のオプション群を定義します:
    1. TypeをSection/SECTION_2にセットします。
    2. Requestを2 section 1にセットします。
    3. ComponentをFT-Resultant Tangent Forceにセットします。
  4. Strain_expとラベル付けされた3つ目のファイルソースを作成します。
    1. Area Between Two Curves出力応答のExpression(式)列で、をクリックします。
    2. Expression Builder(式ビルダー)で、Data Sources(データソース)タブをクリックします。
    3. Add Data Source(データソースの追加)をクリックします。
      新しいデータソースが、ワークエリア内に追加されます。
    4. 新しいデータソースのLabel(ラベル)欄に、Strain_expと入力します。
    5. File(ファイル)欄のをクリックします。
    6. Data Source Builder(データソースビルダー),でデータソースを定義し、OKをクリックします。
      • File(ファイル)欄で作業ディレクトリに進み、experiment.xyファイルを開きます。
      • ToolをFile Source(ファイルソース)に設定します。
      • TypeをUnknownにセットします。
      • RequestをBlock 1にセットします。
      • ComponentをColumn 1にセットします。
  5. 4の手順を繰り返し、Stress_expとラベル付けされた4つ目のファイルソースを作成します。
    以下のオプションを選択します:
    1. ToolをFile Source(ファイルソース)に設定します。
    2. TypeをUnknownにセットします。
    3. RequestをBlock 1にセットします。
    4. ComponentをColumn 2にセットします。
  6. Area Between Two Curves出力応答を定義します。
    1. Expression Builder(式ビルダー)で、Data Sources(データソース)タブをクリックします。
    2. Add Data Source(データソースの追加)をクリックします。
    3. 新しいデータソースのLabel(ラベル)欄に、Area Differenceと入力します。
    4. File(ファイル)列で、をクリックします。

      Tool(ツール)オプション群からAreaを選択します。Data Source Builder(データソースビルダー)には、シミュレーション用のCurve 1およびCurve 2オプション、実験カーブデータがあります。それぞれに、別個に入力されたxおよびyデータソースが含まれます。

      Curve 1_x = Disp_sim

      Curve 1_y = Force_sim

      Curve 2_x = Strain_exp

      Curve 2_y = Stress_exp

      シミュレーションからの変位とフォースが読まれており、一方、実験からのひずみと応力を得ています。変位とフォースをひずみと応力に変換するには、変位を長さ(75)で割り、フォースを面積(10.2)で割る必要があります。スケールファクターのボックスを使って、変換を定義します。変位の場合、スケールファクターは 1 75 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaaSaaaeaaca aIXaaabaGaaG4naiaaiwdaaaaaaa@383E@ です。面積の場合、スケールファクターは 1 10.2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaaSaaaeaaca aIXaaabaGaaGymaiaaicdacaGGUaGaaGOmaaaaaaa@39A1@ です。



      13.
    5. Curve 1について、図 13に示すように、xのスケールファクターのボックスに0.0133333と入力します。
    6. Curve 1について、図 13に示すように、yのスケールファクターのボックスに0.0980392と入力します。
    7. OKをクリックし、Data Source Builder(データソースビルダー)を閉じます。
  7. Expression Builder(式ビルダー)で、Insert Variable(変数の挿入)タブをクリックします。


    14.
  8. OKをクリックし、Expression Builder(式ビルダー)を閉じます。
  9. Evaluate(評価)をクリックして出力応答値を抽出します。

最適化の実行

  1. Optimization(最適化)を追加します。
    1. Explorer(エクスプローラ)内で右クリックし、コンテキストメニューからAdd(追加)を選択します。
    2. Add(追加)ダイアログでOptimization(最適化)を選択します。
    3. Definition from(定義元)に、Setup(セットアップ)を選択しOKをクリックします。
  2. Optimization(最適化) > Definition(定義) > Define Output Responses(出力応答の定義)ステップに進みます。
  3. Objectives/Constraints - Goals(目的 / 制約条件 - 目標)タブをクリックします。
  4. Area Between Two Curves出力応答に目的関数を適用します。
    1. Add Goal(目標を追加)をクリックします。
    2. Type (タイプ)列に、Minimizeを選択します。


    15.
  5. Optimization(最適化) > Specifications(スタディ仕様)ステップに進みます。
  6. ワークエリア内でModes(モード)をAdaptive Response Surface Method (逐次更新型応答曲面法)(ARSM)にセットします。
    注: 問題の定式化に有効な手法のみが使用可能です。
  7. 適用をクリックします。
  8. Evaluate(評価)ステップに進みます。
  9. Evaluate Tasks(計算実行)をクリックします。
  10. Evaluation Plot(評価プロット)タブをクリックし、目的関数の最適化反復計算の履歴をプロットします。


    16.