ACU-T:5403 圧電流体エネルギーハーベスタ:流体構造連成

このチュートリアルでは、圧電流体ハーベスタのシミュレーションの設定、解析、および結果表示のための手順を説明します。このシミュレーションでは、圧電流れハーベスタが流体流路に置かれます。ハーベスタは、流体流れの中で渦を引き起こす渦発生体としても機能する円筒マウントに取り付けられます。このチュートリアルでは、渦によって生成される圧力場と流れのハーベスタ構造の間の相互作用をシミュレートします。AcuSolve が構造ソルバーと組み合わせて使用され、流体構造直接連成(DC-FSI)アプローチを使用してハーベスタの構造変位が計算されます。変形する構造と接触したときの流体領域のメッシュの変形の計算には、Arbitrary Lagrangian Eulerian(ALE)アプローチが使用されます。

CFDシミュレーションの基本的な手順については、ACU-T:2000 ミキシングエルボ内の乱流をご参照ください。流体-構造マルチフィジックス問題に対するPFSIアプローチは、圧電流れエネルギーハーベスタPFSIのチュートリアルで説明しました。このチュートリアルでは、AcuSolveの以下の追加機能を紹介します。
  • 直接連成FSIシミュレーション(DC-FSI)の設定
  • AcuSolve/OptiStructによるマルチフィジックス連成
  • 連成をサポートするための外部コードパラメータの設定
  • サーフェスへの外部コードパラメータの割り当て
このチュートリアルでは、次の手順を実行します。
  • 問題の解析
  • AcuConsoleの起動とシミュレーションデータベースの作成
  • 一般的な問題パラメータの設定
  • 解法パラメータの設定
  • シミュレーション用の形状をインポートします。
  • ボリュームグループの作成とボリュームパラメータの適用
  • サーフェスグループの作成とサーフェスパラメータの適用
  • 連成サーフェスの適切な境界条件の設定
  • グローバルメッシングパラメータとローカルメッシングパラメータの設定
  • メッシュ生成
  • AcuSolveの実行
  • AcuProbeによる解析のモニター
  • AcuFieldViewでの節点出力のポスト処理

前提条件

入門チュートリアルであるACU-T:2000 ミキシングエルボ内の乱流をすでに完了している必要があります。必須ではありませんが、ACU-T:5400 圧電流体エネルギーハーベスタ:流体構造連成(P-FSI)も実行済みであることが推奨されます。このチュートリアルでは、P-FSIのチュートリアルで使用されたのと同じ問題設定を扱いますが、DC-FSIアプローチを使用します。ここでは、AcuConsoleAcuSolve、およびAcuFieldViewをある程度使い慣れていることを前提としています。ライセンス供与済みバージョンのAcuSolveにアクセスできることも必要です。

このチュートリアルで使用される連成構造ソルバーは、別のHyperWorks製品であるOptiStructです。このチュートリアルを実行するには、ライセンス供与済みバージョンのOptiStructにアクセスできる必要があります。このチュートリアル用の対応するOptiStructの設定は、OptiStructのチュートリアルマニュアルに記載されています。

このチュートリアルを実行する前に、AcuConsole_tutorial_inputs.zip<<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。 fluid.x_t およびslab_dcfsi.fem をAcuConsole_tutorial_inputs.zipから取り出します。 ファイルfluid.x_tには、この問題のモデルの流体部分に関する形状情報が保存され、slab_dcfsi.femは、この問題のOptiStruct入力データです。

このチュートリアルでモデリングウィンドウに表示されるオブジェクトの色と、ユーザーの画面に表示されるオブジェクトの色は異なる場合があります。AcuConsoleのデフォルト配色は“ランダム”であり、作成されたグループに色がランダムに割り当てられます。また、このチュートリアルはWindows上で作成されました。このチュートリアルを異なるオペレーティングシステムで実行する場合は、画面に表示されるイメージとこのチュートリアルで表示されるイメージが多少異なる可能性があります。

問題の解析

CFDシミュレーションにおける重要なステップは、目前の工学的問題を調べ、AcuSolveに対して指定する必要のある重要なパラメータを決定することです。パラメータは、形状要素(入口、出口、壁など)に基づいて行うことができるとともに、流れの条件(流体プロパティ、速度など)に基づいて行うことができます。

問題の定常状態部分を 図 1で概略的に示します。CFDモデルには、円筒体と片持ちビームで構成されています。円筒体は渦を発生させます。この渦は、ビームの両側に交互の非対称圧力分布を生じさせます。このような交互の圧力分布は、ビームに振動力を加え、ビーム内に持続可能な周期振動を発生させます。

流体ソルバーでは、固体をモデル化する必要はありません。ただし構造ソルバーは、構造のサーフェスに作用する流体の流れ場と圧力場を使用して、構造変形について解析します。構造ソルバーが構造変位を計算するために必要とする情報は、流体ソルバーから構造ソルバーに渡されます。これに対して構造ソルバーは、変位情報を流体ソルバーに渡します。流体ソルバーは、この変位情報を使用して次の時間ステップにおける流れ場を計算し、構造ソルバーはこの流れ場を使用して変位情報を更新します。このような流体ソルバーと構造ソルバーの間の情報交換は、時間ステップごとに行われ、どちらかのソルバーがシミュレーションの終了を通知するまで繰り返されます。 図 2 は、ビームの配列とそのさまざまな層を示しています。



図 1. 問題の概略図


図 2. ビームとそのさまざまな層

流体構造連成

流体構造連成は、流体の流れとそれに接触している変形可能なソリッド構造間の連成です。FSI問題は外部または内部の流れの問題にすることができます。流体の流れは、大気中の風車の羽根のように、固体が流れにさらされる、外部の流れにすることができます。また、流体の流れは、変形可能な管内の流体の流れのように、固体が流れを囲む、内部の流れにすることもできます。いずれの場合も、問題を解くための原理は同じです。流体の流れが構造に接すると、流体圧力が固体に応力を与えることによって、構造が変形する可能性があります。変形の大きさは、構造材料の剛性と流体によって与えられる圧力の大きさによって異なります。構造形状の変形は、構造周辺の流れの特性の変化につながります。

FSI問題は、構造力学と流体力学の連成法則が解に影響するマルチフィジックス問題です。この連成を実現するために広く使用されているアプローチが2つあります。
  1. Practical-FSI(P-FSI):構造は、モード空間内で縮小され、インターフェース節点を通じて流体領域に連成されます。ソルバー間の連成が単一パス自体で発生します。P-FSIシミュレーションでは、構造挙動が線形に制限されます。
  2. Direct coupling(DC-FSI): 連成は、構造ソルバーと流体ソルバー間の共同シミュレーションであり、それぞれのソルバーが同時に進行し、時間ステップごとに平衡に反復されます。

構造の変形が流体の流れを大幅に変えるほど大きい場合は、DC-FSI連成シミュレーションアプローチを使用する必要があります。このアプローチでは、流体の流れと圧力の場が構造変形に影響を与え、構造変形が流れと圧力に影響を与えると、それらの影響に関する情報がソルバー間でリアルタイムに交換されます。

連成方法に違いがあるとすると、同じ問題をP-FSIアプローチとDC-FSIアプローチを使用して解いた場合に結果に若干の違いが出る可能性があります。使用すべきアプローチの選択は、問題と使用可能なリソースに依存します。前述のように、P-FSIアプローチは、構造の変形が小さく、構造挙動を線形として近似できる場合に限定する必要があります。その他の場合は、DC-FSIを選択します。ただし、DC-FSIシミュレーションは、計算リソースのコストが高くなります。これを踏まえて、P-FSIシミュレーションは、DC-FSIシミュレーションを実行する前の予備テストシミュレーションとして使用することもできます。

FSIには安定型と振動型があります。安定型FSIでは、流れも変化しない限り、構造の変形形状が時間とともに変化しません。振動型FSIでは、構造が変形すると、変形していないに戻ろうとして、変形プロセス全体がそれ自体で繰り返されます。

AcuSolveでのメッシュモーションアプローチ

多くのシミュレーションで、時間に伴う領域の変形が必要とされます。AcuSolve は、動的メッシュを処理するための次の2つのアプローチを提供しています。
  1. Arbitrary Lagrangian Eulerian(ALE)
  2. Interpolated Mesh Motion。

Arbitrary Lagrangian Eulerian(ALE)

ALEは、計算節点が要素品質の最適化のために自由に移動するメッシュモーション用のアプローチです。適切なメッシュ位置に到達するために、追加の偏微分方程式(PDE)が解かれます。ALEは、複雑な任意の運動を処理できるため、移動メッシュ問題をシミュレートする場合の最も一般的なアプローチです。一般的には、追加のPDEを解くことになるため、計算コストが高くなります。1Dや2Dの動きのように単純な動きの場合は、Interpolated Mesh Motion、汎用の指定モーション、節点境界条件ベースのアプローチなどのより高速なアプローチを使用できます。

解析パラメータの定義

AcuConsoleの起動とシミュレーションデータベースの作成

このチュートリアルでは、まずデータベースの作成、形状に依存しない設定の入力、形状の読み込み、ボリュームグループとサーフェスグループの作成、グループパラメータの設定、グループへの形状コンポーネントの追加、およびグループへのメッシュコントロールと境界条件の割り当てを行います。次に、メッシュを生成して、AcuSolveを実行し、指定された時間ステップの数だけ解析します。最後に、AcuFieldViewを使用して結果の一部の特性を可視化します。

次の手順では、AcuConsoleを起動して、シミュレーション設定を保存するためのデータベースを作成します。

  1. Windows のスタートメニューからスタート > Altair <バージョン> > AcuConsoleをクリックして AcuConsoleを起動します。
  2. Fileメニューをクリックし、Newをクリックし、New data baseダイアログを開きます。
    注: ツールバーの をクリックしてNew data baseダイアログを開くこともできます。
  3. 作業ディレクトリとして使用する場所に移動します。
    このディレクトリには、そのシミュレーションに関するすべてのファイルが保存されます。AcuConsoleのデータベースファイル(.acs)はこのディレクトリに保存されます。メッシュと解が作成されたら、追加のファイルとディレクトリがこのディレクトリ内に作成されます。
  4. この場所に新しいディレクトリを作成します。名前をDCFSI_Tutorialに設定して、このディレクトリに移動します。
  5. データベースのファイル名としてpiezo_harvester_dcfsiを指定します。
    注: AcuConsoleによって書き込まれたファイルを他のアプリケーションで読み取り可能にするためには、データベースのパスと名前にスペースが含まれないようにしてください。
  6. 保存をクリックしてデータベースを作成します。

一般的なシミュレーションパラメータの設定

次の手順では、シミュレーション全体に適用されるパラメータを設定します。単純にするため、Data Tree Manager内のBASフィルタを使用して、任意のシミュレーションに適用できる基本的な設定をフィルタできます。このフィルタにより、Data Tree内の使用可能な項目の小さなサブセットのみを表示できるようになり、エントリの移動が容易になります。

  1. Data Tree ManagerBASをクリックして、Data Tree内の基本ビューに切り替えます。


    図 3.
  2. GlobalData Tree項目をダブルクリックして拡張表示します。
    ヒント: 項目名の横にある をクリックしてツリー項目を拡張表示することもできます。


    図 4.
  3. Problem DescriptionをダブルクリックしてProblem Description詳細パネルを開きます。
    ヒント: ツリー項目を右クリックしてコンテキストメニューからOpenをクリックすることでも、パネルを開くことができます。
  4. TitleとしてAcuSolve DCFSI Tutorialと入力します。
  5. Sub titleとしてPiezoelectric harvesterと入力します。
  6. Analysis typeをTransientに変更します。
    1. Analysis typeドロップダウンメニューをクリックします。
    2. リストからTransientをクリックします。
  7. Turbulence equationをSpalart Allmarasに変更します。
  8. Mesh typeをFixedからArbitrary Mesh Movement (ALE)に変更します。
  9. External codeをオンにします。
    このオプションは、AcuSolveに実行時に外部コードと通信することを宣言します。


解法パラメータの設定

  1. Data Tree ManagerBASをクリックして、Data Tree内の基本ビューに切り替えます。
  2. Auto Solution StrategyをダブルクリックしてAuto Solution Strategy詳細パネルを開きます。
  3. Analysis typeがTransientに設定されていることを確認します。
  4. Max time stepsを0.0に設定します。
  5. Final timeを3.0に設定します。
  6. Initial time incrementを0.01に設定します。
  7. Min stagger iterationsを3に設定します。
  8. Max stagger iterationsを20に設定します。
  9. Relaxation factorを0に設定します。
    非定常解析を解くときには、緩和係数をゼロに設定する必要があります。緩和係数がゼロ以外だと解の増分更新が起こり、非定常ケースの解の時間精度に影響を与えます。
  10. Flow、Turbulence、MeshおよびExternal codeのラジオボタンがオンに設定されていることを確認します。


    図 5.

材料モデルパラメータの設定

AcuConsoleには、Air、Aluminum、Waterという、標準のパラメータが定義されている3つの事前定義済み材料が用意されています。次の手順では、事前定義された”水”の材料特性が、この問題において目的のプロパティと一致することを確認します。
  1. Data TreeMaterial Modelをダブルクリックして拡張表示します。
  2. Data TreeWaterをダブルクリックしてWater詳細パネルを開きます。
    水のMaterial typeはFluidです。AcuConsoleで作成されるすべての新しい材料に対して、Fluidがデフォルトの材料タイプとなります。
  3. Densityタブをクリックします。以下をチェックします。
    1. TypeがConstantに設定されていること。
    2. Densityの値が1000 kg/m3に設定されていること。
  4. Viscosityタブをクリックします。水の粘性は0.001kg/m-secです。
  5. データベースを保存して設定のバックアップを作成します。これは、次のいずれかの方法で実行できます。
    • Fileメニューをクリックして、Saveをクリックします。
    • ツールバーの をクリックします。
    • Ctrlキーを押しながらSを押します。
    注: AcuConsoleで加えられた変更は、直ちにデータベースファイル(.acs)に保存されます。保存操作を実行すると、データベースがバックアップファイルにコピーされます。今後の変更内容を利用することを希望しない場合は、このバックアップファイルを使用して、その保存済み状態からデータベースを再読み込みすることができます。

形状のインポートとモデルの定義

形状のインポート

このチュートリアルの次のパートでは、形状をインポートします。この手順を完了するには、 fluid.x_t の場所がわかっている必要があります。このファイルには、ParasolidASCII形式で形状に関する情報が含まれています。
  1. File > Importをクリックします。
  2. fluid.x_tを含むディレクトリを参照します。
  3. ファイル名のフィルタをParasolid File (*.x_t *.xmt *X_T …)に変更します。
  4. fluid.x_tを選択し、OpenをクリックしてImport Geometryダイアログを開きます。


    図 6.

    このチュートリアルでは、Import Geometryダイアログのデフォルト値を使用して形状を読み込みます。AcuConsoleを使用していた場合は、自身が変更した可能性のある設定を手動で変更して、図に示すデフォルト値と一致させてください。デフォルト設定を使用した場合は、CADモデルのボリュームはデフォルトのボリュームグループに追加されます。CADモデルのサーフェスはデフォルトのサーフェスグループに追加されます。このチュートリアルでは後ほどグループを操作して、新しいグループの作成、流れパラメータの設定、形状コンポーネントの追加、およびメッシングパラメータの設定を行います。

  5. OKをクリックして形状のインポートを完了します。


ボリューム属性の適用

ボリュームグループは、ボリューム領域に関する情報を保存するためのコンテナです。この情報には、ボリュームに適用される解析およびメッシングパラメータや、それらの設定が適用される形状領域が含まれます。

形状がAcuConsoleにインポートされたときに、すべてのボリュームは“デフォルトの”ボリュームコンテナに配置されました。

このチュートリアルのモデルには1つのボリュームしか含まれていないため、それが、形状のインポート時のデフォルトボリュームグループ内の唯一のボリュームになります。モデル内に1つのボリュームしか存在しない場合でも、今後の識別が容易になるようボリューム名を変更することをお勧めします。次の手順では、デフォルトボリュームグループコンテナの名前を変更し、その材料とその他のプロパティを設定します。

  1. ModelData Tree項目を拡張表示します。
  2. Surfacesを右クリックして、Display offを選択することにより、Surfacesの表示をオフにします。
  3. Volumesを拡張表示します。ボリューム名の横にある をクリックして、デフォルトボリュームコンテナの表示のオン / オフを切り替えます。
    注: Surfacesが表示されている場合は、サーフェスとボリュームが重なっている可能性があるため、表示を切り替えても何も変わらないことがあります。
  4. デフォルトのボリュームグループの名前をfluidに変更します。
    注: Data Tree内の項目の名前を変更した場合、Enterキーを押すまでは変更内容は保存されません。Enterキーを押さずに入力フォーカスをその項目から移動すると、変更内容は失われます。
  5. fluidボリュームセットを設定します。
    1. ツリー内でfluidボリュームグループを拡張表示します。
    2. fluidの下でElement Setをダブルクリックして、それを詳細パネルで開きます。
    3. ボリュームMediumがFluidに設定されていることを確認します。そうでない場合は、ドロップダウンメニューをクリックして、Fluidを選択します。
    4. Material modelドロップダウンメニューをクリックして、Waterを選択します。


      図 7.

サーフェスグループの作成と基本サーフェスパラメータの適用

サーフェスグループは、サーフェスに関する情報を保存するためのコンテナです。この情報には、解析およびメッシングパラメータや、パラメータが適用される形状内の対応するサーフェスが含まれます。

次の手順では、サーフェスグループを定義して、問題のさまざまな特性に適切な設定を割り当て、これらのグループコンテナにサーフェスを追加します。

  1. Volumesを右クリックして、Display offををクリックすることにより、Volumesの表示をオフにします。
  2. Surfacesを右クリックして、Surface Managerを選択します。
  3. Surface Managerダイアログで、Newを6回クリックし、6つの新しいサーフェスグループを作成します。


    Simple BC Active列とSimple BC Type列が表示されていない場合は、Columnsをクリックして、リストからこの2つの列を選択し、Okをクリックします。

  4. デフォルトサーフェス以外のすべてのサーフェスの表示をオフにします。
  5. 次の図に従って、すべてのサーフェスのSurface Name(1列目)を変更し、Simple BC Active列とSimple BC Type列を設定します。


    ビームサーフェスのSimple BCオプションがoffに設定されていることを確認します。

  6. サーフェスをz_posおよびz_negサーフェスグループに割り当てます。
    1. z_pos row.のAdd toをクリックします。
    2. 下の図に示すように、z座標が最大の平面を選択し、Doneをクリックします。


  7. 同様に、z座標が最小のサーフェスをz_negサーフェスグループに、割り当てます。
  8. 一番上と一番下で領域を囲んでいるサーフェスをslipサーフェスグループに割り当てます。
  9. x座標が最小のサーフェスをinletサーフェスグループに割り当てます。
  10. x座標が最大のサーフェスをoutletサーフェスグループに割り当てます。
  11. 円筒サーフェスをcylinderサーフェスグループに割り当てます。
    次の図を参考にして必要なサーフェスを選択します。


  12. Surface Managerを閉じます。
形状がAcuConsoleに読み込まれたときに、すべての形状サーフェスはデフォルトサーフェスグループコンテナに配置されました。このデフォルトサーフェスグループは、Surface Managerでbeamに名前が変更されました。前の手順では、いくつかのサーフェスを自分で作成した他のさまざまなサーフェスグループに割り当てました。この時点で、beamサーフェスグループに残っているのは、流体ボリュームとビーム間の接触境界を構成するサーフェスのみです。

サーフェス境界条件の設定

入口のパラメータの設定

  1. Data Tree ManagerBASをクリックして、Data Tree内の基本ビューに切り替えます。
  2. ModelData Tree項目を拡張表示します。
  3. Modelの下Surfacesを拡張表示してから、inletサーフェスグループを拡張表示します。
  4. Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  5. TypeがInflowになっているを確認します。
  6. Inflow typeがVelocityに設定され、Inflow velocity typeがCartesianに設定されていることを確認します。
  7. X velocityを10m/sに設定します。
  8. Turbulence input typeをDirectに設定します。
  9. Eddy velocity ratioを1e-05m2/secに設定します。


    図 8.

z_negサーフェスとz_posサーフェスのパラメータの設定

  1. z_negサーフェスグループを拡張表示します。
  2. Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  3. TypeがSlipになっているを確認します。
  4. Mesh displacement BC typeをSlipに設定します。
    この設定により、メッシュがサーフェスに沿って接線方向に滑ることができるようになります。このオプションを使用するには、サーフェスが平面である必要があります。
  5. z_posサーフェスグループに対して上記手順を繰り返します。
    z_negサーフェスグループの設定をz_posサーフェスグループに伝播して、それらが同じになるようにすることもできます。

スリップサーフェスのパラメータの設定

  1. slipサーフェスグループを拡張表示します。
  2. Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  3. TypeがSlipになっているを確認します。


    図 9.

出口サーフェスのパラメータの設定

  1. outletサーフェスグループを拡張表示します。
  2. Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  3. TypeがOutflowに設定されているを確認します。


    図 10.

円筒サーフェスのパラメータの設定

  1. Cylinderサーフェスグループを拡張表示します。
  2. Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  3. TypeがWallに設定されていることを確認します。


    図 11.

ビームサーフェスのパラメータの設定

  1. Data Tree ManagerFSIをクリックして、Data Tree内のFSIモデルの設定に関連するオプションを表示します。
  2. ビームの下で、External Code Surfaceをアクティブにします。
  3. 詳細パネルで、Coupling typeがStructuralに設定され、Coupling directionがBothに設定されていることを確認します。
  4. Velocity typeがWallに設定され、Mesh displacement typeがTiedに設定されていることを確認します。


節点出力の定義

節点出力コマンドは、出力頻度や保存されている状態の数などの節点出力パラメータを指定します。

  1. Data Tree ManagerBASをクリックして、Data Tree内の基本ビューに切り替えます。
  2. Globalを拡張表示し、Outputを拡張表示します。
  3. Nodal Outputをダブルクリックして、Nodal Output詳細パネルを開きます。
  4. Time step frequencyを2に設定します。
    これにより、2つの時間ステップごとに節点出力が保存されます。
  5. Output initial conditionをOnに設定します。
    これにより、初期状態を最初の出力ファイルとして書き込むようにソルバーに指示されます。
  6. Number of saved statesが0に設定されていることを確認します。


    図 12.
    このオプションを0に設定すると、すべての結果ファイルを保存するようにソルバーに指示されます。

時刻歴出力ポイントの作成

Time History Outputコマンドを使用すれば、領域内の任意の点の節点解を抽出することができます。このシミュレーションでは、片持ちビームの先端での変位を確認します。

  1. Outputツリーの下で、Time History Outputを右クリックし、Newを選択します。

    新しいエントリTime History Output 1がData TreeのTime History Output分岐の下に作成されます。

  2. Time History Output 1をTip_MonitorPointに変更します。
  3. Tip_MonitorPointをダブルクリックして詳細パネルを開きます。詳細パネルで以下を設定します:
    1. TypeをCoordinatesに変更します。
    2. Open Arrayをクリックして、Array Editorダイアログの行に次のように入力します。


      図 13.
    3. OKをクリックします。
    4. Time step frequencyを1に設定します。
      これにより、時間ステップごとに定義された時刻歴ポイントの結果が保存されます。
  4. データベースを保存します。

初期状態の設定

  1. Data TreeNodal Initial Conditionをダブルクリックして詳細パネルを開きます。
  2. X velocityを10m/sに設定します。
  3. Eddy velocityを1e-05m2/secに設定します。


    図 14.

フォースランプmultiplier functionの作成

流れ、によりビームに作用する力は、最初の数時間ステップの間に徐々に増加して行きます。最初の数時間ステップの後は、流体からの力全体が増加することなくビームに伝達されます。これをmultiplier functionを使用して実現します。次の数手順で線形multiplier functionを作成し、後で、ビームに作用する荷重の力multiplier functionとして割り当てます。

  1. Data Tree ManagerPB*をクリックして、Data Tree内の一般的な問題設定に関連する使用可能なすべての設定を表示します。
  2. Multiplier Functionを右クリックし、Newを選択します。
    新しいエントリMultiplier Function 1がData TreeのMultiplier Function分岐の下に作成されます。
  3. Multiplier FunctionをForceRampに変更します。
  4. ForceRampをダブルクリックして詳細パネルを開きます。
  5. 詳細パネルで、TypeをPiecewise Linearに変更します。
  6. Curve fit variableをTime stepに変更します。
  7. Open Arrayをクリックします。
  8. Add toをクリックし、Array Editorの2行目を作成します。
  9. 以下のように値を入力します:


    図 15.
  10. OKをクリックします。

外部コード連成の設定

このチュートリアルの冒頭では、構造ソルバーが変位を計算してその変位をAcuSolveに渡す役割を担うことを説明しました。次の手順では、AcuSolveと外部コード(このケースではOptiStruct)の間の接続を設定します。

  1. Data Tree ManagerFSIをクリックして、Data Tree内のFSIモデルの設定に関連するオプションを表示します。
  2. GlobalData Tree項目をダブルクリックして拡張表示します。
  3. External Code ParametersをダブルクリックしてExternal Code Parameters詳細パネルを開きます。
  4. CommunicationがSocketに設定されていることを確認します。
  5. Socket initiateフラグをOffにします。
  6. 構造ソルバーを実行しているマシンの名前をSocket host欄に入力します。
    注: AcuSolveと構造ソルバー(OptiStruct)を同じマシンで実行している場合は、ここにはlocalhostと入力します。
  7. Socket portを48002に設定します。
    ソケットポートは構造ソルバーに依存します。48002がOptiStructのデフォルトであるため、この例ではこのポートを使用しています。ここに入力する正しいポート番号を確認するには、お使いの構造ソルバーのマニュアルをご参照ください。
  8. Multiplier functionドロップダウンメニューをクリックして、ForceRampを選択します。
    これにより、外部コードから伝達される力が、このMultiplier Functionによる指定に従い、最初の数ステップ(このケースでは20個の時間ステップ)にわたって徐々に増大します。


メッシュコントロールの割り当て

グローバルメッシュパラメータの設定

グローバルメッシュ属性は、特定の形状ボリューム、サーフェス、エッジ、およびポイントに参照されるのではなく、モデル全体に適用されるメッシングパラメータです。モデルの特定の形状コンポーネントのメッシュ生成コントロールを作成するには、ローカルメッシュ属性を使用します。

次の手順では、グローバルメッシュ属性を設定します。

  1. データツリーマネージャーMSHをクリックして、Data Tree内の設定をフィルタ処理して、メッシングに関するコントロールのみを表示します。
  2. GlobalData Tree項目をダブルクリックして拡張表示します。
  3. Global Mesh AttributesをダブルクリックしてGlobal Mesh Attributes詳細パネルを開きます。
  4. Mesh size typeをAbsoluteに変更します。
  5. Absolute mesh sizeを2.0mに設定します。
  6. Mesh growth rateを1.4に設定します。


    図 16.

サーフェスメッシュパラメータの設定

サーフェスメッシュ属性は、モデル内の特定のサーフェスに適用されます。これは、1つまたは複数の特定のサーフェスのためのメッシュコントロールの作成に使用される、ローカルメッシングパラメータの一種です。

サーフェスメッシュ属性などのローカルメッシュ属性は必ずしも設定する必要ありません。あるコンポーネント用のローカルメッシュ属性が見つからなかった場合は、グローバル属性がそのコンポーネントのメッシュ生成コントロールとして使用されます。ローカルメッシュ属性が存在する場合は、グローバル設定より優先されます。

次の手順では、サーフェスメッシング属性を設定します。

  1. ModelData Tree項目を拡張表示します。
  2. Modelの下で、Surfacesを拡張表示します。
  3. Surfacesの下で、cylinderサーフェスグループを拡張表示します。
  4. Surface Mesh Attributesチェックボックスをオンにし、詳細パネルを開きます。
    詳細パネルにより多くのオプションが表示されます。
  5. Mesh size typeがAbsoluteに設定されていることを確認します。
  6. Absolute mesh sizeに0.05mと入力します。
  7. Region of influence parametersフラグをOnに切り替えます。
    サーフェスからの影響領域に関するメッシュコントロールが表示されます。

影響領域は、サーフェスからの距離に基づいて、サーフェスとサーフェスを囲んでいるボリュームメッシュのサイズと成長率を制御可能なサイズコントロールです。

  1. 次のように影響パラメータを設定します。
    1. Influence typeをSimpleに設定します。
    2. Influence size factorを3.0に設定します。
    3. Influence distanceを2.0に設定します。
    注: 上記設定により、サーフェスでのサイズが0.05m(Absolute mesh size)のボリュームメッシュが2.0m(Influence distance)の距離でサイズが(Absolute mesh size)x(Influence size factor)に遷移します。
  2. Boundary layer flagをOnに切り替えます。
    境界層に関するメッシュコントロールが使用可能になります。
  3. Boundary layer typeがFull Controlに設定されていることを確認します。
  4. ResolveをTotal Layer Heightに設定します。
    これにより、指定した他の設定に基づいて合計層高さが設定されます。
  5. 残りの設定を次のように設定します:
    1. First element heightを0.01に設定します。
    2. Growth rateを1.3に設定します。
    3. Number of layersを4に設定します。
    4. Boundary layer elements typeをTetrahedronに設定します。


      図 17.

beamサーフェスグループに対して上記手順を繰り返す代わりに、cylinderサーフェスグループのメッシュ属性設定をbeamサーフェスグループに伝播させることもできます。

  1. Data Treeのcylinderの下で、Surface Mesh Attributesを右クリックします。
  2. Propagateを選択します。
  3. Propagateダイアログで、beamサーフェスグループを選択し、Propagateをクリックします。

メッシュ押し出しの定義

このシミュレーションは、モデルの2D断面の表現と等価です。AcuSolveでは、断面のフェイス全体で1つの要素を構成するだけで2Dモデルがシミュレートされます。つまり、これらのフェイスを同様の境界条件を使用して設定、すると、フェイス全体の対応する節点で同じ結果が得られます。この問題では、これらのフェイスは負および正のzサーフェスです。この種のメッシュは、AcuSolveのメッシュ押し出しプロセスで実現されます。次の手順では、これらのサーフェス間のメッシュの押し出しプロセスを定義します。

  1. ModelData Tree項目を拡張表示します。
  2. Mesh Extrusionsを右クリックし、Newを選択します。
  3. Mesh Extrusion 1の名前をz_extrusionに変更します。
  4. z_extrusionを右クリックして、Defineを選択します。
  5. Mesh Extrusionダイアログで、次の設定を行います。
    1. Geometry typeがsurfaceに設定されていることを確認します。
    2. Side 1とSide 2のドロップダウンからそれぞれ、z_negz_posというサーフェスを選択します。
    3. Extrusion typeがNumber of layersに設定されていることを確認します。
    4. Number of layersを1に設定します。
    5. Extrusion optionsをAll tetsに設定します。


      図 18.
  6. OKをクリックし、ダイアログを閉じます。

メッシュの生成

次の手順では、問題の解を計算する際に使用されるメッシュを生成します。

  1. ツールバーの をクリックしてLaunch AcuMeshSimダイアログを開きます。
  2. Okをクリックしてメッシングを開始します。

    メッシング時に、AcuTailウィンドウが開きます。メッシングの進行状況はこのウィンドウで報告されます。メッシングプロセスのサマリーで、メッシュが生成されたことが示されます。



    注: 節点と要素の実際の数およびメモリ使用量は、マシンによって少し異なる場合があります。
  3. モデリングウィンドウにメッシュを表示します。
    1. Data TreeSurfacesを右クリックして、Display onをクリックします。
    2. Data TreeSurfacesを右クリックして、Display typeを選択し、solid & wireをクリックします。
    3. さまざまなメッシュ領域を解析するには、モデル内で回転やズームを行います。


    図 19.
  4. データベースを保存して設定のバックアップを作成します。

解の計算と結果の確認

OptiStructの実行

  1. Windows のスタートメニューからスタート > Altair <バージョン> > OptiStructをクリックして OptiStructを起動します。
  2. をクリックして、開くファイルを参照します。
  3. slab_dcfsi.femファイルにアクセスして、Openをクリックします。
  4. RunをクリックしてOptiStructを起動します。


    図 20.
    解析が進行すると、HyperWorks Solver Viewウィンドウが開きます。OptiStruct解析の進行状況はこのウィンドウで報告されます。

    OptiStructはソケット接続を開始して、自身の信号にAcuSolveが応答するまで待ってから解析を進めます。

AcuSolveの実行

次の手順では、AcuSolveを起動してこのケースの解を計算します。

  1. ツールバーでをクリックしてLaunch AcuSolveダイアログを開きます。

    このケースでは、デフォルトの設定を使用します。AcuSolveは4つのプロセッサを使用して(可能な場合は、さらに多くのプロセッサを指定できる)実行され、AcuConsoleAcuSolve入力ファイルを生成して、AcuSolveを起動します。AcuSolve は、この問題の非定常解を計算します。

  2. Okをクリックして解析プロセスを開始します。
    解析が進行すると、AcuTailウィンドウが開きます。解析の進行状況はこのウィンドウで報告されます。

    AcuSolveは起動されると、外部コード連成の設定時に指定されたソケットポート上で、OptiStructからの最初の通信を受信待機します。ソケットポートを通信用に初期化するOptiStructの実行を開始する必要があります。接続が確立されると、各ソルバーは交互にシミュレーションステップを通じてデータを送受信します。

    AcuTailダイアログに出力される実行のサマリーには、AcuSolveが解析の実行を完了したことが示されます。



    図 21.
  3. AcuTailウィンドウを閉じ、データベースを保存して設定のバックアップを作成します。

AcuProbeによる解析のモニター

AcuProbeを使用して、解析時間におけるさまざまな変数をモニターできます。

  1. ツールバーの アイコンをクリックして、AcuProbeを開きます。
  2. 左側のData Treeで、Time History > Tip_MonitorPoint > node 1の順に選択します。
  3. mesh_y_displacementを右クリックし、Plotを選択します。
    注: プロットを正しく表示するために、ツールバーで をクリックする必要がある場合があります。


    図 22.

    node 1がビームの先端に配置されます。上のプロットは、ビームが流れと接触したときの流体力によるビームの先端の変位を示しています。

  4. プロットを画像として保存することもできます。
    1. AcuProbeダイアログで、File > Saveをクリックします。
    2. 画像の名前を入力して、Saveをクリックします。
  5. 変数の時系列データをテキストファイルとしてエクスポートして、さらにポスト処理することもできます。
    1. エクスポートする変数を右クリックして、Exportをクリックします。
    2. File nameを入力して、Save as typeに.txtを選択します。
    3. Saveをクリックします。

AcuFieldViewでの結果の表示

本チュートリアルは、AcuFieldViewのインターフェースと基本的な操作に慣れていることが前提となっています。本チュートリアルは、一般に次の基本事項の理解に役立ちます:
  • Fileメニューでデータリーダーを検索し、データ入力のための目的のリーダーパネルを開く方法。
  • AcuFieldViewにおいてツールバーまたはVisualizationメニューから表示パネルを検索し、でサーフェスを作成および変更する方法。
  • マウスコントロールを使用してモデリングウィンドウでデータを動かし、データの移動、回転、およびズームを行う方法。

このチュートリアルでは、定常状態解析データの操作方法を示します。

AcuFieldViewの起動

AcuConsoleツールバーで をクリックしてLaunch AcuFieldViewダイアログを開きます。
圧力コンターがメッシュを含むすべての境界サーフェス上に表示されていることが確認できます。非定常シミュレーションの結果がAcuConsoleに読み込まれたときに表示される結果はシミュレーションの最後の時間ステップに対応します。


図 23.

AcuFieldViewの設定

  1. Boundary Surfaceダイアログを閉じます。
  2. AcuConsoleツールバーで をクリックしてLaunch AcuFieldViewダイアログを開きます。
  3. Viewer Optionsをクリックします。


    図 24.
  4. Viewer OptionsダイアログでPerspectiveチェックボックスをオフにします。
  5. Axis Markersをクリックして、軸マーカーを無効にします。
  6. ダイアログを閉じます。
  7. ツールバーでColormap Specificationアイコン をクリックします。
  8. Scalar Colormap SpecificationダイアログでBackgroundをクリックし、Whiteを選択します。
  9. ダイアログを閉じます。
  10. ツールバーのクリックし、輪郭表示をオフにします。
    AcuFieldView画面は次のようになります。


    図 25.

ビーム変位アニメーションの表示

  1. をクリックしてBoundary Surfaceダイアログを開きます。
  2. アクティブな境界サーフェスの表示をオフにします。
  3. をクリックしてCoordinate Surfaceダイアログを開きます。
  4. Z of Coord Planeを選択し、中央–Z座標平面で新しい座標サーフェスを作成します。
    作成される座標サーフェスは、z_negサーフェスとz_posサーフェス間の中央平面です。
  5. ColoringをScalarに変更します。
  6. Display TypeをSmoothに変更します。
  7. 表示するScalar Functionとしてx-velocityを選択します。
  8. Colormapタブをクリックして、ScalarColoringをLocalに変更します。
  9. Defined Viewsで、表示方向を+Zとして選択します。
    AcuFieldView画面は次のようになります。表示されるビームの形状は、シミュレーション内の最後の時間ステップの終了時点の変形形状です。


    図 26.
  10. Coordinate Surfaceダイアログを閉じます。
  11. Toolsで、Flipbook Build Modeを選択します。
  12. Flipbook Size WarningウィンドウでOKをクリックします。
  13. Tools > Transient Dataをクリックします。
    Transient Data Controlsダイアログが開きます。


    図 27.

このダイアログのSweep ControlにBuildではなくSweepが表示された場合は、Flipbook Buildモードがアクティブになっていません。Sweepモードでは、アニメーションを作成して表示できますが、それを保存できません。アニメーションを保存するには、Flipbook Buildモードを有効にします。

  1. 時間ステップスライダーを左端の位置までドラッグします。または、Time StepボックスかSolution Timeボックスに0と入力します。
  2. Applyをクリックします。
    現在表示されている状態は、領域の初期状態に対応します。


    図 28.
  3. Buildをクリックします。
    AcuFieldView が、可能なすべての時間ステップを経過する解析のフレーム単位アニメーションを構築します。Building Flipbookダイアログで進捗を確認することができます。
  4. Flipbook Controlsダイアログで、Frame Rateをクリックします。
  5. Minimum Timeに0.2秒を入力します。
  6. Closeをクリックします。
  7. Play をクリックしてアニメーションを再生します。
    アニメーションの進行中に、ビームの上面と底面で交互渦がビームの振動を引き起こすのを確認できます。この振動が、ビームの上層と底層における圧電電荷の発生の原因となります。
  8. アニメーションを保存するには、Pause をクリックしてから、Saveをクリックします。

要約

このAcuSolveチュートリアルでは、直接連成(DC-FSI)アプローチを使用してFSI問題を正しく設定し、解析しました。DC-FSIアプローチは連成シミュレーションアプローチであり、構造ソルバーと流体ソルバーの両方が同時に実行されて、シミュレーションの各時間ステップで情報を交換します。流体ソルバーは流れと圧力の情報を構造ソルバーに渡し、これらの情報を使用して構造内の変位が特定されます。構造ソルバーは変位情報を流体ソルバーに渡し、流体ソルバーは流れ場と圧力場を再計算します。両方のソルバーはこのようにしてシミュレーションの結果を更新および交換し、解に達します。チュートリアルは、AcuConsoleでデータベースを作成し、流体部分の形状をインポートしてメッシュ処理し、基本的なシミュレーションパラメータを設定することから始めました。次に、流れと相互作用した構造の位置が、時間ステップごとに構造ソルバーから受け取る変位データによって更新されるように設定しました。最後の手順として、AcuSolveと構造ソルバーの間の接続を設定するためのパラメータを定義して、連成シミュレーションによって解を生成しました。結果は、AcuFieldViewでポスト処理され、流体流れと接触したときのビームの変位のアニメーションが生成されました。このチュートリアルで紹介した新機能は、直接連成FSIシミュレーション(DC-FSI)の設定、AcuSolve/OptiStructによるマルチフィジックス連成、連成をサポートするための外部コードパラメータの設定、およびサーフェスへの外部コードパラメータの割り当てです。