このチュートリアルでは水中にあるPZTディスクに対して解析を行います。OnScale Desingerのプリミティブ形状作成機能を用いて2次元モデルを作成します。解析は2次元軸対称として行います。
このチュートリアルの主な内容です。
- OnScale Designerの基本的な作業フロー
- プリミティブ形状の作成方法
- 2次元軸対称モデルの設定方法
- 圧電材料の解析設定の方法
- 結果
対応バージョン: OnScale 1.28.10
※PZTとは:チタン酸ジルコン酸鉛は三元系金属酸化物であるチタン酸鉛とジルコン酸鉛の混晶です。圧電材料として広く使われています。
解析の概要
解析対象は円柱型の水槽に入っているPZTディスクです。圧電材料であるPZTはある電圧をかけることで変形します。このチュートリアルでは、PZTディスク両側から電圧をかけ、ディスクの変形を解析します。
表1: 解析モデルの形状、及びメッシュサイズ
モデル: |
PZTディスクの寸法 10 mm x 2 mm 水槽の直径と半径 14mm x 10mm |
メッシュサイズ: |
0.1 mm |
出力結果: |
- [0、6] mmのディスク上の音圧の時間履歴 - 最大Y変位データ配列 |
注: Y軸周りに軸対称な2次元形状として作成しますが、OnScale内部では3次元モデルへ変換(Y軸周りに回転)されています。したがって、解析結果は半円柱として表示されます。
解析で使用する材料物性を示します。
表2: 材料物性値
項目 | 材料物性値 | |
材料名 | Water at 25C | CTS 3203HD |
OnScaleデータベース内の名前 | watr | pmt3 |
密度 | 1000 kg.m-3 | 7820 kg.m-3 |
バルク速度 | 1496 ms-1 | 4708.36 ms-1 |
せん断速度 | 0 ms-1 | 1687.891 ms-1 |
注: OnScaleの材料物性データベースでは、弾性率とポアソン比の代わりにバルク速度とせん断速度を値を使って定義しています。 両者の関係性について詳細を知りたい方は、ここのページをご参照下さい。
解析のワークフロー
本セッションでは、各ステップ毎にワークフローを説明します。
Step1 - 新規プロジェクトの作成
- New Projectをクリックします。
- プロジェクトの名前を入力します。
- 距離の単位系をmmに変更します。
- Model Typeを 2D Axi-Symmetryc Modelを選択します。また、Axi Y(中心軸であるY軸)を選択します。
- ファイルを保存しておく作業フォルダを選択します。
- 最後にOKをクリックしパネルを閉じます
注: Axi Y(対称軸)の選択を忘れないようにしてください。
Step2 - 材料物性の選択
OnScaleに搭載されている材料物性データベースから、pm3とwaterを選択します。
- Project Materialsをクリックし、材料物性データベースを展開します。
- 左のGlobal DatabaseにあるFluidを展開し、Water at 25Cをダブルクリックします。展開はFluidの左隣にある>をクリックするとできます。
- 2と同様に、Piezoelectricを展開しCTS3203HD(pmt3)をダブルクリックします。
- 右のProject Materialsにあるpmt3を展開し、polingをY+へ変更します。
- Doneをクリックしてパネルを閉じます。
注: Polingの選択を間違えると、想定とは異なる結果になります。必ずY+になっていることをご確認下さい。
Step3 - 形状の作成
Designerにはプリミティブ形状を作成する機能があります。この機能を使用して水槽、及びPZTディスクの2次元モデル形状を作成します。
水槽は2つの点[始点(X = 0、Y = 0)、終点(X = 14、Y = 10)]で定義される四角形、PZTディスクは2つの点[始点(X = 0、Y = 4)、終点(X = 10、Y = 6)]の小さい四角形として作成します。
注: OnScaleでは、形状は特定の順序で作成する必要があります。作成後の形状は作成前の形状の上に表示されます。CADのように形状同士のブーリアン演算(和・差・積)を行う必要はないため、簡単に形状作成が可能です。作成した形状の順序を変更したい場合は、PropertiesにあるPrecedenceで変更します。
まず初めに水槽形状を作成します。
- 2D PrimitivesのRectangleをクリックします。クリック後、Primitivesのツリーの下にprimitive_1が作成されますので、primitive_1をクリックします。
- GUIの左下にprimitive_1の設定項目が表示されます。PropertiesにあるMaterialをwatrへ変更します。
- End(mm)を展開し、X(mm) に14を入力します。
- End(mm)のY(mm)に10を入力します。
次に、PZTディスク形状を作成します。作成した水槽をコピー、修正する方法でPZTディスク形状を作成します。
- primitive_1上で右クリックをし、Duplicate Selectionをクリックします。primitive_2が新規に作成されます。
- primitive_2をクリックします。
- PropertiesにあるMaterialをpmt3へ変更します。
- Begin(mm)を展開し、Y(mm) に4を入力します。
- End(mm)を展開し、X(mm)とY(mm)をそれぞれ10と6を入力します。
X座標とY座標を変更した後、作業スペース(GUIの右側、モデルが表示されている部分)を右クリックすると、Reset Viewのタブがあらわれます。Reset Viewをクリックすると、表示されているモデルが更新されます。
Step4 - PZTディスクに入力する(電圧の)波形の指定
電圧の指定ではありません。波形だけの指定になります。波形は時間の関数として指定しますが、ここではRicker Wavelet関数を使用します。
- Forcing Functionsのタブを展開します。Timeの横にある+をクリックすると、Define Input Time functionが開きます。
- プルダウンメニューからRicker Waveletを選択します。
- Insertをクリックしてパネルを閉じます。Timeの下に、timefunc_1のツリーが新規作成されます。
Step5 - メッシュサイズの指定
波長あたり15要素で分割するようにメッシュサイズを指定します。
- Model、及びMeshを展開します。Meshツリーの下にあるConfigurationを選択します。
- PropertiesにあるDefinitionsでWavelength Basedを選択します。
- Element per Wavelengthに15を入力します。
Step6 - 電極の指定
このステップでは、PZTディスクの下部と上部に電極を作成します。以下で作成するload_1は上部の電極になります。上部の電極にForcing Functionsで指定したtimefunc_1の(電圧)波形が指定されます。 load_2は下部の電極で、Groundとして設定されます。
上部の電源(load_1)を設定します。
- Boundary Conditionsを展開します、Boundary Conditionsの下にLoadsがありますので、Loadの隣にある+をクリックします。クリックすると、Load Definitionが開きます。
- Creation ModeのプルダウンメニューでGeometry Interfaceを選択します。
- Geometryのプルダウンメニューでprimitive_2(pmt3)を選択します。
- Interfacing Itemのプルダウンメニューでprimitive_1(watr)を選択します。
- Create Loadをクリックしてパネルを閉じます。
下部の電源(load_2)を設定します。
- Load_1と同様に、Loadの隣にある+をクリックします。クリックすると、Load Definitionが開きます。
- Geometryのプルダウンメニューでprimitive_2(pmt3)を選択します。
- Interfacing Itemのプルダウンメニューでprimitive_1(watr)を選択します。
- Create Loadをクリックしてパネルを閉じます。
作成した上部の電極( load_1)と下部の電極(load_2)の設定を行います。
- load_1を選択します。
- GUIの右下で、PeropertiesにあるInterface Definitionを展開します。
- Minimum(mm)を展開します。
- Y(mm)に6を入力します。
- PZTディスクの上部に、設定したload_1が表示されます。
- load_2を選択します。
- GUIの右下で、PeropertiesにあるInterface Definitionを展開します。
- Maximum (mm)を展開します。
- Y(mm)に4を入力します。
- PZTディスクの下部に、設定したload_2が表示されます。
作成した2つの電極に対して、上部を駆動、下部を接地するように設定します。
- load_1をクリックします。
- PropertiesにあるLoad Typeで、プルダウンメニューでVoltageを選択します。
- Area Scalingに2を入力します。
- Terminationでtimefunc_1を選択します。
- Amplitude Scale Factorに1を入力します。
- Interface DefinitionのMinimum(mm)を展開し、Y(mm)に6を入力します。
注:2次元モデルは半分モデルであることを考慮するために、Area Scapling Factorは重要なファクターになります。面積が半分であることを考慮するためScalingを2とします。
- load_2をクリックします。
- PropertiesにあるLoad Typeで、プルダウンメニューでVoltageを選択します。
- Area Scalingをに2を入力します。
- TerminationでGroundを選択します。
- Interface DefinitionのMaximum(mm)を展開し、Y(mm)に4を入力します。
Step7 - 境界条件の設定
中心軸回りに回転対称ですので、対称境界を設定する必要があります。
- Constraintsを展開し、 Domain Boundaries をクリックします。
- PropertiesのX Minimumを展開します。Boundray TypeをSymmetryへ変更します。
- 他の部分(X Maximum, Y Minimum, X Maximum)のBoundary TypeをAbsorbingに変更します。
注: 各境界条件の詳細については、ここのページをご参照下さい。
Step8 - 解析計算時間の指定
解析計算は、実時間で5E-5[sec]まで計算を行います。
- Analysisをクリックします。
- Propertiesを展開し、Simulation Run Timeに5e-5を入力します。
Step9 - 計算結果出力の設定
2つの出力を設定します。
- ピエゾディスク上の音圧の時間履歴
- Y方向の最大変位
X = 0, Y = 6における音圧の時間履歴グラフ
- Outputsの横にある+をクリックします。
- Propertiesを展開し、Output TypeをTime Historyに変更します。
- Array TypeをAcoustic Pressureへ変更します。
- Location(mm)を展開し、Yに6を入力します。
Y方向の最大変位
- Outputsの横にある+をクリックします。
- Propertiesを展開し、Output TypeをField Dataに変更します。
- Array TypeをDisplacement、Array ComponentをYへ変更します。
- Field TypeをMaximumへ変更します。
Step10 - クラウド上で解析実行
モデルの設定が完了しましたので、クラウド上で解析を実行します。
- Run on Cloudをクリックします。
- Estimateをクリックして計算で消費するコア時間(概算)を算出します。
- Runをクリックします。
解析結果ファイルをローカルマシンへダウンロードする方法
計算終了後、解析結果ファイルをローカルマシンへダウンロードする必要があります。ダウンロードは結果処理を行うために必要です
- Storageをクリックします。
- Jobのプルダウンメニューからジョブ名を選択します。
- Downloadをクリックします。
- メニューが開きます。Download Allを選択します。
Step11 - 結果処理
結果処理はPost-processorで行います。
DesignerからPost-processorへGUIをスイッチ
アイコンをクリックして、Post-processorのGUIへスイッチします。
解析結果のロード
- File Explorerタブをクリックします。
- ダウンロードした解析結果フォルダを展開します。
- .flxdatoと.flxhstをダブルクリックします。
- Results Managerタブをクリックします。
解析結果: Y方向の最大変位(コンター図)
- Data out → PZTDisk → Time-30112 → ydmx、ydmxをダブルクリックします。
解析結果:X = 0, Y = 6における音圧の時間履歴(グラフ)
- Reset Viewportをクリックして、作業スペースを一旦リセットします。
- piez load1:Chargeをダブルクリックして、piezoelectric chargeの時間履歴をプロットします。
- Plot TitleをCharge Top Electrodへ変更して、グラフのタイトルを変更します。
- Y-Axis LabelをPiezoelectric Chargeへ変更して、Y軸のラベルを変更します。
グラフ上で右クリックをしながら四角を作ると、四角で囲まれた部分が拡大されます。
これは、電極内で電荷がどのように失われるかを示す時間履歴です。
解析結果: FFTによる周波数の時間履歴(グラフ)
この時間履歴にFFTを実行して、時間履歴が周波数領域でどのように見えるかを確認してみます。
- Reset Viewportをクリックして、上下の2段表示にします。
- 新しいウィンドウを選択するためにクリックします。
- Result Managerにあるpize load:Charge T2_4を一回だけクリックします。
- メニューでFFTが有効になりますので、クリックします。
- Result Managerに新しくFrequency Historyが作成されます。
- load1:Charge.maをダブルクリックします。
音圧の時間履歴と同時に、周波数領域のグラフも確認することができます。
まとめ
このチュートリアルでは、2次元軸対称モデルとして、PZTディスクに対して超音波解析を行いました。チュートリアルの内容や、モデルファイル等が必要でしたら弊社サポートまでお問合せ下さい。
Appendix - 受信感度の確認
更に受信感度を確認する方法について示します。受信感度は、外挿する形で結果出力します。
Step1 - 計算結果出力の追加
- Outputsの横にある+をクリックします。
- Propertiesを展開し、Output TypeをExtrapolation Dataに変更します。
- Cutting PlaneをYに変更します。
- Cutting Point(mm)に6.3を入力します。
Step2 - 再計算
再計算と、その計算結果をダウンロードしてください。ダウンロードしたファイルに、PZTDisc.flxextが含まれていることを確認してください。
Step3 - Extrapolation ToolでTVRを可視化
送信電圧応答(TVR)である送信感度を、Post-processorの機能であるextrpolation toolで視覚化します。
アイコンをクリックして、Post-processorのGUIへスイッチします。
TVRを可視化します。
- Toolタブにある、Extrapolation Toolkitをクリックします。
- Model Importを展開します。
- Openをクリックし、PZT_Disc.flxextを選択します。
- OnScale Extrapolation Toolkitのパネルがあらわれますので、Yesをクリックします。
- TVR Calculationを展開します。
- Startをクリックします。
Step4 - Reviewを使った可視化
送信感度(TVR)と受信感度(OVC)の両方を視覚化するには、Reviewを使用する必要があります。Reviewについては、ここのページをご参照下さい。
上記のDownloadから、tvr_ovc.revinpをダウンロードしてください。Step2でダウンロードした計算結果ファイルと同じディレクトリに入れます。スクリプトの各セクションについて簡単に説明します。
入力の設定
11行: 参照距離(m)の設定
12&13行: 周波数帯の設定
16行: 履歴ファイル(PZT_Disc.flxhst)の読み込み
18行: 標準グラフィックを使用してください。
外挿データの計算
27行: Extrapolation ファイルであるPZT_Disc.flxextの読み込み
29行: 外挿による圧力場のモニター点を、座標X Y Z(0,1,0)mと指定
30行: 外挿を実行
周波数へ変換
40行: コマンドで計算された周波数データを含む新しいローカルファイルを作成、そのファイル名をf3と指定。
41行: パディング係数は5を使用
42行: 'f2'(外挿圧力)の最初の時間履歴のFFTで計算
43行: 'f1'(入力電圧)の3番目の時間レコードのFFTを計算
44行: 電圧と電荷のデータを使用してインピーダンスを計算
TVRの計算
55行: コマンドで計算された周波数領域データを含む新しいローカルファイルを作成、ファイル名をf4と指定
56行: 圧力応答の正規化(外挿圧力/入力電圧)
57行: TVRへ変換
58行: TCRへ変換
59行: OCVへ変換
70~111行: インピーダンス, TVRとOCVをプロット
116~119行: 以上の結果をテキストファイルへ出力