ELECTROMOTIVEはAbaqusで出力した節点の変位データのRPTファイルをもとに誘導起電力をシミュレーションするシステムです.ソルバは磁気単極子を仮定し,円筒形棒磁石の磁極表面と磁子からなる鎖交磁場の磁束密度を求めることで,ファラデーの電磁誘導の法則より誘導起電力をシミュレーションします.RPTファイルは時刻歴データであるため,振動体によって時々刻々と変化する鎖交磁場をシミュレーションし,誘導起電力を音声ファイルとして出力できます.
設定ファイルはJSON形式で記述します.マークアップの仕方には一定のルールがあります.サンプルを以下に示します.
{
"config": {
"solver": "cone",
"csv": "./data/output/dump.csv",
"sampling rate": 20000
},
"tine": {
"type": "element",
"input": "./data/tine.inp",
"report": "./data/tine.rpt",
"magnetic permeability": 1.0
},
"tonebar": {
"type": "element",
"input": "./data/tonebar.inp",
"report": "./data/tonebar.rpt",
"magnetic permeability": 1.0
},
"magnet": {
"type": "magnet",
"input": "./data/magnet.inp",
"report": "./data/magnet.rpt",
"top": {
"center": 2,
"right": 3
},
"bottom": {
"center": 6,
"right": 7
},
"magnetic charge": 1,
"wav": "./data/vibration.wav"
}
}
configセクションでは,出力や入力の設定を記述するためのセクションです.3つの設定ができます.
設定 | 説明 | 要否 |
---|---|---|
solver | 解析ソルバを選択します.解析ソルバにはいくつか種類が用意されています. | 必須 |
csv | CSVファイルの出力パスを指定します. | 任意 |
sampling rate | RPTファイルのサンプリング周波数を指定します.RPTファイルはすべてこのサンプリング周波数に従っていなければなりません. | 必須 |
解析ソルバには何種類か用意があります.
最も推奨するソルバです.円筒形棒磁石の磁極表面と磁子からなる領域が直円錐であると仮定し,鎖交磁場の磁束密度が直円錐の体積に近似することを利用します.
近似計算をせずに,円筒形棒磁石の磁極表面の領域について重積分で磁束密度を計算します.最も計算に時間がかかりますが,厳密解を求めることができます.
磁気単極子の基礎方程式を厳密に解釈して計算します.coneソルバと計算の仮定は変わりありません.
矩形棒磁石について計算するソルバです.計算が正しいのか不明であるため非推奨です.
振動体セクションでは,振動体の設定について記述するセクションです.振動体セクションのキーには任意の名前が使用できます.振動体はtypeキーワードに指定した内容で解釈されて実行されます.
すべて必須です.
キーワード | 説明 |
---|---|
input | AbaqusのINPファイルのパスを指定します.ただし,INPファイルについては一定の加工が必要です. |
report | Abaqusで出力したRPTファイルのパスを指定します.必ず単一のパートで出力してください. |
typeキーワードにelementを指定すると,振動体として解釈されて実行されます.element型で使用できるキーワードとしてmagnetic permeability
がありますが,これは振動体の磁気定数です.一般的にこの磁気定数は不明であるため,1.0を推奨します.
typeキーワードにmagnetを指定すると,磁石として解釈されて実行されます.
magnetic charge
は磁石の磁場強度です.単位はAbaqusの単位系によりますがテスラになっています.必須です.
top
とbottom
キーワードは必須です.このキーワードは磁石の上面と下面の節点番号を指定することになっています.さらに,center
キーワードは磁極中心,right
は磁極右手方向の節点番号を指定します.
wav
キーワードは必須で,WAVファイルを出力するパスを指定します.
INPファイルはAbaqusでジョブを実行する際に利用する入力ファイルです.解析に必要な様々な情報が記載されています.このINPファイルのうち必要な情報だけ抜き出して利用します.抜き出し方を説明します.
INPファイルはジョブの入力データを書き出すことで作成されます.書き出されたINPファイルのうち,NodeセクションとElementセクションに記述されている内容だけを抽出します.
*Node
1, 0., -2.94000006, 12.5
2, 0., 0., 12.5
3, -2.94000006, 0., 12.5
4, 0., -2.94000006, 0.
5, -2.94000006, 0., 0.
~中略~
*Element, type=C3D10
1, 17, 12, 13, 51, 64, 63, 62, 66, 65, 67
2, 12, 52, 17, 16, 69, 68, 64, 71, 70, 72
3, 15, 11, 4, 18, 75, 74, 73, 77, 76, 78
4, 51, 52, 17, 12, 79, 68, 66, 65, 69, 64
5, 52, 18, 51, 17, 81, 80, 79, 68, 82, 66
NodeとElementはパートごとに作成されます.INPファイルをパートごとに分けて作成します.仮に上記のファイルをmagnet.inp
として保存します.
もし,アセンブリでインスタンスを移動していたら,移動している量を以下のように記述します.
*Translate
6., -29.94, -135.25
現在は対応していませんが,TranslateセクションのあとにRotateセクションも記述できます.TranslateセクションのあとにRotateセクションを記述するように,順番は遵守してください.
RPTファイルはAbaqusの解析結果を記述したテキストデータです.Abaqusでの出力方法を説明します.
RPTファイルの出力は,結果表示モジュールでメニューバーの「レポート-XY」を選択し,XYデータのレポートウィンドウを開きます.XYデータのレポートウィンドウでは,選択したXYデータの時刻歴をRPTファイルで出力する機能があります.