SlideShare a Scribd company logo
1 of 36
ADVENTURE_Magnetic
Ver.1.5.0の概要
杉本振一郎
(諏訪東京理科大学)
第9回ADVENTURE定期セミナー
2014.11.13
ADVENTURE_Magnetic
磁場解析のための有限要素解析ソルバ
階層型領域分割法による並列処理
C言語,MPI,OpenMP
電磁場解析における分類例
定常問題
静磁場問題
静電場問題
準定常問題
時間調和渦電流問題
高周波電磁波解析
非定常問題
非定常渦電流問題
磁場解析機能
非線形静磁場問題
定常問題
材料特性(透磁率)の非線形性
時間調和渦電流問題
準定常問題
交流電流の解析に特化した手法
非定常渦電流問題
非定常問題
電磁力の導出
非線形静磁場問題
静磁場問題A法
Newton法,Picardの逐次近似法
透磁率の非線形性を初期磁化曲線により考
慮 =
:磁束密度[T], :磁場[A/m], :透磁率[H/m]
( :磁気抵抗率[m/H]は透磁率の逆数)
20億自由度の解析実績(Ver.1.6.0)
時間調和渦電流問題
電磁場問題の中でも,商用電源などの比
較的周波数が低い交流電流を扱うことに
特化した問題
時間微分項 ⁄ を− で表し,準定常問
題として扱う
一般に実部が正弦波の腹,虚部が節となる
:虚数単位, :角周波数
複素対称行列となるためCOCG法
(Conjugate Orthogonal Conjugate Gradient
method)などで求解する
時間調和渦電流問題
2種類の定式化
時間調和渦電流問題A-f法
時間調和渦電流問題A法
35億複素自由度の解析実績(Ver.1.6.0)
非定常渦電流問題(Ver.1.5.0より)
2種類の定式化
非定常渦電流問題A-f法
非定常渦電流問題A法
形状定義ファイルの拡張による簡便な時
間変化の定義
TimeEvolutionキーの導入
時間区分ごとに正弦波と直線またはそれらの
重ね合わせ
電流密度時間変化計算ツール
(Ver.1.5.0より)
形状定義ファイルを正しく書けているかを
確認するためのツール
指定された座標での強制電流密度の時間
変化を出力
% advmag_graphCurrentDensity input x
y z output [options]
出力されたファイルはgnuplotでグラフに
表計算ソフト(LibreOffice CalcやMicrosoft
Excelなど)に取り込むことでもグラフにできる
正弦波の重ね合わせ
あらゆる波はフーリエ級数(正
弦波の集まり)で表現できるた
め,様々な波を入力できる
正弦波と直線の重ね合わせ
その他の例
NS-Eddy
DoubleSectorialCylinder
0.0 0.0 -0.05
z 0.2
deg -10.0 40.0
0.14 0.18
50.0
TimeEvolution 0.5
TimeEvolutionLinear
0.0 1.0
0.0
TimeEvolution 1.5
TimeEvolutionLinear
1.0 -1.0
0.0
TimeEvolution 2.5
TimeEvolutionLinear
-1.0 1.0
0.0
TimeEvolution 3.5
TimeEvolutionLinear
1.0 -1.0
0.0
TimeEvolution 4.5
TimeEvolutionLinear
-1.0 1.0
0.0
TimeEvolution 5.5
TimeEvolutionLinear
1.0 -1.0
0.0
NS-Eddy
DoubleSectorialCylinder
0.0 0.0 -0.05
z 0.2
deg -10.0 40.0
0.14 0.18
50.0
TimeEvolution 1.0
TimeEvolutionLinear
0.0 0.0
1.0
TimeEvolution 2.0
TimeEvolutionLinear
0.0 0.0
-1.0
TimeEvolution 3.0
TimeEvolutionLinear
0.0 0.0
1.0
TimeEvolution 4.0
TimeEvolutionLinear
0.0 0.0
-1.0
TimeEvolution 5.0
TimeEvolutionLinear
0.0 0.0
1.0
TimeEvolution 6.0
TimeEvolutionLinear
0.0 0.0
-1.0
電磁力の導出
節点力法
Maxwellの応力法のように,積分路の取り方
に注意を払う必要がない
磁性体中の電磁力の分布を求めることが可
能
xBTf dihhi grad),(節点力 :
:節点番号
:応力テンソル
:4面体1次要素の基底関数
i
T
i
応力テンソル
応力テンソルTは次式で表される.磁気抵
抗率n及び磁束密度 B は非線形静磁場解
析により導出された値を用いる
222
222
222
22
22
22
2
),(
yxzyzxz
zyxzyxy
zxyxzyx
BBBBBBB
BBBBBBB
BBBBBBB
BT
階層型領域分割法による並列処理
階層型領域分割法
5種類の並列処理
シングル版
共有メモリ並列版
静的負荷分散版
MPI並列版
ハイブリッド並列版
動的負荷分散版
階層型領域分割法
(HDDM: Hierarchical Domain Decomposition Method)
並列CG法などの並列反復法と異なり,自
由度を領域間境界上に静的縮約した方程
式を解く手法
通信量が少なく高い並列効率を得やすい
ADVENTUREプロジェクトでの実績
1,000億自由度の構造解析
35億自由度の磁場解析
数億自由度の熱伝導解析 など
ii
N
i
i
ofboundaryinterface:,
1
階層型領域分割法
(HDDM: Hierarchical Domain Decomposition Method)
= .
0 ⋯ 0
0 ⋱ ⋮ ⋮
⋮ ⋱ ⋮ ⋮
0 ⋯ ⋯
⋯ ⋯ ∑
⋮
⋮ =
⋮
⋮
∑
.
= .
自由度の静的縮約
0 ⋯ 0
0 ⋱ ⋮ ⋮
⋮ ⋱ ⋮ ⋮
0 ⋯ ⋯
⋯ ⋯ ∑
⋮
⋮ =
⋮
⋮
∑
.
= .
= − = 1, … ,
∑ + ∑ ∙ = ∑ .
∑ − ∙ = ∑ − .
= ∑ : シュアコンプリメント行列
= − .
= ∑ − .
階層型領域分割法
(HDDM: Hierarchical Domain Decomposition Method)
Choose ;
= = − ; ⋯ ⋯ ⋯(a)
for = 0, 1, … … ;
= ; ⋯ ⋯ ⋯(b)
= ⁄ ;
= − ;
= − ;
If < , break;
= ⁄ ;
= + ;
end;
シュアコンプリメント行列の
ベクトル積演算
= ∙
= ∑ ∙
= ∑
= ∑
=
=
= − ∙
= −
=
= :それぞれの要素で有限要素法による求解
5種類の並列処理
シングル版
すべての処理を逐次処理
コンパイルにMPI,OpenMPが不要
共有メモリ並列版
OpenMPによる共有メモリ並列
OpenMPに対応したコンパイラが必要
部分領域の有限要素計算をスレッドに割り当
てる
たくさんの共有メモリを積んだワークステー
ション
5種類の並列処理
静的負荷分散版
MPIによる並列
プロセスごとに1パート割り当て
2種類の実装
MPI並列版:MPIのみ
ハイブリッド並列版:MPIとOpenMP
part 0 part 1
Node 0
qn’
OpenMP
core 3
core 0
core 1
core 2
Node 1
qn’
OpenMP
core 3
core 0
core 1
core 2
qn
MPI
5種類の並列処理
動的負荷分散版
MPIによる並列
プロセスを親と子の
2グループに分け,
親は負荷のコント
ロール,子はメイン
の計算を担う
性能の異なるコン
ピュータで構成され
る並列環境向け
Child
Disk
Part_1
Part_n
Part_2
Parent 1
Parent
数値解析例
A transformer (Moriyasu, S., 2000)
今後の開発予定(Ver.1.6.0以降)
非定常渦電流解析機能
非線形性(透磁率)
要素ごとの導電率を読み込む機能
収束性向上
方程式の見直しによる改良
高速化
各種の環境でのチューニング等
非線形非定常渦電流解析
透磁率の非線形性を初期磁化曲線により
考慮 =
:磁束密度[T], :磁場[A/m], :透磁率[H/m]
( :磁気抵抗率[m/H]は透磁率の逆数)
非線形性を陽的に考慮
+ 1ステップの求解に ス
テップの磁場から求めた透
磁率を使用
要素ごとの導電率
非定常渦電流解析機能
温度依存などによる導電率の時間変化に
対応
磁場-熱伝導双方向連成など
物理量の領域分割ツール
領域分割されていないデータをメッシュの領域
分割情報をもとに分割
収束性向上
方程式の見直しによる改良
静磁場,時間調和・非定常渦電流問題では不
定性を持つ方程式が一般に用いられる
反復法の収束が悪いために通常の有限要素
法では使用されていない不定性のない方程式
を採用
数十億自由度以上の解析が可能
時間調和渦電流問題A法
従来の定式化
不定性があるが,反復法の収束性が良い
混合法的定式化
不定性はないが,反復法の収束性が悪い
rot , rot ∗
− , ∗
= , ∗
rot , rot ∗
− , ∗
+ grad , ∗
= , ∗
, grad ∗
= 0
:磁気ベクトルポテンシャル [Wb/m], :磁気抵抗率 [m/H],
:角周波数 [rad/s], :導電率 [S/m], :強制電流密度 [A/m2],
:Lagrange乗数
HDDM
従来手法
有限要素方程式
部分領域解法:ICCOCG法
新手法
有限要素方程式
部分領域解法:ピボッティング付きLU分解
rot , rot ∗
− , ∗
= , ∗
rot , rot ∗
− , ∗
+ grad , ∗
= , ∗
, grad ∗
= 0
Simple model
rad/s602:frequencyAngular
S/m107.7:)(conductortyConductivi
m/H1041:yreluctivitMagnetic
A/m0.50:sitycurrentdenExcitation
6
7
2
J
Magnetic field (real part)
Mesh
Elements: 4,310,648
Nodes: 5,817,074
DOF: 5,450,598
解析条件
PCクラスタ
Intel Core i7-2600 (3.40GHz / 64bit / 4 cores)×20
領域分割
80×540領域
解析条件
フラットMPI
インターフェース問題:DDM-COCG (1.0e-10)
部分領域解法
従来手法:ICCOCG (1.2,1.0e-9)
提案手法:直接法(LU with pivoting)
解析条件
Oakleaf-fx (東京大学情報基盤センター)
Fujitsu PRIMEHPC FX10×720ノード
メッシュ(35億自由度)
5千万自由度のメッシュをAdvMetis2で2回Refine
要素数2,772,796,480,節点数3,704,465,745
11,520×2,432領域
解析条件
フラットMPI
インターフェース問題:DDM-COCG (1.0e-03)
部分領域解法:直接法(LU with pivoting)
Solver in
subdomain
DOF
DOF on
interface
Iterations Time [s]
Memory
per core
[MB]
new LU 3,469,227,540 1,466,792,522 18,451 31,885 1,306
今後の開発予定(Ver.1.6.0以降)
非定常渦電流解析機能
非線形性(透磁率)
要素ごとの導電率を読み込む機能
収束性向上
方程式の見直しによる改良
高速化
各種の環境でのチューニング等
Ver.1.6.0は2014年度中に公開予定

More Related Content

More from ADVENTURE Project

LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要ADVENTURE Project
 
LexADV_TryDDM Ver. 0.1bの概要
LexADV_TryDDM Ver. 0.1bの概要LexADV_TryDDM Ver. 0.1bの概要
LexADV_TryDDM Ver. 0.1bの概要ADVENTURE Project
 
ADVENTURE_Mates Ver. 0.5bの概要
ADVENTURE_Mates Ver. 0.5bの概要ADVENTURE_Mates Ver. 0.5bの概要
ADVENTURE_Mates Ver. 0.5bの概要ADVENTURE Project
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
ADVENTURE_Mates Ver.0.5b データ生成
ADVENTURE_Mates Ver.0.5b データ生成ADVENTURE_Mates Ver.0.5b データ生成
ADVENTURE_Mates Ver.0.5b データ生成ADVENTURE Project
 
ADVENTURE_MATES専用ビューア AdvMatesViewerについて
ADVENTURE_MATES専用ビューア AdvMatesViewerについてADVENTURE_MATES専用ビューア AdvMatesViewerについて
ADVENTURE_MATES専用ビューア AdvMatesViewerについてADVENTURE Project
 
ADVENTURE_sFlowの最新動向
ADVENTURE_sFlowの最新動向ADVENTURE_sFlowの最新動向
ADVENTURE_sFlowの最新動向ADVENTURE Project
 
ADVENTURE_Solid Ver.2.0の概要
ADVENTURE_Solid Ver.2.0の概要ADVENTURE_Solid Ver.2.0の概要
ADVENTURE_Solid Ver.2.0の概要ADVENTURE Project
 
ADVENTURE_BCtool Ver.2.の概要と実際[デモ]
ADVENTURE_BCtool Ver.2.の概要と実際[デモ]ADVENTURE_BCtool Ver.2.の概要と実際[デモ]
ADVENTURE_BCtool Ver.2.の概要と実際[デモ]ADVENTURE Project
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
大規模並列解析用可視化モジュール ADVENTURE_POSTtool
大規模並列解析用可視化モジュール ADVENTURE_POSTtool大規模並列解析用可視化モジュール ADVENTURE_POSTtool
大規模並列解析用可視化モジュール ADVENTURE_POSTtoolADVENTURE Project
 
Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介ADVENTURE Project
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
ADVENTURE AutoGL 「おてがる」
ADVENTURE AutoGL 「おてがる」ADVENTURE AutoGL 「おてがる」
ADVENTURE AutoGL 「おてがる」ADVENTURE Project
 
ADVENTURE_Solid-1.2 構造体リファレンスマニュアル
ADVENTURE_Solid-1.2 構造体リファレンスマニュアルADVENTURE_Solid-1.2 構造体リファレンスマニュアル
ADVENTURE_Solid-1.2 構造体リファレンスマニュアルADVENTURE Project
 
ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアル
ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアルADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアル
ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアルADVENTURE Project
 
ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要ADVENTURE Project
 
原子力発電プラントの地震耐力予測シミュレーション
原子力発電プラントの地震耐力予測シミュレーション原子力発電プラントの地震耐力予測シミュレーション
原子力発電プラントの地震耐力予測シミュレーションADVENTURE Project
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 

More from ADVENTURE Project (20)

LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要LexADV_WOVis Ver.0.1bの概要
LexADV_WOVis Ver.0.1bの概要
 
LexADV_TryDDM Ver. 0.1bの概要
LexADV_TryDDM Ver. 0.1bの概要LexADV_TryDDM Ver. 0.1bの概要
LexADV_TryDDM Ver. 0.1bの概要
 
ADVENTURE_Mates Ver. 0.5bの概要
ADVENTURE_Mates Ver. 0.5bの概要ADVENTURE_Mates Ver. 0.5bの概要
ADVENTURE_Mates Ver. 0.5bの概要
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
ADVENTURE_Mates Ver.0.5b データ生成
ADVENTURE_Mates Ver.0.5b データ生成ADVENTURE_Mates Ver.0.5b データ生成
ADVENTURE_Mates Ver.0.5b データ生成
 
ADVENTURE_MATES専用ビューア AdvMatesViewerについて
ADVENTURE_MATES専用ビューア AdvMatesViewerについてADVENTURE_MATES専用ビューア AdvMatesViewerについて
ADVENTURE_MATES専用ビューア AdvMatesViewerについて
 
ADVENTURE_sFlowの最新動向
ADVENTURE_sFlowの最新動向ADVENTURE_sFlowの最新動向
ADVENTURE_sFlowの最新動向
 
ADVENTURE_Solid Ver.2.0の概要
ADVENTURE_Solid Ver.2.0の概要ADVENTURE_Solid Ver.2.0の概要
ADVENTURE_Solid Ver.2.0の概要
 
ADVENTURE_BCtool Ver.2.の概要と実際[デモ]
ADVENTURE_BCtool Ver.2.の概要と実際[デモ]ADVENTURE_BCtool Ver.2.の概要と実際[デモ]
ADVENTURE_BCtool Ver.2.の概要と実際[デモ]
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
大規模並列解析用可視化モジュール ADVENTURE_POSTtool
大規模並列解析用可視化モジュール ADVENTURE_POSTtool大規模並列解析用可視化モジュール ADVENTURE_POSTtool
大規模並列解析用可視化モジュール ADVENTURE_POSTtool
 
Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
ADVENTURE AutoGL 「おてがる」
ADVENTURE AutoGL 「おてがる」ADVENTURE AutoGL 「おてがる」
ADVENTURE AutoGL 「おてがる」
 
ADVENTURE_Solid-1.2 構造体リファレンスマニュアル
ADVENTURE_Solid-1.2 構造体リファレンスマニュアルADVENTURE_Solid-1.2 構造体リファレンスマニュアル
ADVENTURE_Solid-1.2 構造体リファレンスマニュアル
 
ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアル
ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアルADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアル
ADVENTURE_Solid 線形代数関数群 advlasリファレンスマニュアル
 
ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要
 
DecisionMaker
DecisionMakerDecisionMaker
DecisionMaker
 
原子力発電プラントの地震耐力予測シミュレーション
原子力発電プラントの地震耐力予測シミュレーション原子力発電プラントの地震耐力予測シミュレーション
原子力発電プラントの地震耐力予測シミュレーション
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 

ADVENTURE_Magnetic Ver.1.5.0の概要