#author("2020-08-03T15:46:29+09:00","default:opencaewikistaff","opencaewikistaff")
* 公式サイトの DOCUMENTATION の「Simulation Guide」を用いた、SvSolverの活用や設定に関する情報5 [#zff968d6]

以下の説明では、公式サイトの DCUMENTATION の「Simulation Guide」http://simvascular.github.io/docsFlowSolver.html において、「Creating a Job for Simulation」からの操作手順に従って、SimVasucular の解析ソルバー SvSolver の設定方法を学びます。ここでは、Windows10 の環境を用いて説明しますが、インストール手順[[SimV-Install1]]で導入された解析環境では、ファイルの扱いなどを読み替えれば、MacOSX や Ubuntu でも同様に操作できます。

以下の説明では、この例題を最初に行うことも想定して、[[SimV-UsageInfo2]]の内容と同じ内容も、重複して説明しています。

** 公式解説文書「Simulation Guide」を用いた操作手順 [#r9d79512]

まず、SimVascular の解析ソルバー SvSolver の設定手順を学ぶために、公式解説文書「Simulation Guide」に従って行いますが、[[SimV-UsageInfo4]]で利用した例題「CylinderProject」のファイルを参照し利用してみます。まず参考にする操作手順の資料の「[[Simulation Guide:http://simvascular.github.io/docsFlowSolver.html]]」を開いて、ある程度大きなウインドウにすると、左側に目次が表示されます。

ここで説明する操作手順は、目次の「Creating Job > Basic Parameters > Inflow BC > Outlet BC > Wall Properties > Solver Parameters > Creating Data Files > Running Job > Postprocessing > Examples」の内容を、この手順で進めてゆきます。

** Creating a Job for Simulation:血流解析のための解析ジョブの準備 [#y270077f]

⇒ウエブ資料リンク:[[Creating Job:http://simvascular.github.io/docsFlowSolver.html#creatingjob]]

準備として、作業フォルダ C:\WorkSV の中に、例題ファイル「CylinderProject.zip」があることを確認します。次に、このファイルを展開して「CylinderProject」フォルダを作業フォルダ内に用意します。[[SimV-UsageInfo4]]で既に準備されていれば、それを利用します。

ここで説明する操作手順では、このプロジェクトのファイルの途中から自分で設定を試みます。そこで「CylinderProject」フォルダをコピーして「CylinderTest1」フォルダフォルダを作成します。

まず操作手順のウエブ資料「Simulation Guidee」の「[[Creating Job:http://simvascular.github.io/docsFlowSolver.html#creatingjob]]」を開きます。以下の説明では、設定の項目な操作を文章でしますので、画面など表示は、この資料を参考にしてください。なおこの操作手順は、この資料の完全な翻訳ではなく、操作を簡略化した部分もあります。また逆に用語などの補足説明は追加しています。資料の灰色の囲みの中が、実際の操作手順になっています。

*** SimVascularの起動と準備 [#k823ec25]

インストール手順[[SimV-Install1]]により、Windows10 に導入済みの環境では、デスクトップ上の「SimVascular」ショートカットから起動します。なお、色々なツールが並ぶウインドウ「SimVascular 2020.04.06」と黒いログコンソール「mbilog」の2つが表示されますが、ログコンソールも必要です。

ウエブ資料に従って、「Example1の作成」を試してみましょう。この作業のもとになるファイルは、先に準備した「CylinderTest1」プロジェクトです。SimVascular を起動して「File>Open SV Project」より、「CylinderTest1」フォルダを選択し、プロジェクトを読み込みます。

このプロジェクトは、単純は円筒形(Cylinder)なので、医用画像 Images や血管軸線 Paths や血管断面輪郭 Segmentation などの情報はなく、直接に、解析モデル Models と解析メッシュ Meshes が用意されています。これらはそのまま流用します。

以下では、血流解析 Simulations の各種の設定方法を確認するので、既にできている以下の4つの項目は削除 Remove しておきます。この資料で説明する手順で、以下の4つの解析設定の具体的な方法や条件などを確認してゆきます。~
steady:基本となる定常解析(流出部は単純な抵抗係数で設定)~
steady_rcr:定常解析でRCR流出条件で設定(血管壁の条件は固定設定)~
steady_rcr_deformable:定常解析でRCR流出条件で設定で、血管壁は固定量だけ変形する~
steady_rcr_variable:定常解析でRCR流出条件で設定で、血管壁は血流に対応して任意に変形する~

念のため以前の解析結果を完全に削除するために、この「CylinderTest1」の解析結果がある「C:\WorkSV\CylinderTest1\Simulations」のフォルダも全て削除します。以下の操作では、作業の段階ごとに必ず「Save SV Project」で上書き保存してください。

*** Example1:steady プロジェクトの新規作成 [#ub59c01e]

最初の「Example1」では、ジョブ名「steady」として基本となる定常解析で、流出部は単純な抵抗係数で設定するような、血流解析ジョブを設定します。まず「SV Data Manager」の「Simulations」項目を右クリックして、メニューから「Create Simulation Job」を選択します。Select Model は「cylinder」で、Job Name は「steady」と入力して、OK で進めます。

「Simulations」項目の下に、新しいジョブ「steady」が作られます。この項目をダブルクリックすると、「SV Simulation」ツールが右側に表示されます。現在は、標準の初期値があるだけで、具体的な設定はまだ未設定です。

** Basic Parameters:基本的なパラメータ設定 [#y63674e8]

⇒ウエブ資料リンク:[[Basic Parameters:http://simvascular.github.io/docsFlowSolver.html#basic]]

以下の説明を進める前に、SimVascular(プリ・ポスト)と SvSolve(ソルバ)との関係を確認します。まず「[[Simulation Guide / Overview:http://simvascular.github.io/docsFlowSolver.html#overview]]」の「Process Flow of SimVascular Simulation」を見ると、解析モデルが作成された後に、「svPresolver>svSolver」の順で処理が進むことがわかります。

ツール SV Simulation の「Basic Parameters」のタブ項目を見ます。基本的なパラメータには、「svPresolver・svSolver」で使用されるいくつかの基本的な設定情報となる、流体の材料特性と初期条件が含まれます。 ここでの単位は、標準設定(CSG単位:cm/gr/s:センチメートル/グラム/秒)を使用します。 なお SimVascular で用いる単位は上記の「[[Simulation Guide / Overview:http://simvascular.github.io/docsFlowSolver.html#overview]]」の「Units in Simulation」を確認してください。

流体の密度(Fluid Density)は「1.06」で、流体の粘性(Fluid Viscosity)は「0.04」です。初期圧力(Initial Pressure)は「0」で、 初期速度(Initial Velocities)は「vx=0.0001 vy=0.0001 vz=0.0001」です。

** Inlet Boundary Condition Specification:流入境界条件の設定 [#jf82820f]

⇒ウエブ資料リンク:[[Inflow BC:http://simvascular.github.io/docsFlowSolver.html#inflowbc]]

ツール SV Simulation の「Inlet and Outlet BCs」のタブ項目を見ます。この円筒形のモデルでは、3Dモデルの表示で Reset view したときに上と下に円形の端面があり、上が2行目の「流入面:inflow」で下が1行目の「流出面:outflow」に対応しますが、まだ何も設定されていません。

流入面の境界条件を設定する前に、最初に流入面の流量を指定する単純なファイルを作成します。様々な血流解析に対応して、複数の流入波形ファイルがあると思いますが、この練習では最も基本となる定常解析用の流入条件ファイル(flow-file)として、「steady.flow」を用います。

実はこのファイルは、例題「CylinderTest1」のフォルダー「flow-files」に、「steady.flow」が用意されています。フォルダ「C:\WorkSV\CylinderTest1\flow-files」を開いて、起動したメモ帳に
ファイル「steady.flow」をドラッグして内容を確認できます。

この「stable.flow」ファイルの形式は次のとおりです。ただし用意されているファイルではコメントが省略されています。コメントは必須ではありませんが、解析で使用した単位を確認するときに役立ちます。折角なのでメモ帳で追記して上書き保存してください。

次に2列の数値が続きます。 最初の列には時間の値があり、次の列にはFlow(毎秒当たりの流量:cc単位)の値が続きます。時間0秒から1秒で流量が「-100 cc/sec」で変化しないので、安定した一定の流量で、定常解析の設定になります。この流量については、次に詳しく説明します。

# Time (sec) Flow (cc/sec) ~
0 -100.0 ~
1 -100.0 ~

まず流量の正負の符号は、解析モデルの流入面から内部に流れ込む順流(フォワードフロー)の流量は、ここで検討した例 -100 のように「負の符号」です。逆に流入面から外にでる逆流(バックフロー)では、「正の符号」です。これは流入面の法線を示すベクトルが外向きを正とするため、順流では反対方向になるため負になります。

この設定のコメントにあるように、解析モデルの物理的寸法を確実に把握することは非常に重要です。分析のすべての単位(長さ、時間、流れ、密度など)は、単位として一貫している必要があります。この SimVascular にインポートする前に、Paraview でモデルのサイズを簡単に確認できるので試してください。

単位の標準設定は「CSG単位:cm/gr/s」なので、この場合に円柱の半径は r=2.0cm、長さは L=30cm です。流量の単位は、体積として考えると「cc = cm3 = ml」ですから対応しています。なお血流の流量は「[[WikiPedia:流量:https://ja.wikipedia.org/wiki/%E8%A1%80%E6%B5%81]]」を見ると、以下の通りです。

大動脈の場合: 断面積3〜5cm2で、流速40cm/s なので、流量で計算すると、120〜150 cm3/s = cc/s なので、上記の設定は桁数としては、それほど間違っていないです。逆に半径 r=2.0cm で、流量 100 cc/2 になるためには、流速が 7.9 cm/s になります。

*** 具体的な設定とその解説 [#cd70e295]

それでは、「Inlet and Outlet BCs」のタブ項目に関して、具体的な設定を行い、詳細な説明はそのあとにまとめます。この表には、境界条件を設定する流入面 inflow と流出面 outflow が既に並んでいます。

まず流入面 inflow を設定するので、この行 Name の「inflow」をダブルクリックします。パネルの各項目では次のように設定します。~

・BC Type(境界条件の形式)は「Prescribed Velocities(指定速度の指定)」 ・Analytic Shape(断面内の分析形状)は「parabolic(放物線)」 ・Point Number(速度指定の点数)は「2(一定流量の場合でファイルsteady.flowの行数)」 ・Fourier Modes(速度変化のフーリエ級数モード)は「1(一定流量の場合)」、と指定します。

次に、Flow rate(from Files)で、先に用意した流入条件ファイル「steady.flow」を設定するので、「…」のボタンを押してファイルを「C:\WorkSV\CylinderTest1\flow-files」より「steady.flow」を開きます。パネルにファイル名が表示されます。

なお、Period(周期)はオプションであり、「steady.flow」から設定を確認されるが、ここでは指定した時間の間隔(0〜1)で「1.0」としておく。以上で完了で、OK で進める。作業の節目に「Save SV Project」で上書き保存しておきます。

この例題「CylinderTest1」では設定済みですが、解析モデルを作成するときには、面タイプ「wall / cap」を必ず指定してください。この cap 指定の面に境界条件を設定します。

・Point Number(速度指定の点数)は、心拍1周期を規定する時間データポイントの数です。これは先に指定した「flowファイル」の時点の数とは限りません。この練習ではそれらは一致して両方の場合で2ですが、これは定常流を使用する非常に単純な例であり、2つの時点が一定の流れを規定するために必要な時点であるためです。

一般に「flowファイル」には、心拍周期全体で約20データポイントが必要であり、そこから補間されたデータには100〜200ポイント程度になります。流入面での速度ベクトルへの流入波のマッピングをスムーズに表現するには、この程度になります。

・Fourier Modes(速度変化のフーリエ級数モード)は、フーリエ平滑化により流入流量曲線を平滑化し、指定した間隔で周期関数が定義できることになります。

なお注意として、SimVascular は、 flowファイルで定義する流量データのフーリエ級数近似を行っています。この練習では定常流で一定の流れで、これを適切に表現するには1つのフーリエモードで可能です。一方変動する非定常の脈動流の問題では、 flowファイルの設定を正確に表すために、さらに多くのフーリエモードが必要になりますが、通常は脈動の問題では10個のフーリエモードで十分です。

** Outlet Boundary Condition Specification:流出境界条件の設定 [#f50ca41b]

⇒ウエブ資料リンク:[[Inflow BC:http://simvascular.github.io/docsFlowSolver.html#outletbc]]









[[AboutSimVascular]]

【このページの閲覧数:総計:&counter(total); 今日:&counter(today);】

-----

* MEMO [#kd6bd004]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS