SlideShare a Scribd company logo
1 of 70
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
ADVENTURE_Solid
の概要
九州大学
塩谷隆二
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
History of Adventure_Thermal
1996 Massively Parallel Computing for Large Scale Finite Elements R.Shioya
1997-2002 Adventure Project
2000.12.01 AdvSolid-0.8b
2001.03 バランシング領域分割法による並列有限要素解析 荻野正雄
2001.11.14 AdvThermal-0.2b
2002.03.01 AdvThermal-0.3b, AdvSolid-1.0(BDD)
2003.09.16 AdvSolid-1.1
2004.01 領域分割型有限要素法による超並列計算 荻野正雄
2005.07.11 AdvThermal-1.0(BDD)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Functions of ADVENTURE_Solid
[ 機能 ]
静弾性 / 静弾塑性 / 大変形応力解析
対角スケーリングないし BBD 前処理付き階層型領域分割法版
及び 対角スケーリング付き並列 CG 版
[ 開発・実行環境 ]
OS : Unix, Linux
コンパイラ : C
通信ライブラリ : MPI
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Open Source Software
・ Wall for Free Software
– add Function
|
– Original Data –
| (AdvI/O, Adv_Metis)
|
|
|
|
– Install – Sample Data –
|   (adv on windows, adv.rpm, mail support)
Download –
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )ADVENTURE_Solid
 Steady / Non-steady Heat Conductive Analysis with HDDM
Version 1.1
プログラム使用マニュアル
1 概要
• 線形方程式ソルバとして HDDM 、並列 CG 法および BDD (Balancing Domain
Decomposition) 前処理つき HDDM [5, 6, 7] の 3 種類が使用可能である。
•HDDM ソルバによる並列実行では、動的な負荷分散が可能である。
• 解析種類は弾性 / 弾塑性 / 幾何学的非線形応力解析。
• 弾塑性 / 幾何学的非線形解析は荷重 / 変位制御による増分法。
• 非線形解析には、後退型 Euler 法による応力積分とコンシステント接線剛性を使用
。
•4 面体、 6 面体のそれぞれ 1 次、 2 次ソリッド要素に対応。
• 対応プラットフォームは Unix, Linux 。
• 並列処理ライブラリには MPI [8] を使用し、 MPP やネットワークにより接続され
た
PC またはワークステーションといった多様な並列環境に対応する。
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
(1) メッシュデータの作成 (ADVENTURE TetMesh)
ADVENTURE TetMesh を用い、解析対象に対してメッシュ分割を行う。他のメッ
シュ分割プログラムや、手動で作成したメッシュも、フォーマットを変換すること
で取り込むことが可能。
(2) 境界条件の設定 (ADVENTURE BCtool)
ADVENTURE BCtool を用い、解析対象のメッシュに対して境界条件を付加する。
物性値の設定もここで行う。
(3) 領域分割 (ADVENTURE Metis)
ADVENTURE Metis を用い、一体型の解析モデルより階層型に領域分割された解
析モデルを作成する。並列処理が可能である。
(4) FEM 解析 (ADVENTURE Solid)
領域分割された解析モデルを入力として、 ADVENTURE Solid により有限要素法
解析を行う。並列処理が可能である。
(5) ポストシステム (ADVENTURE Visual)
ADVENTURE Visual を用いて解析結果を可視化する。並列処理が可能である。
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
2 線形方程式ソルバと並列方法
2.1 線形方程式ソルバ
•CG ソルバ
部分領域内部および領域間境界によらず、全ての自由度に対して CG 法を
用いて解く。前処理には対角スケーリングを用いている。
•HDDM ソルバ
各部分領域内部については直接法で、部分領域間の境界上の自由度について
は CG 法で解く手法である。また、 CG 法の前処理としては対角スケーリ
ングを使用している。
•BDD ソルバ
HDDM ソルバに対して強力な前処理手法であるバランシング領域分割法
(BDD) を採り入れた解法である。部分領域前処理として Neumann 型前処
理を行なう BDD ソルバ、対角スケーリングを行なう BDD-DIAG ソルバ
とがある。以下では、 HDDM ソルバや CG ソルバと比較する場合は両者を
合わせて BDD ソルバと示すことがある。
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
2.2 並列方法
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
領域 0
領域 1
領域 2
領域 3
部分 0
領域 4
領域 5
領域 6
領域 7
部分 1
CPU1
図 2 :領域の CPU への割り当て―シングル版
シングル版 ( モジュール名 : advthermal-s)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
領域 0
領域 1
部分 0
CPU1
領域 6
領域 7
部分 3
CPU4
領域 8
領域 9
部分 4
CPU5
領域 2
領域 3
部分 1
CPU2
領域 4
領域 5
部分 2
CPU3
図 3 :領域の CPU への割り当て―静的負荷分散版
静的負荷分散版 ( モジュール名 : advthermal-p)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
領域 1
領域 2
領域 3
部分 0
領域 0
CPU1
親 1
領域 5
領域 6
領域 7
部分 1
領域 4
CPU2
親 2
領域 0
領域 3
領域 2 領域 1 領域 4 領域 5 領域 6
領域 7
CPU3 CPU4 CPU5
子 1 子 2 子 3
図 4 :領域の CPU への割り当て―動的負荷分散版
動的負荷分散版 ( モジュール名 : advthermal-h)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Hierarchical Domain Decomposition
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
2.3 ソルバの特徴
・並列 CG ソルバ
 領域分割時には部分内の領域数を 1 として分割しておく .
 前処理が単純であるため、一般に多くの反復回数を必要とする .
・ HDDM ソルバ
  CG 法の前処理として対角スケーリング前処理を使用している .
・ BDD ソルバ
 非常に強力な前処理法である BDD 法を使用している .
・ BDD-DIAG ソルバ
  BDD 法における Neumann-Neumann 前処理を対角スケーリングに置き換えた修正
  
  BDD 法を使用している .
・ IBDD ソルバ
  BDD 法に不完全コース問題を採用した改良 BDD 法を使用している .
ソルバ実行時オプション
BDD -solver bdd
BDD + 不完全コースマトリクス -solver bdd -iLU
BDD-DIAG -solver bdd-diag
BDD-DIAG + 不完全コースマトリクス -solver bdd-diag -iLU
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
BDD における領域分割数
"Part" 数は並列処理の手法 , 使用するノード数や計算機環境に基づいて決定され
る .
"Domain" 数は , 計算処理に必要とされるメモリに基づいて決定される .
細かく分割すればメモリの使用量を少なくできる .
静的負荷分散版の場合 , 1 領域あたりの要素数が 60-120 のとき
BDD ソルバまたは BDD-DIAG ソルバを使用することで最良の性能を得ることが
できる .
動的負荷分散の場合その数は 150-250 である .
subdomainpart
element
NN
N
n
×
=
n : 1 領域あたりの要素数
Nelemnt
 :総要素数
Nsubdomain
:領域分割数
Npart
  :部分数
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
3 解析機能
ADVENTURE Solid は、材料特性として弾性解析、弾塑性解析、また幾
何学的非線形性として、大変位、大ひずみを取り扱うことが出来る。これ
らの可能な組合せは以下のようになっている。
• 線形弾性解析
• 弾性大変位微小歪み解析 (Total Lagrange 法 )
• 弾性大変位大歪み解析 (Updated Lagrange 法 )
• 弾塑性解析
• 弾塑性大変位微小歪み解析 (Total Lagrange 法 )
• 弾塑性大変位大歪み解析 (Updated Lagrange 法 )
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
3.1.2 要素
•4 面体 1 次要素 (1 積分点 )
•4 面体 2 次要素 (4 または 5 積分点 )
•6 面体 1 次要素 (8 積分点、オプションで体積歪みまたはせん断歪みに関
する次数低減積分 )
•6 面体 2 次要素 (27 積分点 )
3.1.3 境界条件
• 節点強制変位
• 節点集中荷重 ( 面荷重は ADVENTURE BCtool にて節点集中荷重に変換
する )
3.1.4 体積力
重力による自重を付加可能である。
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
3.2 線形弾性解析機能  3.2.1 熱応力解析  3.2.2 材料モデリング
• ヤング率
• ポアソン比
• 質量密度 ( 自重負荷時に使用 )
• 線膨張係数 ( 熱応力解析時に使用 )
• 参照温度 ( 熱応力解析時に使用 )
3.2.3 解析結果出力
• 変位 ( 節点 )
• 反力 ( 節点 )
• 応力テンソル ( 要素 / 積分点 / 節点 )
• 相当応力 ( 要素 / 積分点 / 節点 )
• ひずみテンソル ( 要素 / 積分点 / 節点 )
• 主応力とその方向ベクトル ( 要素 / 積分点 / 節点 )
• 主ひずみとその方向ベクトル ( 要素 / 積分点 / 節点 )
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
5 実行方法
% advsolid-s ./sample_data/cube_p2d2
% mpirun –np 5 advsolid-h ./sample_data/cube_p2d2
% mpirun –np 2 advsolid-p ./sample_data/cube_p2d2
5.1 入出力ファイル名
デフォルトでの入出力ファイル名は以下のようになっている。 data dir が
ADVENTURESolid 実行時の必須引数として指定する、入出力データファイ
ルのトップディレクトリであり、各ファイルはこの data dir 以下に置かれる。
◦ 解析モデルファイル :data dir/model/advhddm_in_P.adv
◦ 最終解析結果ファイル :data dir/result/advhddm_out_P.adv
◦ 増分ステップごとの解析結果ファイル :data
dir/result/advhddm_incrout_S_P.adv
◦CG リスタートファイル :data dir/cg-res/advhddm_cgres_P.adv
◦ 増分ステップリスタートファイル :data dir/incr-
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
6 コンパイルとインストール•
$(HOME)/ADVENTURE/
bin/advsolid ADVENTURE_Solid 実行スクリプト
bin/advsolid-s シングル版 ADVENTURE_Solid
bin/advsolid-p 並列・静的負荷分散版 ADVENTURE_Solid
bin/advsolid-h 並列・動的負荷分散版 ADVENTURE_Solid
bin/log2cnv-cg, log2cnv-nr, log2info ログファイル解析スクリプト
bin/advshow ADVENTURE Format File のテキスト化ツール
bin/hddmmrg 解析結果データの一体型へのマージツール
doc/AdvSolid/manual-jp.pdf 日本語マニュアル
doc/AdvSolid/README, README.eucJP, copyright テキスト形式のドキュメ
ント
$(ArchiveDir)/
doc/ ドキュメント
solver/ ソースファイル
libfem/ FEM ライブラリファイル
sample_data/ サンプルデータ
tools/ ツールファイル
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/hddm_types.h
typedef struct {
int partid; /*+ Part ID +*/
int domid; /*+ Subdomain ID +*/
int gdomid; /*+ Global Subdomain ID +*/
int elmtype; /*+ Element type +*/
int elm_dim; /*+ Dimension of the element +*/
int nd_elm; /*+ num nodes in a element +*/
int elms; /*+ num of elements +*/
int nodes; /*+ num of nodes +*/
int node_dim; /*+ dimension of node coodinate +*/
int ndisp; /*+ num of bcdisp +*/
int nload; /*+ num of bcload +*/
int ninbd; /*+ num of inbc +*/
int ifn_dim ; /*+ dim. of inbc +*/
int nsharenode; /*+ num of share nodes +*/
int* nop; /*+ connectivity +*/
int* ndindex; /*+ Node ID index (Subdomain -> Part) +*/
Bcnd* bcdisp; /*+ array of bcdisp +*/
Bcnd* bcload; /*+ array of bcload +*/
} DomMesh;
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
typedef struct {
int n_part; /*+ num part +*/
int partid; /*+ part ID +*/
int n_domain; /*+ num subdomains +*/
int t_nodes; /*+ nodes in this part +*/
int node_dim; /*+ dim of node coordinate +*/
int t_infree; /*+ num of inbc assigned to this part +*/
int t_outfree; /*+ num of inbc assigned to other parts +*/
int t_insnode; /*+ num of share nodes assigned to this part +*/
int t_outsnode; /*+ num of share nodes assigned to other parts +*/
OPinfo* op; /*+ inter part inner bc info +*/
OPSinfo* opsn; /*+ inter part share nodes info +*/
double* crd; /*+ node coordinate +*/
double* crd2; /*+ node coordinate for ULF+*/
int* pndindex; /*+ Node ID index (part -> global) +*/
int global_t_nodes; /*+ num. global nodes +*/
int global_t_elms; /*+ num. global elements +*/
int global_t_domains; /*+ num. all domains +*/
DomMesh* dom; /*+ Sub domain meshes +*/
int* off_gdom ; /*+ GlobalDomID = domid (in ipart) + off_gdom[ipart] +*/
} PartMesh;
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/main.c
int main (int argc, char* argv[])
{
Static_Solver_AllInit(&argc, &argv, &nparts, &optsw, &cgoption,
Static_Solver(nparts, optsw, cgoption, outsw,
Static_Solver_Finalize(nparts, optsw, cgoption,
solver/static_solver.c
void Static_Solver(int nparts,
{
/***** Non-Linear loop. *****/
for (nl_step = 0; nl_step < get_total_nl_step(optsw); nl_step++) {
nr_conv = Static_Solver_AIncrStep(nparts, optsw,cgoption,
int Static_Solver_AIncrStep(int nparts, OptSolv optsw, CGOpts cgoption,
{
mynparts = get_my_npart();
HDDM_Solver(nparts, optsw, cgoption, &nr_norm, pmesh, pfield);
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/hddm_solver.c
void HDDM_Solver(int nparts, OptSolv optsw, CGOpts cgoption,
{
/**** Call a HDDM solver ****/
if (am_I_parent()) {
HDDM_Solver_Parent(nparts, sw_kpmat , optsw,
} else if (am_I_child()) {
HDDM_Solver_Child(sw_kpmat, optsw, cgoption);
} else {
Pfprintf(stderr, "%s: What am I???n");
Abort(-1);
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/hddm_solver.c
void HDDM_Solver_Parent(int nparts, int sw_kpmat,
{CGVector *cgvec ;
cgvec = MakeNewCGVectors(cgoption, pmesh);
while (cgloop - initial_cgstep <= cgoption.loop_max) { /**** CG loops. ****/
for ( ipart = 0 ; ipart < mynpart ; ipart++ ) { partsolv() ; }
if (sw_cg == CG_FIRST ) {
BDD_SolveCoarseProblem(pmesh, pfield, cgvec);
IncrementCGstep_step1(&optsolv, &cgopts, sw_cg, pmesh, cgvec, &gnorm);
CGSetBnorm(gnorm, REF_CGNORM_RESET_WAY) ;
set_cg_nr_norm0(gnorm, REF_CGNORM_RESET_WAY);
} else {
IncrementCGstep_step1(&optsolv, &cgopts, sw_cg, pmesh, cgvec, &gnorm);
}
IncrementCGstep_step2(&optsolv, &cgopts, sw_cg, cgvec ); /* Increment a CG step */
CGCheckConv(optsolv, &sw_cg, cgopts.tol, gnorm, &eps); /* Check convergence */
cgloop++;
PrepNextCGstep(sw_cg, pmesh, cgvec);
} /**** CG loop ****/
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/hddm_solver.h
#ifdef PARA_HDDM
#define partsolv(a, b, c, d, e, f, g, h) ppartsolv(a, b, c, d, e, f, g, h) ← advsolid-h
#else
#define partsolv(a, b, c, d, e, f, g, h) spartsolv(a, b, c, d, e, f, g, h) ← advsolid-p
#endif advsolid-s
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver /p_partsolver.c
void ppartsolv()
{
while(1) { /* domain loop */
COM_ReadInt( &sig, 1, &node, &type ) ;
if ( sig == SIG_RECVDOM ) {
if ( n_send < pmesh.n_domain ) {
send_dom(sw_cg, sw_kpmat, need_precon_setup,
} else { /* n_send == pmesh.n_domain */
sig = SIG_NODOM ; /* to Child */
COM_WriteInt ( &sig, 1, node, type ) ;
}
} else if ( sig == SIG_SENDRES ) {
recv_res(sw_cg, need_precon_setup, optsw, cgoption,
n_analyzed++ ;
}
} /* domain loop */
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver /s_partsolver.c
void spartsolv(int sw_cg, int sw_kpmat, int need_precon_setup,
{
/*=== DOM LOOP ===*/
for (i = 0; i< pmesh.n_domain; i++){
dmesh = SetDom4CG(optsw, sw_cg, i, pmesh, pfield, cgvec, sw_kpmat);
hddmmat = MkNewHDDM_SkylineMat(optsw, cgoption, dmesh, dfield);
/*=== FEM ===*/
domsolve(sw_cg, optsw, dmesh, dfield, hddmmat);
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver /p_partsolver.c
void HDDM_Solver_Child( int sw_kpmat, OptSolv optsw, CGOpts cgoption)
{
while(1) { /* CG loop */
while(1) { /* Domsolve loop */
recv_dom(sw_cg, sw_kpmat, &need_precon_setup, optsw, cgoption,
hddmmat = MkNewHDDM_SkylineMat(optsw, cgoption, dmesh, dfield);
/*=== FEM ===*/
domsolve(sw_cg, optsw, dmesh, dfield, hddmmat);
send_res(sw_cg, sw_kpmat, need_precon_setup, optsw, cgoption,
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/domfem.c
HDDM_SkylineMat MkNewHDDM_SkylineMat()
{
/* Make stiffness matrix gk */
skyline_mkindex(dmesh, &gk);
hddmmat_mkstiff(optsw, dmesh, dfield, &hddm_slmat, force);
/* Make decomposed stiffness matrix gk_inv */
skyline_mkreducedindex(optsw, bcdisp_table, gk, &gk_inv);
SKY_Decomposite(gk_inv, work);
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
void hddmmat_mkstiff(OptSolv optsw, DomMesh dmesh, DomField dfield,
{
/*+ Function: Make stiffness matrix itself +*/
for (i=0, nop=dmesh.nop; i < nel; i++, nop+=dmesh.nd_elm) {
fe_make_elm_k(ek, elm_crd, &state_var, &fe_material, &(optsw.feopt));
skyline_add_ek_to_gk(ek, nop, dmesh.nd_elm, dmesh.node_dim, hddmmat->gk);
make_elm_gravity_force_3d(&(optsw), elmf, elm_crd, &fe_material,
fe_mk_elm_thermal_force(elmf, elm_crd, elm_temp, &fe_material,
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
libfem/select_element.c
fe_make_elm_k(double* ek,
{
ft->make_elm_k(ek, crd, state_var, constant, option);
}
struct FuncTable
{
void (*make_elm_k)();
struct FuncTable FuncS3DTet10 =
{
&make_elm_k_tet10,
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
libfem/s3d_element.c
#if (ELEMENT_TYPE == S3D_TET4)
make_elm_k_tet4(
#elif (ELEMENT_TYPE == S3D_TET10)
make_elm_k_tet10(
for ( intg = 0 ; intg < N_INTG ; intg++ ) {
mk_df_20( fx, fy, fz, &detj, xe, ye, ze, ps[ix], ps[iy], ps[iz] ) ;
weight = wt[ix] * wt[iy] * wt[iz] * detj ;
MK_B_MAT( b, fx, fy, fz ) ;
work[i][j] = d[i][0] * b[0][j]
ek[ i*(i+1)/2 +j ]+= ( b[0][i] * work[0][j]
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
solver/domfem.c
void domsolve(int sw_cg, OptSolv optsw, DomMesh dmesh, DomField,
{
/*+ Function: FEM solver for a subdomain +*/
put_neg_bcdisp_to_vec(dmesh.ndisp, dmesh.node_dim, dmesh.bcdisp,
skysl1_add_multvec(hddmmat.gk, reac, disp);
SKY_MkSolution(hddmmat.gk_inv, disp);
put_bcdisp_to_vec(dmesh.ndisp, dmesh.node_dim, dmesh.bcdisp, disp);
dary_op_sca(reac, matdim, OP_SUB, &dtmp);
skysl1_add_multvec(hddmmat.gk, disp, reac);
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
開発中バージョン
AdvSolid-1.09
非定常
AdvThermal-1.01
物性値の温度依存
境界条件の時間依存
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
• Two example problems for time dependent
boundary conditions and temperature dependent
material properties
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Heat Equations
vectorNormal:n
][retemperatuExternal:
)][kcal/(sectcoefficienferHeat trans:
generationheatInternal:
)]/([heatSpecifice:
][kg/mmDensity:
][onappliedeTemperatur:u
sec)]/([onappliedfluxHeat:Q
retemperatuofderivativeTime:
t
u
]/(sec[tyconductiviThermal:
rflux vectoHeat:q
][eTemperatur:
2
C
3
u
2
Q
Cu
Cmm
f
CkgkcalC
C
mmkcal
Cmmkcal
Cu
o
C
o
o
o
o
o
⋅⋅
⋅
Γ
⋅Γ
∂
∂
⋅⋅
α
ρ
λ
(5)on
(4)on0
(3)on0)(
(2)indiv
(1)ingrad
u
_ Q
Γ=
Γ=−⋅
Γ=−−⋅
Ω+−=
∂
∂
Ω−=
uu
Qnq
uunq
fq
t
u
c
uq
CCCα
ρ
λ
uΓ
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Example Problem (1/2)
Outer radius 110 mm
Inner radius 100 mm
Convection b.c.
Inner side has convection boundary
conditions.
Other sides are of natural
boundary conditions.
#elms:8941
#nodes:14491
#nodes per element : 10
100mm
110mm
flow
2D problem
3D problem
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Time dependent external temperature of the
heat convection boundary conditions.
Time vs Temperature
0
100
200
300
400
500
600
0 50 100 150
Time (s)
Temperature(C)
系列1
Heat conductivity : 4.8*E-6 W/mm K.
Specific heat : 0.133 J/kg K.
Heat transfer coefficient : 4.2E-6 W/mm2
K.
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Temperature dependent material properties :
Temp. ( C) Heat conductivity
(W / mm K)
Spec. heat
(J/kg K.)
Density
(Kg/ mm3)
300.0 4.37E-6 0.129 7.90E-6
350.0 4.53E-6 0.131 7.88E-6
400.0 4.70E-6 0.132 7.86E-6
450.0 4.86E-6 0.133 7.83E-6
500.0 5.02E-6 0.134 7.81E-6
550.0 5.18E-6 0.136 7.79E-6
600.0 5.34E-6 0.138 7.76E-6
Temp.(C) 300.0 400.0 500.0 600.0
Heat trans. coef.
(W / mm2 K)
4.5E-6 4.3E-6 4.1E-6 3.9E-6
Table 01
Table 02
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
0 sec 2 sec
14 sec
20 sec
110 sec
40 sec
10 sec
Temperature Distributions
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Example Problem 2/2 QΓ
Domain Decomposed Mesh
CΓ
)0( =Q
Model geometry: 4000 X 4000 X 8000 mm
Mesh : 85,083 nodes, 43,230 elements, 6 parts
Initial temperature : 15 o
C
Boundary Conditions :
Inner surface : Convective heat transfer
Other surfaces : Natural boundary conditions
Convective heat transfer depends on time.
(10).equationsatisfyand
71.70:sizemeshMinimum
sec,200:incrementTime
ht
mmh
t
∆
∆
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Material Properties
Temp.
(0
C)
Thermal
conductivity
[Kcal/(mm o
C
sec)]
Specific
Heat
[Kcal/(kg C]
Density
[Kg/mm3
]
0.0 1.036e-5 0.110 7.85e-6
15.0 1.03e-5 0.111 7.85e-6
500.0 8.24e-6 0.139 7.85e-6
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Boundary Conditions
Heat transfer coefficient profile
Sink temperature profile
X-coordinate
X coordinate
cα
Cu
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Temperature Distribution(1/3)
(an increase in temperature)
1 hr
3 hrs
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
10 hrs
3 hrs
20 hrs
Temperature Distribution (2/3)(constant temperature)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Temperature Distribution(3/3)(a decrease in temperature)
21 hrs
22 hrs
23 hrs
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
汎用 CAE システムによる
地球シミュレータ上での大規模構造解析
九州大学  塩谷隆二
        荻野正雄
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
プロジェクトの目的
• 汎用並列有限要素法解析システム
  ADVENTURE の地球シミュレータ上へ
の実装
• 数億自由度モデルを用いた大規模非定常非
線形解析の実現
• 実験 , 解析不可能であった問題規模での現
象解明 , 産業界への貢献
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
ADVENTURE システムの概要
http://adventure.q.t.u-tokyo.ac.jp
(1)日本学術振興会未来開拓事業( 1997.8-2002.3 )の一
つ
   として東京大学、九州大学、慶應大学などの大学主導
の
   研究グループによって開発された。その後もオープン
ソー
   スCAEシステム開発プロジェクトとして研究開発が
継続中
(2)プレ、メイン、ポスト、設計最適化などを兼ね備えた
システム
(3)数百~数億自由度メッシュによる大規模解析が可能
(4) 1,000 プロセッサの超並列計算機環境でも 90% を超
える高い
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
ADVENTURE システム (20 モジュール ) のリリース (2005.12.1)
http://adventure.q.t.u-tokyo.ac.jp
ADVonWin
ユーティリティ :
ADV_iAgent
ADV_Material
ADV_FEMAPtool
ADV_CAD          商用 CAD
           
              ADV_TriPatch
ADV_TetMesh
ADV_BCtool
ADV_Metis
ADV_Solid / ADV_Thermal / ADV_Magnetic /
ADV_Fluid / ADV_sFlow / ADV_Impact / ADV_Forge
ADV_Visual
Blue : 並列モジュール
Italic : Ver.1 モジュール
Roman : Ver. β モジュール
ADV_IO
ADV_Opt/ADV_Shape
withADV_Auto
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
ABWR 原子炉容器の CAD モデルと 6 千万自由度メ
ッシュ
ノズル
インターナ
ル
ポンプ
メッシュ寸法 : 2mm ( 最小 ), 10mm
( ベース )
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
固定
x-Acceleration 1m/s2
X 方向加速度を受ける ABWR 炉容器の変形解析
地震荷重負荷時を模擬した解析
(3500 万自由度メッシュ )
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )地震応答解析
■ 1940 年 Elcentro 地震  NS 方向
■ データ : 時間刻 0.02sec, サンプル 2688 点 (53.74
秒 )
■ 解析 : NS 方向→ Y 方向 , 229 ステップ (4.58 秒 )
-300.0
-200.0
-100.0
0.0
100.0
200.0
300.0
400.0
0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0 32.0 36.0 40.0 44.0 48.0 52.0
Elapsed time [sec]
Acceleration
Z
Y
データ提供 : 日本建築センター , 86 年ビレルタ版
M. Ogino, R. Shioya, H. Kawai, S. Yoshimura, Seismic Response Analysis of Full
Scale Nuclear Vessel Model with ADVENTURE System on the Earth Simulator,
Journal of the Earth Simulator, Vol.2, pp.41-54, (2005)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
解析結果
0.8 秒後 (40 steps) 1.6 秒後 (80 steps)
0.0 –秒 0.96 秒
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
パンテオンモデル
( さらに 64 倍に細分割 )
FE Mesh (tetrahedron-quadratic)
Elements: 33,107,904
Nodes: 46,591,953
DOF: 139,347,567
古代建築物パンテオン
1 億 4 千万自由度モデル静応力解
析 .
古代建築物パンテオン
1 億 4 千万自由度モデル静応力解
析 .
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Iterations, Time, FLOPS using 2,048PEs.
Processors 2,048PEs (256Nodes)
Subdomains 10,240
Iterations 373
Times 577.0 sec
Memory 3.05 TB
V.OP Ratio 98.6 %
FLOPS
(to peak)
3.88 T
(24.26%)
FLOPS 値はモデル形状によるが ,
ピーク性能の 24-30% 程度を実現可能
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
これまでの成果
• ソルバープログラムの基礎部分を Hybrid 型に改良
- 64 ノードまで並列化率 99.98% (Flat 型と同等 )
• 3,500 万自由度原子炉圧力容器モデル非定常線形解
析
- 128 ノード上で 300 ステップを約 4.3 時間
( 昨年より 2.4 倍高速化 , より長い時間を解析 )
• 1 億自由度原子炉圧力容器モデル非定常線形解析
- 256 ノード上で 4 ステップを約 15 分
- 1 億自由度規模でも非定常解析は実現可能
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
CAD model.
RPV model
Cross section
Shroud
CRD housing
CRD: Control Rod Derive
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Mesh information.
Elements:
29,800,348 (quad-tetra)
Nodes:
50,660,053 (vertex+middle)
vertex: 7,592,003
middle: 43,068,050
Parts:
26
Volume:
2.79316e+11 [mm^3]
File size:
4.53GB (.gz: 1.21GB)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
Surface patch information.
Surface patches:
11,350,764
Surface nodes:
5,674,748
Surface edge groups:
26,867
Surface patch groups:
10,005
File size:
.fgr: 662MB (.gz: 203MB)
.pcg: 447MB (.gz: 165MB)
.pcg: 92MB (.gz: 28MB)
.trn: 42MB (.gz: 12MB)
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
内部構造物付き BWR モデル .
モデル作成協力 :
東京大学吉村研究室
( 株 ) アライドエンジニアリング
( 株 ) 東京電力
( 株 ) 日立製作所モデル ( 断
メッ
シュ
内部構造物
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
材料別一覧 (1/4).
材質 : 低合金鋼
ヤング率 : 19,600 kg/mm2
, ポアソン比 : 0.3 , 質量密度 : 7,860 kg/m3
部品
No.
構造物名 体積 (m3
) 質量 (kg)
1 原子炉圧力容器
90.70 712,925
3 蒸気乾燥機異材継手部
8 シュラウドサポート異材継手部
9 シュラウドサポート異材継手部
材質 : インコネル鋼
ヤング率 : 20,700 kg/mm2
, ポアソン比 : 0.3 , 質量密度 : 7,860 kg/m3
部品
No.
構造物名 体積 (m3
) 質量 (kg)
6 シュラウドサポート
1.93 152
7 シュラウドサポート異材継手部
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
材料別一覧 (2/4).
材質 : ステンレス鋼
ヤング率 : 18,200 kg/mm2
, ポアソン比 : 0.3 , 質量密度 : 7,860 kg/m3
部品
No.
構造物名 体積 (m3
) 質量 (kg)
5 炉心シュラウド 6.36 50,017
10 上部格子板 1.00 7,893
13 炉心支持板 1.16 9,127
18 燃料支持
1.18 9,316
22 周辺燃料支持
23 制御棒駆動機構ハウジング容器外側部
17.01 133,715
24 制御棒駆動機構ハウジング異材継手部
25 制御棒案内管 &
制御棒駆動機構ハウジング容器内側部
26 制御棒案内管-炉心支持板側部
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
材料別一覧 (3/4).
材質 : 燃料
ヤング率 : 7,758 kg/mm2
, ポアソン比 : 0.396 , 質量密度 : 4,933 kg/m3
部品
No.
構造物名 体積 (m3
) 質量 (kg)
15 燃料
46.83 231,000
16 燃料 - 上部格子板上側
17 燃料 - 上部格子板部
19 周辺燃料
20 周辺燃料 - 上部格子板部
21 周辺燃料 - 上部格子板上側
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
材料別一覧 (4/4).
材質 : 剛体
部品
No.
構造物名 体積 (m3
) 質量 (kg)
2 蒸気乾燥器 33.38 40,000
4 気水分離機 & シュラウドヘッド 77.87 78,000
材質 : ギャップ
部品
No.
構造物名 体積 (m3
) 質量 (kg)
11 上部格子板 - 燃料異材継手部 1.60 -
12 上部格子板 - 周辺燃料異材継手部 0.090 -
14 炉心支持板 - 制御棒案内管異材継手部 0.18 -
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
2 億自由度モデルによる地震応答解析
[Mesh]
Elements: 29,800,348 (tetra-linear)
Nodes: 50,660,053
[Solve] 128 nodes (1,024 APs)
1 time step : 約 13 分 2.2Tflops ,
-300.0
-200.0
-100.0
0.0
100.0
200.0
300.0
400.0
0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0 32.0 36.0 40.0 44.0 48.0 52.0
Elapsed time [sec]
Acceleration
1940 年 Elcentro 地震 NS 方向 時間刻 0.02sec
データ提供 : 日本建築センター , 86 年ビレルタ版
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
今後の計画
• バーチャル実証試験を実現する
( 現在計算中のモデルの結果を受け , 産業界との
連携を密にする )
• 共有 - 分散メモリ活用型の並列化を完成させる
• 非定常非線形機能に対するチューニングを進める
• 熱流体解析 , 連成解析機能の実装
第 3 回 ADVENTURE 定期セミナー
2006 年 3 月 17 日 ( 金 )
今後の計画
• バーチャル実証試験を実現する
( 現在計算中のモデルの結果を受け , 産業界との
連携を密にする )
• 共有 - 分散メモリ活用型の並列化を完成させる
• 非定常非線形機能に対するチューニングを進める
• 熱流体解析 , 連成解析機能の実装

More Related Content

What's hot

12 1215進化計算シンポ ポスター
12 1215進化計算シンポ ポスター12 1215進化計算シンポ ポスター
12 1215進化計算シンポ ポスターMasahiro Kanazaki
 
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価Shintaro Fukushima
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろうUnity Technologies Japan K.K.
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 
Turbulence Models in OpenFOAM
Turbulence Models in OpenFOAMTurbulence Models in OpenFOAM
Turbulence Models in OpenFOAMFumiya Nozaki
 
Rでウォーリを探してみた
Rでウォーリを探してみたRでウォーリを探してみた
Rでウォーリを探してみたKazuya Wada
 
ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要ADVENTURE Project
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!Yuichi Higuchi
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算Norishige Fukushima
 
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz..."Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...nkazuki
 
Uart受信設計2013
Uart受信設計2013Uart受信設計2013
Uart受信設計2013Kiyoshi Ogawa
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズムHiroshi Nakagawa
 
C++0x in programming competition
C++0x in programming competitionC++0x in programming competition
C++0x in programming competitionyak1ex
 

What's hot (18)

12 1215進化計算シンポ ポスター
12 1215進化計算シンポ ポスター12 1215進化計算シンポ ポスター
12 1215進化計算シンポ ポスター
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価機械学習を用いた予測モデル構築・評価
機械学習を用いた予測モデル構築・評価
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
Turbulence Models in OpenFOAM
Turbulence Models in OpenFOAMTurbulence Models in OpenFOAM
Turbulence Models in OpenFOAM
 
Rでウォーリを探してみた
Rでウォーリを探してみたRでウォーリを探してみた
Rでウォーリを探してみた
 
ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要ADVENTURE_Solid Ver.1.2の概要
ADVENTURE_Solid Ver.1.2の概要
 
シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!シェーダーしよっ☆ Let's play shaders!
シェーダーしよっ☆ Let's play shaders!
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算
 
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz..."Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
 
Uart受信設計2013
Uart受信設計2013Uart受信設計2013
Uart受信設計2013
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
 
Hands on
Hands onHands on
Hands on
 
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門  6. 最適化と学習アルゴリズムクラシックな機械学習の入門  6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
 
C++0x in programming competition
C++0x in programming competitionC++0x in programming competition
C++0x in programming competition
 
JEITA4602B
JEITA4602BJEITA4602B
JEITA4602B
 

Similar to ADVENTURE_Solidの概要

adversarial training.pptx
adversarial training.pptxadversarial training.pptx
adversarial training.pptxssuserc45ddf
 
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...Toru Tamaki
 
Hivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスHivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスKentaro Yoshida
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DKatsushi Suzuki
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...Toru Tamaki
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...Toru Tamaki
 
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...Teppei Kurita
 
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスするEWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスするKiyoshi Sawada
 
AutoDock_vina_japanese_ver.2.0
AutoDock_vina_japanese_ver.2.0AutoDock_vina_japanese_ver.2.0
AutoDock_vina_japanese_ver.2.0Satoshi Kume
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料Masayuki Tanaka
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackkimukou_26 Kimukou
 
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトEWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトKiyoshi Sawada
 
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスするEWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスするKiyoshi Sawada
 
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩くEWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩くKiyoshi Sawada
 
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例Shigeru UCHIYAMA
 

Similar to ADVENTURE_Solidの概要 (20)

ADVENTURE_Thermalの概要
ADVENTURE_Thermalの概要ADVENTURE_Thermalの概要
ADVENTURE_Thermalの概要
 
adversarial training.pptx
adversarial training.pptxadversarial training.pptx
adversarial training.pptx
 
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
文献紹介:2D or not 2D? Adaptive 3D Convolution Selection for Efficient Video Reco...
 
ADVENTURE_Magneticの概要
ADVENTURE_Magneticの概要ADVENTURE_Magneticの概要
ADVENTURE_Magneticの概要
 
Hivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスHivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービス
 
Flashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3DFlashup 12 Basic Training of Away3D
Flashup 12 Basic Training of Away3D
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
文献紹介:SegFormer: Simple and Efficient Design for Semantic Segmentation with Tr...
 
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
 
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスするEWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
 
AutoDock_vina_japanese_ver.2.0
AutoDock_vina_japanese_ver.2.0AutoDock_vina_japanese_ver.2.0
AutoDock_vina_japanese_ver.2.0
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
 
Bee Style:vol.039
Bee Style:vol.039Bee Style:vol.039
Bee Style:vol.039
 
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクトEWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
EWD 3トレーニングコース#20 GlobalストレージのJavaScript用抽象化-(a)DocumentNodeオブジェクト
 
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスするEWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
EWD 3トレーニングコース#19 JavaScriptからGlobalストレジにアクセスする
 
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩くEWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
EWD 3トレーニングコース#22 GlobalストレージのJavaScript用抽象化-(c) ドキュメントを渡り歩く
 
判別分析
判別分析判別分析
判別分析
 
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
 

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_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要ADVENTURE_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要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 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 Project
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
ADVENTURE_Magnetic Ver.1.3の解説
ADVENTURE_Magnetic Ver.1.3の解説ADVENTURE_Magnetic Ver.1.3の解説
ADVENTURE_Magnetic Ver.1.3の解説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_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要ADVENTURE_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要
 
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 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リファレンスマニュアル
 
DecisionMaker
DecisionMakerDecisionMaker
DecisionMaker
 
原子力発電プラントの地震耐力予測シミュレーション
原子力発電プラントの地震耐力予測シミュレーション原子力発電プラントの地震耐力予測シミュレーション
原子力発電プラントの地震耐力予測シミュレーション
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
ADVENTURE_Magnetic Ver.1.3の解説
ADVENTURE_Magnetic Ver.1.3の解説ADVENTURE_Magnetic Ver.1.3の解説
ADVENTURE_Magnetic Ver.1.3の解説
 

ADVENTURE_Solidの概要

  • 1. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) ADVENTURE_Solid の概要 九州大学 塩谷隆二
  • 2. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) History of Adventure_Thermal 1996 Massively Parallel Computing for Large Scale Finite Elements R.Shioya 1997-2002 Adventure Project 2000.12.01 AdvSolid-0.8b 2001.03 バランシング領域分割法による並列有限要素解析 荻野正雄 2001.11.14 AdvThermal-0.2b 2002.03.01 AdvThermal-0.3b, AdvSolid-1.0(BDD) 2003.09.16 AdvSolid-1.1 2004.01 領域分割型有限要素法による超並列計算 荻野正雄 2005.07.11 AdvThermal-1.0(BDD)
  • 3. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Functions of ADVENTURE_Solid [ 機能 ] 静弾性 / 静弾塑性 / 大変形応力解析 対角スケーリングないし BBD 前処理付き階層型領域分割法版 及び 対角スケーリング付き並列 CG 版 [ 開発・実行環境 ] OS : Unix, Linux コンパイラ : C 通信ライブラリ : MPI
  • 4. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Open Source Software ・ Wall for Free Software – add Function | – Original Data – | (AdvI/O, Adv_Metis) | | | | – Install – Sample Data – |   (adv on windows, adv.rpm, mail support) Download –
  • 5. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 )ADVENTURE_Solid  Steady / Non-steady Heat Conductive Analysis with HDDM Version 1.1 プログラム使用マニュアル 1 概要 • 線形方程式ソルバとして HDDM 、並列 CG 法および BDD (Balancing Domain Decomposition) 前処理つき HDDM [5, 6, 7] の 3 種類が使用可能である。 •HDDM ソルバによる並列実行では、動的な負荷分散が可能である。 • 解析種類は弾性 / 弾塑性 / 幾何学的非線形応力解析。 • 弾塑性 / 幾何学的非線形解析は荷重 / 変位制御による増分法。 • 非線形解析には、後退型 Euler 法による応力積分とコンシステント接線剛性を使用 。 •4 面体、 6 面体のそれぞれ 1 次、 2 次ソリッド要素に対応。 • 対応プラットフォームは Unix, Linux 。 • 並列処理ライブラリには MPI [8] を使用し、 MPP やネットワークにより接続され た PC またはワークステーションといった多様な並列環境に対応する。
  • 6. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 )
  • 7. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) (1) メッシュデータの作成 (ADVENTURE TetMesh) ADVENTURE TetMesh を用い、解析対象に対してメッシュ分割を行う。他のメッ シュ分割プログラムや、手動で作成したメッシュも、フォーマットを変換すること で取り込むことが可能。 (2) 境界条件の設定 (ADVENTURE BCtool) ADVENTURE BCtool を用い、解析対象のメッシュに対して境界条件を付加する。 物性値の設定もここで行う。 (3) 領域分割 (ADVENTURE Metis) ADVENTURE Metis を用い、一体型の解析モデルより階層型に領域分割された解 析モデルを作成する。並列処理が可能である。 (4) FEM 解析 (ADVENTURE Solid) 領域分割された解析モデルを入力として、 ADVENTURE Solid により有限要素法 解析を行う。並列処理が可能である。 (5) ポストシステム (ADVENTURE Visual) ADVENTURE Visual を用いて解析結果を可視化する。並列処理が可能である。
  • 8. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 2 線形方程式ソルバと並列方法 2.1 線形方程式ソルバ •CG ソルバ 部分領域内部および領域間境界によらず、全ての自由度に対して CG 法を 用いて解く。前処理には対角スケーリングを用いている。 •HDDM ソルバ 各部分領域内部については直接法で、部分領域間の境界上の自由度について は CG 法で解く手法である。また、 CG 法の前処理としては対角スケーリ ングを使用している。 •BDD ソルバ HDDM ソルバに対して強力な前処理手法であるバランシング領域分割法 (BDD) を採り入れた解法である。部分領域前処理として Neumann 型前処 理を行なう BDD ソルバ、対角スケーリングを行なう BDD-DIAG ソルバ とがある。以下では、 HDDM ソルバや CG ソルバと比較する場合は両者を 合わせて BDD ソルバと示すことがある。
  • 9. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 2.2 並列方法
  • 10. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 領域 0 領域 1 領域 2 領域 3 部分 0 領域 4 領域 5 領域 6 領域 7 部分 1 CPU1 図 2 :領域の CPU への割り当て―シングル版 シングル版 ( モジュール名 : advthermal-s)
  • 11. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 領域 0 領域 1 部分 0 CPU1 領域 6 領域 7 部分 3 CPU4 領域 8 領域 9 部分 4 CPU5 領域 2 領域 3 部分 1 CPU2 領域 4 領域 5 部分 2 CPU3 図 3 :領域の CPU への割り当て―静的負荷分散版 静的負荷分散版 ( モジュール名 : advthermal-p)
  • 12. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 領域 1 領域 2 領域 3 部分 0 領域 0 CPU1 親 1 領域 5 領域 6 領域 7 部分 1 領域 4 CPU2 親 2 領域 0 領域 3 領域 2 領域 1 領域 4 領域 5 領域 6 領域 7 CPU3 CPU4 CPU5 子 1 子 2 子 3 図 4 :領域の CPU への割り当て―動的負荷分散版 動的負荷分散版 ( モジュール名 : advthermal-h)
  • 13. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Hierarchical Domain Decomposition
  • 14. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 2.3 ソルバの特徴 ・並列 CG ソルバ  領域分割時には部分内の領域数を 1 として分割しておく .  前処理が単純であるため、一般に多くの反復回数を必要とする . ・ HDDM ソルバ   CG 法の前処理として対角スケーリング前処理を使用している . ・ BDD ソルバ  非常に強力な前処理法である BDD 法を使用している . ・ BDD-DIAG ソルバ   BDD 法における Neumann-Neumann 前処理を対角スケーリングに置き換えた修正      BDD 法を使用している . ・ IBDD ソルバ   BDD 法に不完全コース問題を採用した改良 BDD 法を使用している . ソルバ実行時オプション BDD -solver bdd BDD + 不完全コースマトリクス -solver bdd -iLU BDD-DIAG -solver bdd-diag BDD-DIAG + 不完全コースマトリクス -solver bdd-diag -iLU
  • 15. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) BDD における領域分割数 "Part" 数は並列処理の手法 , 使用するノード数や計算機環境に基づいて決定され る . "Domain" 数は , 計算処理に必要とされるメモリに基づいて決定される . 細かく分割すればメモリの使用量を少なくできる . 静的負荷分散版の場合 , 1 領域あたりの要素数が 60-120 のとき BDD ソルバまたは BDD-DIAG ソルバを使用することで最良の性能を得ることが できる . 動的負荷分散の場合その数は 150-250 である . subdomainpart element NN N n × = n : 1 領域あたりの要素数 Nelemnt  :総要素数 Nsubdomain :領域分割数 Npart   :部分数
  • 16. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 3 解析機能 ADVENTURE Solid は、材料特性として弾性解析、弾塑性解析、また幾 何学的非線形性として、大変位、大ひずみを取り扱うことが出来る。これ らの可能な組合せは以下のようになっている。 • 線形弾性解析 • 弾性大変位微小歪み解析 (Total Lagrange 法 ) • 弾性大変位大歪み解析 (Updated Lagrange 法 ) • 弾塑性解析 • 弾塑性大変位微小歪み解析 (Total Lagrange 法 ) • 弾塑性大変位大歪み解析 (Updated Lagrange 法 )
  • 17. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 3.1.2 要素 •4 面体 1 次要素 (1 積分点 ) •4 面体 2 次要素 (4 または 5 積分点 ) •6 面体 1 次要素 (8 積分点、オプションで体積歪みまたはせん断歪みに関 する次数低減積分 ) •6 面体 2 次要素 (27 積分点 ) 3.1.3 境界条件 • 節点強制変位 • 節点集中荷重 ( 面荷重は ADVENTURE BCtool にて節点集中荷重に変換 する ) 3.1.4 体積力 重力による自重を付加可能である。
  • 18. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 3.2 線形弾性解析機能  3.2.1 熱応力解析  3.2.2 材料モデリング • ヤング率 • ポアソン比 • 質量密度 ( 自重負荷時に使用 ) • 線膨張係数 ( 熱応力解析時に使用 ) • 参照温度 ( 熱応力解析時に使用 ) 3.2.3 解析結果出力 • 変位 ( 節点 ) • 反力 ( 節点 ) • 応力テンソル ( 要素 / 積分点 / 節点 ) • 相当応力 ( 要素 / 積分点 / 節点 ) • ひずみテンソル ( 要素 / 積分点 / 節点 ) • 主応力とその方向ベクトル ( 要素 / 積分点 / 節点 ) • 主ひずみとその方向ベクトル ( 要素 / 積分点 / 節点 )
  • 19. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 )
  • 20. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 5 実行方法 % advsolid-s ./sample_data/cube_p2d2 % mpirun –np 5 advsolid-h ./sample_data/cube_p2d2 % mpirun –np 2 advsolid-p ./sample_data/cube_p2d2 5.1 入出力ファイル名 デフォルトでの入出力ファイル名は以下のようになっている。 data dir が ADVENTURESolid 実行時の必須引数として指定する、入出力データファイ ルのトップディレクトリであり、各ファイルはこの data dir 以下に置かれる。 ◦ 解析モデルファイル :data dir/model/advhddm_in_P.adv ◦ 最終解析結果ファイル :data dir/result/advhddm_out_P.adv ◦ 増分ステップごとの解析結果ファイル :data dir/result/advhddm_incrout_S_P.adv ◦CG リスタートファイル :data dir/cg-res/advhddm_cgres_P.adv ◦ 増分ステップリスタートファイル :data dir/incr-
  • 21. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 6 コンパイルとインストール• $(HOME)/ADVENTURE/ bin/advsolid ADVENTURE_Solid 実行スクリプト bin/advsolid-s シングル版 ADVENTURE_Solid bin/advsolid-p 並列・静的負荷分散版 ADVENTURE_Solid bin/advsolid-h 並列・動的負荷分散版 ADVENTURE_Solid bin/log2cnv-cg, log2cnv-nr, log2info ログファイル解析スクリプト bin/advshow ADVENTURE Format File のテキスト化ツール bin/hddmmrg 解析結果データの一体型へのマージツール doc/AdvSolid/manual-jp.pdf 日本語マニュアル doc/AdvSolid/README, README.eucJP, copyright テキスト形式のドキュメ ント $(ArchiveDir)/ doc/ ドキュメント solver/ ソースファイル libfem/ FEM ライブラリファイル sample_data/ サンプルデータ tools/ ツールファイル
  • 22. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/hddm_types.h typedef struct { int partid; /*+ Part ID +*/ int domid; /*+ Subdomain ID +*/ int gdomid; /*+ Global Subdomain ID +*/ int elmtype; /*+ Element type +*/ int elm_dim; /*+ Dimension of the element +*/ int nd_elm; /*+ num nodes in a element +*/ int elms; /*+ num of elements +*/ int nodes; /*+ num of nodes +*/ int node_dim; /*+ dimension of node coodinate +*/ int ndisp; /*+ num of bcdisp +*/ int nload; /*+ num of bcload +*/ int ninbd; /*+ num of inbc +*/ int ifn_dim ; /*+ dim. of inbc +*/ int nsharenode; /*+ num of share nodes +*/ int* nop; /*+ connectivity +*/ int* ndindex; /*+ Node ID index (Subdomain -> Part) +*/ Bcnd* bcdisp; /*+ array of bcdisp +*/ Bcnd* bcload; /*+ array of bcload +*/ } DomMesh;
  • 23. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) typedef struct { int n_part; /*+ num part +*/ int partid; /*+ part ID +*/ int n_domain; /*+ num subdomains +*/ int t_nodes; /*+ nodes in this part +*/ int node_dim; /*+ dim of node coordinate +*/ int t_infree; /*+ num of inbc assigned to this part +*/ int t_outfree; /*+ num of inbc assigned to other parts +*/ int t_insnode; /*+ num of share nodes assigned to this part +*/ int t_outsnode; /*+ num of share nodes assigned to other parts +*/ OPinfo* op; /*+ inter part inner bc info +*/ OPSinfo* opsn; /*+ inter part share nodes info +*/ double* crd; /*+ node coordinate +*/ double* crd2; /*+ node coordinate for ULF+*/ int* pndindex; /*+ Node ID index (part -> global) +*/ int global_t_nodes; /*+ num. global nodes +*/ int global_t_elms; /*+ num. global elements +*/ int global_t_domains; /*+ num. all domains +*/ DomMesh* dom; /*+ Sub domain meshes +*/ int* off_gdom ; /*+ GlobalDomID = domid (in ipart) + off_gdom[ipart] +*/ } PartMesh;
  • 24. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/main.c int main (int argc, char* argv[]) { Static_Solver_AllInit(&argc, &argv, &nparts, &optsw, &cgoption, Static_Solver(nparts, optsw, cgoption, outsw, Static_Solver_Finalize(nparts, optsw, cgoption, solver/static_solver.c void Static_Solver(int nparts, { /***** Non-Linear loop. *****/ for (nl_step = 0; nl_step < get_total_nl_step(optsw); nl_step++) { nr_conv = Static_Solver_AIncrStep(nparts, optsw,cgoption, int Static_Solver_AIncrStep(int nparts, OptSolv optsw, CGOpts cgoption, { mynparts = get_my_npart(); HDDM_Solver(nparts, optsw, cgoption, &nr_norm, pmesh, pfield);
  • 25. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/hddm_solver.c void HDDM_Solver(int nparts, OptSolv optsw, CGOpts cgoption, { /**** Call a HDDM solver ****/ if (am_I_parent()) { HDDM_Solver_Parent(nparts, sw_kpmat , optsw, } else if (am_I_child()) { HDDM_Solver_Child(sw_kpmat, optsw, cgoption); } else { Pfprintf(stderr, "%s: What am I???n"); Abort(-1);
  • 26. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/hddm_solver.c void HDDM_Solver_Parent(int nparts, int sw_kpmat, {CGVector *cgvec ; cgvec = MakeNewCGVectors(cgoption, pmesh); while (cgloop - initial_cgstep <= cgoption.loop_max) { /**** CG loops. ****/ for ( ipart = 0 ; ipart < mynpart ; ipart++ ) { partsolv() ; } if (sw_cg == CG_FIRST ) { BDD_SolveCoarseProblem(pmesh, pfield, cgvec); IncrementCGstep_step1(&optsolv, &cgopts, sw_cg, pmesh, cgvec, &gnorm); CGSetBnorm(gnorm, REF_CGNORM_RESET_WAY) ; set_cg_nr_norm0(gnorm, REF_CGNORM_RESET_WAY); } else { IncrementCGstep_step1(&optsolv, &cgopts, sw_cg, pmesh, cgvec, &gnorm); } IncrementCGstep_step2(&optsolv, &cgopts, sw_cg, cgvec ); /* Increment a CG step */ CGCheckConv(optsolv, &sw_cg, cgopts.tol, gnorm, &eps); /* Check convergence */ cgloop++; PrepNextCGstep(sw_cg, pmesh, cgvec); } /**** CG loop ****/
  • 27. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/hddm_solver.h #ifdef PARA_HDDM #define partsolv(a, b, c, d, e, f, g, h) ppartsolv(a, b, c, d, e, f, g, h) ← advsolid-h #else #define partsolv(a, b, c, d, e, f, g, h) spartsolv(a, b, c, d, e, f, g, h) ← advsolid-p #endif advsolid-s
  • 28. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver /p_partsolver.c void ppartsolv() { while(1) { /* domain loop */ COM_ReadInt( &sig, 1, &node, &type ) ; if ( sig == SIG_RECVDOM ) { if ( n_send < pmesh.n_domain ) { send_dom(sw_cg, sw_kpmat, need_precon_setup, } else { /* n_send == pmesh.n_domain */ sig = SIG_NODOM ; /* to Child */ COM_WriteInt ( &sig, 1, node, type ) ; } } else if ( sig == SIG_SENDRES ) { recv_res(sw_cg, need_precon_setup, optsw, cgoption, n_analyzed++ ; } } /* domain loop */
  • 29. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver /s_partsolver.c void spartsolv(int sw_cg, int sw_kpmat, int need_precon_setup, { /*=== DOM LOOP ===*/ for (i = 0; i< pmesh.n_domain; i++){ dmesh = SetDom4CG(optsw, sw_cg, i, pmesh, pfield, cgvec, sw_kpmat); hddmmat = MkNewHDDM_SkylineMat(optsw, cgoption, dmesh, dfield); /*=== FEM ===*/ domsolve(sw_cg, optsw, dmesh, dfield, hddmmat);
  • 30. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver /p_partsolver.c void HDDM_Solver_Child( int sw_kpmat, OptSolv optsw, CGOpts cgoption) { while(1) { /* CG loop */ while(1) { /* Domsolve loop */ recv_dom(sw_cg, sw_kpmat, &need_precon_setup, optsw, cgoption, hddmmat = MkNewHDDM_SkylineMat(optsw, cgoption, dmesh, dfield); /*=== FEM ===*/ domsolve(sw_cg, optsw, dmesh, dfield, hddmmat); send_res(sw_cg, sw_kpmat, need_precon_setup, optsw, cgoption,
  • 31. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/domfem.c HDDM_SkylineMat MkNewHDDM_SkylineMat() { /* Make stiffness matrix gk */ skyline_mkindex(dmesh, &gk); hddmmat_mkstiff(optsw, dmesh, dfield, &hddm_slmat, force); /* Make decomposed stiffness matrix gk_inv */ skyline_mkreducedindex(optsw, bcdisp_table, gk, &gk_inv); SKY_Decomposite(gk_inv, work);
  • 32. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) void hddmmat_mkstiff(OptSolv optsw, DomMesh dmesh, DomField dfield, { /*+ Function: Make stiffness matrix itself +*/ for (i=0, nop=dmesh.nop; i < nel; i++, nop+=dmesh.nd_elm) { fe_make_elm_k(ek, elm_crd, &state_var, &fe_material, &(optsw.feopt)); skyline_add_ek_to_gk(ek, nop, dmesh.nd_elm, dmesh.node_dim, hddmmat->gk); make_elm_gravity_force_3d(&(optsw), elmf, elm_crd, &fe_material, fe_mk_elm_thermal_force(elmf, elm_crd, elm_temp, &fe_material,
  • 33. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) libfem/select_element.c fe_make_elm_k(double* ek, { ft->make_elm_k(ek, crd, state_var, constant, option); } struct FuncTable { void (*make_elm_k)(); struct FuncTable FuncS3DTet10 = { &make_elm_k_tet10,
  • 34. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) libfem/s3d_element.c #if (ELEMENT_TYPE == S3D_TET4) make_elm_k_tet4( #elif (ELEMENT_TYPE == S3D_TET10) make_elm_k_tet10( for ( intg = 0 ; intg < N_INTG ; intg++ ) { mk_df_20( fx, fy, fz, &detj, xe, ye, ze, ps[ix], ps[iy], ps[iz] ) ; weight = wt[ix] * wt[iy] * wt[iz] * detj ; MK_B_MAT( b, fx, fy, fz ) ; work[i][j] = d[i][0] * b[0][j] ek[ i*(i+1)/2 +j ]+= ( b[0][i] * work[0][j]
  • 35. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) solver/domfem.c void domsolve(int sw_cg, OptSolv optsw, DomMesh dmesh, DomField, { /*+ Function: FEM solver for a subdomain +*/ put_neg_bcdisp_to_vec(dmesh.ndisp, dmesh.node_dim, dmesh.bcdisp, skysl1_add_multvec(hddmmat.gk, reac, disp); SKY_MkSolution(hddmmat.gk_inv, disp); put_bcdisp_to_vec(dmesh.ndisp, dmesh.node_dim, dmesh.bcdisp, disp); dary_op_sca(reac, matdim, OP_SUB, &dtmp); skysl1_add_multvec(hddmmat.gk, disp, reac);
  • 36. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 開発中バージョン AdvSolid-1.09 非定常 AdvThermal-1.01 物性値の温度依存 境界条件の時間依存
  • 37. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) • Two example problems for time dependent boundary conditions and temperature dependent material properties
  • 38. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Heat Equations vectorNormal:n ][retemperatuExternal: )][kcal/(sectcoefficienferHeat trans: generationheatInternal: )]/([heatSpecifice: ][kg/mmDensity: ][onappliedeTemperatur:u sec)]/([onappliedfluxHeat:Q retemperatuofderivativeTime: t u ]/(sec[tyconductiviThermal: rflux vectoHeat:q ][eTemperatur: 2 C 3 u 2 Q Cu Cmm f CkgkcalC C mmkcal Cmmkcal Cu o C o o o o o ⋅⋅ ⋅ Γ ⋅Γ ∂ ∂ ⋅⋅ α ρ λ (5)on (4)on0 (3)on0)( (2)indiv (1)ingrad u _ Q Γ= Γ=−⋅ Γ=−−⋅ Ω+−= ∂ ∂ Ω−= uu Qnq uunq fq t u c uq CCCα ρ λ uΓ
  • 39. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Example Problem (1/2) Outer radius 110 mm Inner radius 100 mm Convection b.c. Inner side has convection boundary conditions. Other sides are of natural boundary conditions. #elms:8941 #nodes:14491 #nodes per element : 10 100mm 110mm flow 2D problem 3D problem
  • 40. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Time dependent external temperature of the heat convection boundary conditions. Time vs Temperature 0 100 200 300 400 500 600 0 50 100 150 Time (s) Temperature(C) 系列1 Heat conductivity : 4.8*E-6 W/mm K. Specific heat : 0.133 J/kg K. Heat transfer coefficient : 4.2E-6 W/mm2 K.
  • 41. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Temperature dependent material properties : Temp. ( C) Heat conductivity (W / mm K) Spec. heat (J/kg K.) Density (Kg/ mm3) 300.0 4.37E-6 0.129 7.90E-6 350.0 4.53E-6 0.131 7.88E-6 400.0 4.70E-6 0.132 7.86E-6 450.0 4.86E-6 0.133 7.83E-6 500.0 5.02E-6 0.134 7.81E-6 550.0 5.18E-6 0.136 7.79E-6 600.0 5.34E-6 0.138 7.76E-6 Temp.(C) 300.0 400.0 500.0 600.0 Heat trans. coef. (W / mm2 K) 4.5E-6 4.3E-6 4.1E-6 3.9E-6 Table 01 Table 02
  • 42. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 0 sec 2 sec 14 sec 20 sec 110 sec 40 sec 10 sec Temperature Distributions
  • 43. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Example Problem 2/2 QΓ Domain Decomposed Mesh CΓ )0( =Q Model geometry: 4000 X 4000 X 8000 mm Mesh : 85,083 nodes, 43,230 elements, 6 parts Initial temperature : 15 o C Boundary Conditions : Inner surface : Convective heat transfer Other surfaces : Natural boundary conditions Convective heat transfer depends on time. (10).equationsatisfyand 71.70:sizemeshMinimum sec,200:incrementTime ht mmh t ∆ ∆
  • 44. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Material Properties Temp. (0 C) Thermal conductivity [Kcal/(mm o C sec)] Specific Heat [Kcal/(kg C] Density [Kg/mm3 ] 0.0 1.036e-5 0.110 7.85e-6 15.0 1.03e-5 0.111 7.85e-6 500.0 8.24e-6 0.139 7.85e-6
  • 45. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Boundary Conditions Heat transfer coefficient profile Sink temperature profile X-coordinate X coordinate cα Cu
  • 46. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Temperature Distribution(1/3) (an increase in temperature) 1 hr 3 hrs
  • 47. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 10 hrs 3 hrs 20 hrs Temperature Distribution (2/3)(constant temperature)
  • 48. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Temperature Distribution(3/3)(a decrease in temperature) 21 hrs 22 hrs 23 hrs
  • 49. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 汎用 CAE システムによる 地球シミュレータ上での大規模構造解析 九州大学  塩谷隆二         荻野正雄
  • 50. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) プロジェクトの目的 • 汎用並列有限要素法解析システム   ADVENTURE の地球シミュレータ上へ の実装 • 数億自由度モデルを用いた大規模非定常非 線形解析の実現 • 実験 , 解析不可能であった問題規模での現 象解明 , 産業界への貢献
  • 51. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) ADVENTURE システムの概要 http://adventure.q.t.u-tokyo.ac.jp (1)日本学術振興会未来開拓事業( 1997.8-2002.3 )の一 つ    として東京大学、九州大学、慶應大学などの大学主導 の    研究グループによって開発された。その後もオープン ソー    スCAEシステム開発プロジェクトとして研究開発が 継続中 (2)プレ、メイン、ポスト、設計最適化などを兼ね備えた システム (3)数百~数億自由度メッシュによる大規模解析が可能 (4) 1,000 プロセッサの超並列計算機環境でも 90% を超 える高い
  • 52. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) ADVENTURE システム (20 モジュール ) のリリース (2005.12.1) http://adventure.q.t.u-tokyo.ac.jp ADVonWin ユーティリティ : ADV_iAgent ADV_Material ADV_FEMAPtool ADV_CAD          商用 CAD                           ADV_TriPatch ADV_TetMesh ADV_BCtool ADV_Metis ADV_Solid / ADV_Thermal / ADV_Magnetic / ADV_Fluid / ADV_sFlow / ADV_Impact / ADV_Forge ADV_Visual Blue : 並列モジュール Italic : Ver.1 モジュール Roman : Ver. β モジュール ADV_IO ADV_Opt/ADV_Shape withADV_Auto
  • 53. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) ABWR 原子炉容器の CAD モデルと 6 千万自由度メ ッシュ ノズル インターナ ル ポンプ メッシュ寸法 : 2mm ( 最小 ), 10mm ( ベース )
  • 54. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 固定 x-Acceleration 1m/s2 X 方向加速度を受ける ABWR 炉容器の変形解析 地震荷重負荷時を模擬した解析 (3500 万自由度メッシュ )
  • 55. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 )地震応答解析 ■ 1940 年 Elcentro 地震  NS 方向 ■ データ : 時間刻 0.02sec, サンプル 2688 点 (53.74 秒 ) ■ 解析 : NS 方向→ Y 方向 , 229 ステップ (4.58 秒 ) -300.0 -200.0 -100.0 0.0 100.0 200.0 300.0 400.0 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0 32.0 36.0 40.0 44.0 48.0 52.0 Elapsed time [sec] Acceleration Z Y データ提供 : 日本建築センター , 86 年ビレルタ版 M. Ogino, R. Shioya, H. Kawai, S. Yoshimura, Seismic Response Analysis of Full Scale Nuclear Vessel Model with ADVENTURE System on the Earth Simulator, Journal of the Earth Simulator, Vol.2, pp.41-54, (2005)
  • 56. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 解析結果 0.8 秒後 (40 steps) 1.6 秒後 (80 steps) 0.0 –秒 0.96 秒
  • 57. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) パンテオンモデル ( さらに 64 倍に細分割 ) FE Mesh (tetrahedron-quadratic) Elements: 33,107,904 Nodes: 46,591,953 DOF: 139,347,567 古代建築物パンテオン 1 億 4 千万自由度モデル静応力解 析 . 古代建築物パンテオン 1 億 4 千万自由度モデル静応力解 析 .
  • 58. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Iterations, Time, FLOPS using 2,048PEs. Processors 2,048PEs (256Nodes) Subdomains 10,240 Iterations 373 Times 577.0 sec Memory 3.05 TB V.OP Ratio 98.6 % FLOPS (to peak) 3.88 T (24.26%) FLOPS 値はモデル形状によるが , ピーク性能の 24-30% 程度を実現可能
  • 59. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) これまでの成果 • ソルバープログラムの基礎部分を Hybrid 型に改良 - 64 ノードまで並列化率 99.98% (Flat 型と同等 ) • 3,500 万自由度原子炉圧力容器モデル非定常線形解 析 - 128 ノード上で 300 ステップを約 4.3 時間 ( 昨年より 2.4 倍高速化 , より長い時間を解析 ) • 1 億自由度原子炉圧力容器モデル非定常線形解析 - 256 ノード上で 4 ステップを約 15 分 - 1 億自由度規模でも非定常解析は実現可能
  • 60. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) CAD model. RPV model Cross section Shroud CRD housing CRD: Control Rod Derive
  • 61. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Mesh information. Elements: 29,800,348 (quad-tetra) Nodes: 50,660,053 (vertex+middle) vertex: 7,592,003 middle: 43,068,050 Parts: 26 Volume: 2.79316e+11 [mm^3] File size: 4.53GB (.gz: 1.21GB)
  • 62. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) Surface patch information. Surface patches: 11,350,764 Surface nodes: 5,674,748 Surface edge groups: 26,867 Surface patch groups: 10,005 File size: .fgr: 662MB (.gz: 203MB) .pcg: 447MB (.gz: 165MB) .pcg: 92MB (.gz: 28MB) .trn: 42MB (.gz: 12MB)
  • 63. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 内部構造物付き BWR モデル . モデル作成協力 : 東京大学吉村研究室 ( 株 ) アライドエンジニアリング ( 株 ) 東京電力 ( 株 ) 日立製作所モデル ( 断 メッ シュ 内部構造物
  • 64. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 材料別一覧 (1/4). 材質 : 低合金鋼 ヤング率 : 19,600 kg/mm2 , ポアソン比 : 0.3 , 質量密度 : 7,860 kg/m3 部品 No. 構造物名 体積 (m3 ) 質量 (kg) 1 原子炉圧力容器 90.70 712,925 3 蒸気乾燥機異材継手部 8 シュラウドサポート異材継手部 9 シュラウドサポート異材継手部 材質 : インコネル鋼 ヤング率 : 20,700 kg/mm2 , ポアソン比 : 0.3 , 質量密度 : 7,860 kg/m3 部品 No. 構造物名 体積 (m3 ) 質量 (kg) 6 シュラウドサポート 1.93 152 7 シュラウドサポート異材継手部
  • 65. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 材料別一覧 (2/4). 材質 : ステンレス鋼 ヤング率 : 18,200 kg/mm2 , ポアソン比 : 0.3 , 質量密度 : 7,860 kg/m3 部品 No. 構造物名 体積 (m3 ) 質量 (kg) 5 炉心シュラウド 6.36 50,017 10 上部格子板 1.00 7,893 13 炉心支持板 1.16 9,127 18 燃料支持 1.18 9,316 22 周辺燃料支持 23 制御棒駆動機構ハウジング容器外側部 17.01 133,715 24 制御棒駆動機構ハウジング異材継手部 25 制御棒案内管 & 制御棒駆動機構ハウジング容器内側部 26 制御棒案内管-炉心支持板側部
  • 66. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 材料別一覧 (3/4). 材質 : 燃料 ヤング率 : 7,758 kg/mm2 , ポアソン比 : 0.396 , 質量密度 : 4,933 kg/m3 部品 No. 構造物名 体積 (m3 ) 質量 (kg) 15 燃料 46.83 231,000 16 燃料 - 上部格子板上側 17 燃料 - 上部格子板部 19 周辺燃料 20 周辺燃料 - 上部格子板部 21 周辺燃料 - 上部格子板上側
  • 67. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 材料別一覧 (4/4). 材質 : 剛体 部品 No. 構造物名 体積 (m3 ) 質量 (kg) 2 蒸気乾燥器 33.38 40,000 4 気水分離機 & シュラウドヘッド 77.87 78,000 材質 : ギャップ 部品 No. 構造物名 体積 (m3 ) 質量 (kg) 11 上部格子板 - 燃料異材継手部 1.60 - 12 上部格子板 - 周辺燃料異材継手部 0.090 - 14 炉心支持板 - 制御棒案内管異材継手部 0.18 -
  • 68. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 2 億自由度モデルによる地震応答解析 [Mesh] Elements: 29,800,348 (tetra-linear) Nodes: 50,660,053 [Solve] 128 nodes (1,024 APs) 1 time step : 約 13 分 2.2Tflops , -300.0 -200.0 -100.0 0.0 100.0 200.0 300.0 400.0 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0 32.0 36.0 40.0 44.0 48.0 52.0 Elapsed time [sec] Acceleration 1940 年 Elcentro 地震 NS 方向 時間刻 0.02sec データ提供 : 日本建築センター , 86 年ビレルタ版
  • 69. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 今後の計画 • バーチャル実証試験を実現する ( 現在計算中のモデルの結果を受け , 産業界との 連携を密にする ) • 共有 - 分散メモリ活用型の並列化を完成させる • 非定常非線形機能に対するチューニングを進める • 熱流体解析 , 連成解析機能の実装
  • 70. 第 3 回 ADVENTURE 定期セミナー 2006 年 3 月 17 日 ( 金 ) 今後の計画 • バーチャル実証試験を実現する ( 現在計算中のモデルの結果を受け , 産業界との 連携を密にする ) • 共有 - 分散メモリ活用型の並列化を完成させる • 非定常非線形機能に対するチューニングを進める • 熱流体解析 , 連成解析機能の実装

Editor's Notes

  1. This slide shows the stress distribution and deformed shape by seismic response analysis. This video shows results from 0 seconds to 1.0 seconds.
  2. This slide shows comparison with the case of 1,024 and 2,048 processors. Both case shows over 26% of peak performance, especially we archived about 4 Tflops with 2,048 processors. Therefore, we succeeded the analysis of 100 million dofs model in about only 10 minutes. I think, in FE analysis with unstructured mesh, this result is one of the best performance.