ACU-T:5400 圧電流体エネルギーハーベスタ:流体構造連成(P-FSI)

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

CFDシミュレーションの基本的な手順については、ACU-T:2000 ミキシングエルボ内の乱流をご参照ください。このチュートリアルでは、AcuSolveの以下の追加機能を紹介します。
  • Practical FSI(P-FSI)シミュレーションの設定
  • ALEメッシュモーションの使用
  • 構造データをCFDメッシュに伝達するためのEigenmode Managerの使用
このチュートリアルでは、次の手順を実行します。
  • 問題の解析
  • AcuConsoleの起動とシミュレーションデータベースの作成
  • 一般的な問題パラメータの設定
  • シミュレーション用の形状のインポート
  • ボリュームグループの作成とボリュームパラメータの適用
  • サーフェスグループの作成とサーフェスパラメータの適用
  • グローバルメッシングパラメータとローカルメッシングパラメータの設定
  • メッシュ生成
  • 解法パラメータの設定
  • 構造データのCFDメッシュへのインポートと伝達
  • P-FSIシミュレーションの設定
  • 適切な境界条件の設定
  • AcuSolveの実行
  • AcuProbeによる解析のモニター
  • AcuFieldViewでの節点出力のポスト処理

前提条件

入門チュートリアルであるACU-T:2000 ミキシングエルボ内の乱流をすでに完了している必要があります。ここでは、AcuConsoleAcuSolve、およびAcuFieldViewをある程度使い慣れていることを前提としています。ライセンス供与済みバージョンのAcuSolveにアクセスできることも必要です。

このチュートリアルを実行する前に、AcuConsole_tutorial_inputs.zip<<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。ファイルfluid.x_tbeam_modal.op2をAcuConsole_tutorial_inputs.zipから取り出します。ファイルfluid.x_tには、この問題のモデルの流体部分に関する形状情報が格納されており、ファイルbeam_modal.op2には、チュートリアルの中で生成されるCFDメッシュに投影される構造ソルバーからの出力データが格納されています。

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

問題の解析

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

シミュレートするシステムには、片持ちビームの断面が含まれ、その固定端は円筒の剛体に取り付けられています。ビームは円筒とともに水流の中に置かれています。この円筒体は、流れの中に置かれた渦発生体として機能し、円筒を通過する際に下流への流れの中で発生する渦をシミュレートします。交互に渦が発生することにより、ビームの両側に交互の非対称圧力分布が形成されます。このような交互の圧力分布は、ビームに振動力を加え、ビーム内に持続可能な周期振動を発生させます。

モデル化するシステムは、圧電ベースの流体の流れによるエネルギーハーベスタと比較することができます。構造モデルで使用されるビームは層状配列になっており、両側の圧電層の間に真鍮シムが挟み込まれています。圧電材料には、応力が加えられると電荷を発生させるというユニークな特性があります。現在の配列では、流体の流れによってビームに振動力が加わり、ビームが振動すると、対応する振動応力がビーム内で発生します。応力により圧電層で電荷が生じると、ここで、圧電特性が作用し始めます。この電荷は、その後、別の電気機械配列によって利用されます。そのため、この発電プロセスには2段階のエネルギー変換が関与します。まず、流体の流れのエネルギーがビームの振動の力学的エネルギーに変換され、この力学的エネルギーが電気的エネルギーに変換されます。ただし、対象でもあるこの変換のFSIの側面は、流体の流れとビーム間のエネルギーの伝達です。

このチュートリアルで扱う問題の概略図を図 1に示します。モデル化する領域は流体ボリュームで構成されています。流体ソルバーでは、固体をモデル化する必要はありません。ただし、構造ソルバーの結果は固体の定義に使用され、流体がソリッドに接触するサーフェスは、ビームの固有モードに従って変形することができます。 図 2 は、ビームの配列とそのさまざまな層を示しています。


図 1. 問題の概略図


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

理論の概要

流体構造連成

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

FSI問題は、構造力学と流体力学の連成法則が解に影響するマルチフィジックス問題です。この連成を実現するために広く使用されているアプローチが2つあります。
  • Practical-FSI(P-FSI):構造は、モード空間内で縮小され、インターフェース節点を通じて流体領域に連成されます。ソルバー間の連成が単一パス自体で発生します。P-FSIシミュレーションでは、構造挙動が線形に制限されます。
  • 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つのアプローチを提供しています。

  • Arbitrary Lagrangian Eulerian(ALE)
  • Interpolated Mesh Motion

このチュートリアルでは、領域内の変形節点のメッシュモーションを指定するためにALEアプローチが使用されます。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. この場所に新しいディレクトリを作成します。名前をPFSI_Tutorialに設定して、このディレクトリに移動します。
  5. データベースのFile nameとしてpiezo_harvesterと入力するか、好きな名前を選択します。

    AcuConsoleによって書き込まれたファイルを他のアプリケーションで読み取り可能にするためには、データベースのパスと名前にスペースが含まれないようにしてください。

  6. 保存をクリックしてデータベースを作成します。

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

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

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


    図 3.
  2. GlobalData Tree項目を拡張表示します。
  3. Problem DescriptionをダブルクリックしてProblem Description詳細パネルを開きます。
    ヒント: パネルフレームの右端をドラッグすることで、詳細パネルをデフォルトサイズから広げる必要がある場合があります。
  4. TitleとしてAcuSolve PFSI Tutorialと入力します。
  5. Sub titleとしてPiezoelectric harvesterと入力します。
  6. Analysis typeをTransientに変更します。
  7. Turbulence equationをSpalart Allmarasに変更します。
  8. Mesh typeをFixedからArbitrary Mesh Movement (ALE)に変更します。
    ALEはArbitrary Lagrangian Eulerianの略です。ALEメッシュタイプを使用すれば、領域内のメッシュを領域の境界またはインターフェースの動きに合わせて自由に動かすことができます。これは、純粋なオイラー、純粋なラグランジュ、またはそれらの任意の組み合わせに切り替えることで要素を最も最適な形状にできる定式化によって実現されます。これにより、ソルバーは、より高いレベルの要素変形を処理することができます。


    図 4.

解法パラメータの設定

次の手順では、解析の進行時にAcuSolveの挙動を制御するパラメータを設定します。

  1. Auto Solution StrategyをダブルクリックしてAuto Solution Strategy詳細パネルを開きます。
  2. Analysis typeがTransientに設定されていることを確認します。
  3. Max time stepsに300と入力します。
  4. Initial time incrementに0.01と入力します。
  5. Min stagger iterationsとMax stagger iterationsをそれぞれ35に設定します。
  6. Flow、Mesh、およびTurbulenceがOnに設定されていることを確認します。


    図 5.

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

AcuConsoleには、Air、Aluminum、Waterという、標準のパラメータが定義されている3つの事前定義済み材料が用意されています。次の手順では、水の定義済み材料特性がこの問題において目的のプロパティと一致することを確認します。
  1. Data TreeMaterial Modelをダブルクリックして拡張表示します。


    図 6.
  2. Data TreeWaterをダブルクリックしてWater詳細パネルを開きます。
    水のMaterial typeはFluidです。AcuConsoleで作成されるすべての新しい材料に対して、Fluidがデフォルトの材料タイプとなります。
  3. Densityタブをクリックします。Densityの値は1000 kg/m3です。
  4. TypeがConstantに設定されていることを確認します。
  5. Viscosityタブをクリックします。水の粘性は0.001kg/m-secです。
    残りの熱およびその他の材料プロパティは、このシミュレーションでは重要ではありません。ただし、タブにざっと目を通して、材料の仕様全体を確認できます。
  6. データベースを保存して設定のバックアップを作成します。これは、次のいずれかの方法で実行できます。
    • 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ダイアログを開きます。


    図 7.

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

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


    図 8.
  6. 表示を回転してモデル全体を確認します。

ボリュームパラメータの適用

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

形状がAcuConsoleにインポートされたときに、すべてのボリュームは“デフォルトの”ボリュームコンテナに配置されました。このチュートリアルのモデルには1つのボリュームしか含まれていないため、それが、形状のインポート時のデフォルトボリュームグループ内の唯一のボリュームになります。モデル内に1つのボリュームしか存在しない場合でも、今後の識別が容易になるようボリューム名を変更することをお勧めします。

次の手順では、デフォルトボリュームグループコンテナの名前を変更し、その材料とその他のプロパティを設定します。

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


      図 9.

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

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

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

シミュレーションの設定プロセスでは、(特に、サーフェスが非常に多いモデルの場合)複雑になりがちな境界条件やメッシュパラメータなどを設定するため、別のパネルに移動する必要があります。これを簡単にして、エラーを減らし、時間を節約するために、AcuConsoleでは2つの新しいダイアログが追加されています。Volume ManagerSurface Managerは、一度にすべてのサーフェスまたはボリュームエンティティに関する情報を確認したり、指定するために使用します。ここでは、Surface Managerのいくつかの機能を利用します。

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


    図 10.

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



    図 11.
  4. デフォルトサーフェスを除くすべてのサーフェスの表示をオフにします。
  5. 図 12に従って、Surface 1~6の名前を変更します。
  6. 図 12のように、Simple BC Active列とSimple BC Type列を設定します。


    図 12.
  7. サーフェスをz_posおよびz_negサーフェスグループに割り当てます。
    1. Surface Managerのz_pos行でAdd toをクリックします。
    2. 図 13に示すように、z座標が最大の平面を選択し、Doneをクリックします。
    3. 手順に従って、z座標が最小のサーフェスをz_negサーフェスグループに割り当てます。


      図 13.
  8. 一番上と一番下で領域を囲んでいるサーフェスをslipサーフェスグループに割り当てます。
  9. x座標が最小のサーフェスをinletサーフェスグループに割り当てます。
  10. x座標が最大のサーフェスをoutletサーフェスグループに割り当てます。
  11. 円筒サーフェスをcylinderサーフェスグループに割り当てます。このサーフェスは、流体と円筒間の接触境界です。次の図を参考にして必要なサーフェスを選択します。


    図 14.

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

  1. Surface Managerを閉じます。

フォースランプ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 1を右クリックして、コンテキストメニューでRenameを選択し、エンティティ名としてForceRampと入力します。
  4. ForceRampをダブルクリックしてForceRamp詳細パネルを開きます。
  5. 詳細パネルで、TypeをPiecewise Linearに変更します。
  6. Curve fit variableをTime stepに変更します。


    図 15.
  7. Curve fit valuesオプションの横にあるOpen Arrayをクリックして、Array Editorダイアログで2つの行を作成します。
  8. 次のように値を入力します。


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

弾性体の作成

このチュートリアルの導入部で、FSIは、流体と変形可能な、つまり、柔軟な固体間の相互作用であることを説明しました。AcuConsoleでは、このような固体をFlexible Bodyコマンドを使用して定義します。P-FSIでは、モード空間内で構造が縮小します。弾性体の定義には、ボディの質量、剛性、および減衰マトリックスの指定が含まれます。通常、質量マトリックスはI(単位マトリックス)に正規化され、剛性マトリックス kは対角エントリのそれぞれが固有値を表す対角マトリックスです。サーフェス出力リストは、固体上の力とモーメントの計算に使用されるサーフェス出力を表します。

  1. Data Tree ManagerFSIをクリックして、Data Tree内のFSIモデルの設定に関連するオプションを表示します。
  2. Flexible Bodyを右クリックし、Newを選択します。
    新しいエントリFlexible Body 1がData TreeのFlexible Body分岐の下に作成されます。
  3. Flexible Body 1を右クリックしてRenameを選択し、エンティティ名としてbeamと入力します。
  4. beamをダブルクリックしてbeam詳細パネルを開きます。
  5. EquationがMesh Displacementに設定されていることを確認します。
  6. Number of modesを5に設定します。
    これにより、構造データ内で使用可能な最初の5つのモードに関するモーダル情報がインポートされ、適用されます。
  7. Internal force multiplier functionを関数ForceRampに設定します。これは、チュートリアル内の以前の手順で作成したものです。
  8. Surface outputsオプションの横にあるOpen Refsをクリックします。
    Reference Editorダイアログが開きます。
  9. Add Rowをクリックして行を追加します。
  10. プルダウンメニューから行内のエンティティとしてbeamを選択します。


    図 17.
  11. OKをクリックし、ダイアログを閉じます。
    これにより、ビームサーフェスグループに関するサーフェス出力データを使用して、弾性体ビームに伝達する力を決定するようにソルバーに指示されます。


    図 18.

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

入口のパラメータの設定

  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/secに設定します。
  8. Turbulence input typeをDirectに設定します。
  9. Eddy velocityを1e-05m2/secに設定します。


    図 19.

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

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


    図 20.
  5. サーフェスグループz_posに対して上記手順を繰り返します。
    z_negサーフェスグループの設定をz_posサーフェスグループに伝播して、それらが同じになるようにすることもできます。これを行うには、z_negサーフェスグループの下のSimple Boundary Conditionエンティティを右クリックしてPropagateを選択し、Propagateダイアログでz_posサーフェスグループを選択して、Propagateをクリックし、伝播手順を終了します。


    図 21.

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

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


    図 22.

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

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


    図 23.

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

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


    図 24.

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

  1. ツリー内でbeamサーフェスグループを拡張表示します。
  2. Simple Boundary Conditionをダブルクリックして詳細パネルを開きます。
  3. TypeがWallに設定されていることを確認します。
  4. ドロップダウンメニューから選択して、Mesh displacement BC typeをFlexible bodyに設定します。
    この設定では、弾性体の運動に従ってこのサーフェスグループ上のメッシュが移動します。
  5. 弾性体をbeamとして設定します。
    これにより、beamサーフェスグループのメッシュ変位を計算するための基準として弾性体を使用するようにソルバーに指示されます。


    図 25.

節点出力の定義

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

  1. Outputツリーを拡張表示してから、Nodal Outputをダブルクリックして、Nodal Output詳細パネルを開きます。
  2. Time step frequencyを2に設定します。
    これにより、2つの時間ステップごとに節点出力が保存されます。
  3. Output initial conditionをOnに設定します。
    これにより、初期状態を最初の出力ファイルとして書き込むようにソルバーに指示されます。
  4. Number of saved statesが0に設定されていることを確認します。
    このオプションを0に設定すると、すべての結果ファイルを保存するようにソルバーに指示されます。


    図 26.

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

Time History Outputコマンドを使用すれば、領域内の任意の点の節点解を抽出することができます。このシミュレーションでは、片持ちビームの先端での変位を確認します。
  1. Outputツリーをダブルクリックして、Time History Outputを右クリックし、Newを選択します。
    新しいエントリTime History Output 1がData TreeのTime History Output分岐の下に作成されます。
  2. Time History Output 1を右クリックして、コンテキストメニューでRenameを選択し、エンティティ名としてTip_MonitorPointと入力します。
  3. Tip_MonitorPointをダブルクリックしてTip_MonitorPoint詳細パネルを開きます。
  4. 詳細パネルで、TypeをCoordinatesに変更します。
  5. Coordinatesオプションの横にあるOpen Arrayをクリックして、Array Editorダイアログの行に次のように入力します。


    図 27.
  6. 詳細パネルで、Time step frequencyを1に設定します。
    これにより、時間ステップごとに定義された時刻歴ポイントの結果が保存されます。


    図 28.
  7. データベースを保存します。

初期状態の設定

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


    図 29.

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

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

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

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

  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に設定します。


    図 30.

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

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

サーフェスメッシュ属性は、モデル内の特定のサーフェスに適用されます。これは、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に切り替えます。
    サーフェスからの影響領域に関するメッシュコントロールが表示されます。
  8. 次のように影響パラメータを設定します。
    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)に遷移します。
  9. Boundary layer flagをOnに切り替えます。
    境界層に関するメッシュコントロールが使用可能になります。
  10. Boundary layer typeがFull Controlに設定されていることを確認します。
  11. ResolveをTotal Layer Heightに設定します。
    これにより、指定した他の設定に基づいて合計層高さが設定されます。
  12. 残りの設定を次のように設定します:
    1. First element heightを0.01に設定します。
    2. Growth rateを1.3に設定します。
    3. Number of layersを4に設定します。
    4. Boundary layer elements typeをTetrahedronに設定します。


      図 31.
  13. cylinderの下のSurface Mesh Attributesを右クリックし、Propagateを選択します。
  14. Propagateダイアログで、beamサーフェスグループをクリックします。


    図 32.
  15. Propagateをクリックします。

メッシュ押し出しの定義

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

  1. ModelData Tree項目を拡張表示します。
  2. Mesh Extrusionsを右クリックし、コンテキストメニューからNewを選択します。
    新しいエンティティMesh Extrusion 1が作成されます。
  3. Mesh Extrusion 1の名前をz_extrusionに変更します。
  4. z_extrusionを右クリックして、コンテキストメニューからDefineを選択します。
    z_extrusionをダブルクリックしても、同じ結果が得られます。
  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をMixed Elementsに設定します。
    下の図を参考にしてメッシュ押し出しを設定します。


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

メッシュの生成

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

  1. ツールバーの をクリックしてLaunch AcuMeshSimダイアログを開きます。
    このケースでは、デフォルトの設定を使用します。
  2. Okをクリックしてメッシングを開始します。

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



    図 34.
    注: 節点と要素の実際の数およびメモリ使用量は、マシンによって少し異なる場合があります。
  3. モデリングウィンドウにメッシュを表示します。サーフェスの表示をオンにして、display typeをsolid and wireに設定します。
  4. モデル内で回転やズームを行うことにより、さまざまなメッシュ領域を解析することができます。

構造モデル情報のインポート

次の手順では、構造モデルをインポートして、固有ベクトルをCFDメッシュ上に投影します。
  1. ツールバーの をクリックします。
    Eigenmode Managerダイアログが開きます。
  2. Addを追加します。
    新しいエントリModal Response 1が作成されます。
  3. エントリのNameとしてModesと入力します。


    図 35.
  4. Importの横のOpenをクリックします。
  5. File Browserダイアログで、ファイルタイプがNastran OP2結果ファイルを認識するように設定されていることを確認します。
  6. ファイルbeam_modal.op2を選択して、Openをクリックし、ファイルをインポートします。
    Number of available modesが5になっているはずです。
  7. Number of active modesを5に設定します。
  8. Eigenmode ManagerShowタブをクリックしてから、DisplayおよびAnimateボタンをOnに切り替え、構造のモードを表示します。
    Animation mode Idスライダーでさまざまな構造のモードを使ってみます。このパネルを使用して、アニメーションの振幅、速度、および表示特性を変更することもできます。
  9. Eigenmode Managerで、Transferタブをクリックします。
  10. Flexible bodyオプションの横にあるTransferをクリックします。
    1. 開かれるReference Editorダイアログでビームが選択されていることを確認します。


      図 36.
    2. OKをクリックして、伝達を完了します。
      これにより、構造モデルから前に作成したビーム弾性体に質量、剛性、および減衰配列が伝達されます。
  11. Simple BCオプションの横にあるTransferをクリックします。
    1. Reference Editorダイアログのリストから、beamを選択します。


      図 37.
    2. OKをクリックして、伝達を完了します。
      これにより、構造の固有ベクトルがサーフェスグループbeamの節点に投影されます。
  12. Eigenmode Managerを閉じます。

解の計算と結果の確認

AcuSolveの実行

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

  1. ツールバーでをクリックしてLaunch AcuSolveダイアログを開きます。
    このケースでは、デフォルトの設定を使用します。AcuSolve は、4つのプロセッサを使用して実行されます。可能な場合は、さらに多くのプロセッサを指定できます。AcuConsoleは、AcuSolve入力ファイルを生成し、AcuSolveを起動します。AcuSolve は、この問題の非定常解を計算します。
  2. Okをクリックして解析プロセスを開始します。

    計算中、AcuTailウィンドウが開きます。解析の進行状況はこのウィンドウで報告されます。解析プロセスのサマリーで、実行が完了したことが示されます。

    このサマリーで提供される情報は、AcuSolveで使用されるプロセッサの数に基づいています。このチュートリアル内で示されている数と異なる数のプロセッサを使用した場合は、示されているサマリーと実行時のサマリーが少し異なる場合があります。



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

AcuProbeでのポスト処理

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

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


    図 39.

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

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

AcuFieldViewでのポスト処理

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

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

AcuFieldViewの起動

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


    図 40.

AcuFieldViewの設定

  1. Boundary Surfaceダイアログを閉じます。
  2. Viewer Optionsをクリックします。


    図 41.
  3. Viewer Optionsダイアログで:
    1. Perspectiveチェックボックスのチェックをはずし、パースペクティブビューをオフにします。
    2. Axis Markersをクリックして、軸マーカーを無効にします。


      図 42.
  4. Closeをクリックして、ダイアログを閉じます。
  5. ツールバーの アイコンをクリックします。
  6. Scalar Colormap Specificationダイアログで、Backgroundをクリックします。


    図 43.
  7. Background Colorダイアログで白色を選択します。


    図 44.
  8. ダイアログを閉じます。
  9. アイコンをクリックして、輪郭表示をオフにします。
    モデルは以下のようになるはずです:


    図 45.

ビーム変位のアニメーションの可視化と保存

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


    図 46.
  11. ダイアログを閉じます。
  12. Tools > Flipbook Build Modeをクリックします。
  13. OKをクリックしてFlipbook Size Warningダイアログを閉じます。
  14. Tools > Transient Dataをクリックします。
    Transient Data Controlsダイアログが開きます。


    図 47.

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

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


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

要約

このAcuSolveチュートリアルでは、Practical-FSIまたはP-FSIアプローチを使用してFSI問題を設定し、解析しました。最初に、構造ソルバー内で構造(ビーム)のモデル解析が行われ、このモーダル解析の結果がAcuConsoleで構造を表現するために使用されます。モーダル解析の結果は、固体の質量、剛性、減衰特性などの必要な情報をAcuSolveに提供します。この情報は、AcuSolveによって生成される流れ場情報とともに、流れと接触したときのビームの変位の計算に使用されます。

チュートリアルは、AcuConsoleでデータベースを作成し、流体部分の形状をインポートしてメッシュ処理し、基本的なシミュレーションパラメータを設定することから始めました。その後で、ビームを表現するための弾性体を設定し、AcuSolveを使用して解を生成しました。

結果は、AcuFieldViewでポスト処理され、流体流れと接触したときのビームの変位のアニメーションが生成されました。このチュートリアルで紹介した新機能は、Practical FSIシミュレーション(P-FSI)の設定、ALEメッシュモーションの使用、および構造データをCFDメッシュに移すためのAcuConsoleでのEigenmode Managerの使用です。