33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing)...

14
並列計算法 Parallel Computing話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学 (第14回資料) 2015117並列計算の目的 ・より大規模な問題の計算が可能となる. (n倍のメモリー,n:プロセッサ数) ・計算時間を大幅に短縮できる.(計算時間1/nFlops 1Tflops First Parallel Computer 1972 scaler vector multi-processor Massive parallel vacuum tube transistor micro processor 33862Tflops(2013)Tianhe-2 10510Tflops(2011):京 36Tflops(2002):地球シミュレータ スーパーコンピュータの性能 http://www.top500.org 1Pflops 並列コンピュータの必要性 科学的に複雑な問題の解明 1980年代末に提案されたグランド・チャレンジ問題 ・計算流体力学と乱流 ・大域的な気象と環境のモデル化 ・物質の設計と超流動 ・医学,人間の臓器と骨格のモデル化 ・宇宙論と宇宙物理学 コンピュータの性能向上 回路素子の進歩 真空管トランジスタ集積回路超大規模集積回路 シングルプロセッサの限界 真空中の光の速度(約 m/sec) 8 10 3 並列計算の歴史 Richardson(英国) 1911年:非線形偏微分方程式の数値解法を発表 1922年:「数値的方法による天気予測」 ・大気を5層に分け,水平方向にはヨーロッパ大陸を ブロックに分割した ・6時間分の計算を手回し計算機で6週間 Richardsonの夢 北半球全体を約2,000個のブロックに分け,32人が 一つのブロックの計算を担当すれば,6時間先の予報を 3時間で出来ると見積もった. (64,000人が巨大な劇場に集合し,指揮者のもとで 一斉に計算を行えば実現できる)

Transcript of 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing)...

Page 1: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

並列計算法(Parallel Computing)

話のポイント:・並列計算機の仕組みと並列化の方法

計算流体力学(第14回資料)

2015年1月17日

並列計算の目的・より大規模な問題の計算が可能となる.(n倍のメモリー,n:プロセッサ数)・計算時間を大幅に短縮できる.(計算時間1/n)

Flops

1TflopsFirst Parallel Computer1972

scalervector

multi-processor

Massive parallel

vacuum tube transistor

micro processor

33862Tflops(2013):Tianhe-210510Tflops(2011):京36Tflops(2002):地球シミュレータ

スーパーコンピュータの性能

http://www.top500.org

1Pflops

並列コンピュータの必要性

科学的に複雑な問題の解明1980年代末に提案されたグランド・チャレンジ問題

・計算流体力学と乱流・大域的な気象と環境のモデル化・物質の設計と超流動・医学,人間の臓器と骨格のモデル化・宇宙論と宇宙物理学

:コンピュータの性能向上

回路素子の進歩真空管→トランジスタ→集積回路→超大規模集積回路

シングルプロセッサの限界真空中の光の速度(約 m/sec)8103

並列計算の歴史

Richardson(英国)1911年:非線形偏微分方程式の数値解法を発表1922年:「数値的方法による天気予測」

・大気を5層に分け,水平方向にはヨーロッパ大陸をブロックに分割した・6時間分の計算を手回し計算機で6週間

Richardsonの夢北半球全体を約2,000個のブロックに分け,32人が一つのブロックの計算を担当すれば,6時間先の予報を3時間で出来ると見積もった.(64,000人が巨大な劇場に集合し,指揮者のもとで一斉に計算を行えば実現できる)

Page 2: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

Richardsonの夢

Richardson,L.F.:Weather Prediction by Numerical Process, Cambridge University Press, London, 1922

並列コンピュータの出現

イリノイ大学Daniel Slotnic:2種類の並列コンピュータを設計1972年:世界最初の並列計算機ILLIAC Ⅳ(Burroughs社)

完成(64台の処理ユニット,1台の中央処理ユニット:SIMD)

日本での並列コンピュータ構築研究

1977年:PACS/PAXプロジェクトが発足星野力(京都大学→筑波大学)・PACS-9(1978年,0.01Mflops)・PAX-32(1980年,0.5Mflops)

1980年PACS/PAXプロジェクト筑波大学に移動・PAX-128(1983年,4Mflops)・ PAX-64J(1986年,3.2Mflops)・QCDPAX(1989年,14Gflops)・CP-PACS(1996年,300Gflops)

(1997年,600 Gflops:2048CPU)

Page 3: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

地球シミュレータ(初代)640 nodes(5120 CPU)8GFLOPS@5120=40TFLOPS35.86Tflops(実効ピーク性能)

2002年から2年半世界最高速

地球シミュレータ(現在)

世界472位(2013年11月現在)160 nodes(1280 CPU)102.4GFLOPS@1280=131TFLOPS122.4Tflops(実効ピーク性能)

2009年3月導入の新たなシステム(NEC SX-9/E)

TSUBAME 2.5(東工大)世界11位2843TFLOS(実効ピーク)

http://www.jamstec.go.jp/esc/

次世代スパコン 京

世界4位(2013年11月現在)705024 cores(88128 CPU)128GFLOPS@88128=11280TFLOPS10510Tflops(実効ピーク性能) 実効効率93%

http://www.nsc.riken.jp/index_j.html

共有メモリー型と分散メモリー型

共有メモリー型(shared memory type):すべてのプロセッサーがメモリーを共同で使用するタイプ

分散メモリー型(distributed memory type):すべてのプロセッサーが個別にメモリーを持っている

Page 4: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

OpenMPMPI

MPI

並列計算機とプログラミングの方法

共有メモリシステム

分散メモリシステム

OpenMPMPI

MPI

OpenMPMPI

OpenMPMPI

共有分散メモリシステム(shared-distributed memory type):大規模並列システムの場合

並列計算機とプログラミングの方法

PC(Gateway)

PCs

HUB

PC cluster

OS:Linuxが主流

自作も容易

• GPGPUとは– General Purpose Graphics Processing Unit– GPUを一般的な用途で利用することの総称

• GPUの特徴– 演算能力が非常に高い

• 例:GeForce GTX Titan Z:8.12TFlops

– デスクトップPC(Win, Mac & Linux)に搭載可能.

(もちろんノートPCにも)

– 高FLOPSの割に値段が安い• GeForce GTX980(4.6Tflops):80,000円程度

• 数値計算専用のモデルもある(Tesla シリーズ,搭載メモリ多い) Tesla K80(スパコン向け) 8.74Tflops

GPUを用いた汎用計算

Page 5: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

*NVIDIA製GPUのアーキテクチャ

17

ビデオメモリ(グローバルメモリ)

SM:ストリーミングマルチプロセッサ

448/32=14 個SP:ストリーミングプロ

セッサSM1つあたり32個

シェアードメモリ(超高速)

レジスタ・メモリ(超高速)

144GB/sec

GPU計算への応用(CUDA FORTRANを利用)

Tesla C2075(GPU)SP数 448個

クロック周波数 1147MHz

ピーク演算性能1027.7GFLOPS(単精度)515GFLOPS(倍精度)

標準メモリ設定 6GB GDDR5144GB/sメモリバンド幅

プロセッサ

メモリ

Intel Core i7 990Xの場合

← 6個← 3460MHz

← 83.2GFLOPS

← 25.6GB/s

並列計算機の性能向上と普及

・ハードウエア従来のベクトルスーパーコンピュータの性能をはるかに

上回る性能の実現(マイクロプロセッサの性能向上,高速ネットワーク)

超高性能並列コンピュータからPCクラスターまで

・ソフトウエアMPI,OpenMPなどの並列プログラミング支援ツールの整備

誰もが並列計算できる環境が整った(パラダイムの変化)

欧米のほとんどの土木・機械系の大学院では並列計算に関する講義科目が用意されている

並列プログラミング支援ツール

1)OpenMPを用いる(共有メモリ型)プログラム構造を変更することなく指示文を挿入するだけで

並列化可能

2)メッセージパッシングライブラリーを用いる(分散メモリ型,共有メモリ型)

MPI(Message Passing Interface),ライブラリー関数群(逐次言語(Fortran,Cなど)の

ライブラリーとして使用)本格的な並列プログラミングが可能

3)自動並列化コンパイラーを用いる(共有メモリ)プログラム(逐次言語)をコンパイラーが自動並列化

OpenMPとは

・共有メモリ型並列計算機に対する並列化手法・コンパイラに対して並列化の指示を行なうために,プログラム中に追加する指示行の記述方法を規定( FortranやC/C++の並列化に対する標準規格)

特徴:1)並列化が容易

逐次プログラムに指示行を挿入2)移植性が高い

OpenMPに準拠しているコンパイラ3)逐次プログラムとの共存が容易

並列プログラムとしても逐次プログラムとしても利用できる

Page 6: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

OpenMPによる並列計算

OpenMPの基本的な規則

!$OMP ○○○ ×××

program hello_world_ompinteger :: mythreadmythread = 0!$OMP parallel private( mythread )!$ mythread = omp_get_thread_num()wirte(6,*) mythread,‘Hello World’!$OMP end parallel

end program hello_world_omp

:OpenMP 指示文

!$ ○ = ×*△ :OpenMP のみで実行される演算.

! ○×△ :コメント文.

Parallel構文(並列リージョンの立上げ)

環境変数の獲得(自分が何番のスレッドなのか)

Parallel構文(並列リージョンの終了)

program welcome_to_parallel_world_ompinteger :: mythreadmythread = 0write(6,*) mythread, ‘Hello Parallel World’

!$OMP parallel private( mythread )

!$ mythread = omp_get_thread_num()write(6,*) mythread,‘Parallel Computing’

!$OMP end parallel

write(6,*) mythread,‘Good-by’end program welcome_to_parallel_world_omp

write(6,*) ‘Hello Parallel World’

write(6,*) ‘Good-by’

マスタースレッド

スレーブスレッド

OpenMPプログラムの並列計算の概要

メッセージ通信によるプログラミング

プロセッサ間やネットワークで結ばれたコンピュータ間の制御,分散主記憶に分散された情報の交換を,メッセージ通信により行なう.

分散メモリー型並列計算機では,メッセージ通信によるプログラミングが最もハードウエア構成に即したプログラミングであり高性能な計算が行える(共有メモリー型並列計算機でも有効).

MPI(Message Passing Interface)が標準(MPI-1:基本仕様,MPI-2:拡張機能仕様)無償でダウンロードできる

MPI(Message Passing Interface)とは

・ノード間の情報交換をメッセージ通信で行なうライブラリ(プログラム言語ではない)・FortranやCなどの従来の逐次プログラム言語中において,ライブラリとして引用する(各ノードにおいて不足する情報の交換を,MPIサブルーチンを適切にcallすることにより行なう)・様々なプラットホームで利用できるフリーウェア

MPIの実装MPICH:http://www-unix.mcs.anl.gov/mpi/mpich/LAM:http://www.lam-mpi.org/

Windows環境で動作するMPIもある

Page 7: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

MPIのサブルーチン

1)環境管理サブルーチンMPI_INIT, MPI_COMM_SIZE, MPI_COMM_RANKMPI_FINALIZE

2)グループ通信サブルーチンMPI_REDUCE, MPI_ALLREDUCE

3)1対1通信サブルーチンMPI_ISEND, MPI_IRECV, MPI_WAITALL, MPI_WAIT

4)その他MPI_WTIME

並列計算プログラミング

例題 : 配列の和を求める

【 配列A(1)からA(100)の総和を求める 】

配列A

逐次プログラムdo i=1,num

a(i)=iend do

s=0do i=1,num

s=s+a(i)end do

A(1) A(2) A(3) ………………………………………………  A(100)

複数のプロセッサで並列に処理し、実行時間の短縮を図る

implicit double precision (a-h,o-z)parameter ( num = 100 )integer a(num)integer s

cdo i=1,num

a(i)=iend dos=0do i=1,num

s=s+a(i)end do

cwrite(6,100) s

100 format(3x,'sum = ', i10)c

stopend

プログラム名:single_sum.f

並列計算プログラミング

A(1)………A(25)PE 0 が担当

A(26)……A(50)PE 1 が担当

A(51)……A(75)PE 2 が担当

A(76)……A(100)PE 3 が担当

A(1)+ + A(100)

メモリーA(100),S,TS

CPUCPU CPU CPUPE:0 PE:1 PE:2 PE:3

メモリーA(100), S

メモリーA(100), S

メモリーA(100), S

配列をプロセッサに分割する配列A(100)の和の計算を4プロセッサ(PE)に分担させた。

部分和 + 総和 部分和 部分和 部分和s = A(1)+…+ A(25) s = A(26)+…+ A(50) s = A(51)+…+ A(75) s = A(76)+…+ A(100)

総和 TS= S(PE0) + S(PE1) + S(PE2) + S(PE3)

並列計算プログラミング例

Page 8: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

変数の定義,宣言

include 'mpif.h'c →MPIプログラムのコンパイルに必要

call MPI_INIT( ierr )c →MPI環境の初期化

call MPI_COMM_RANK ( MPI_COMM_WORLD, irank, ierr )c →各プロセスのランクirankを取得

call MPI_COMM_SIZE ( MPI_COMM_WORLD, isize, ierr )c →プロセス数isizeを取得

:並列処理プログラム

:call MPI_FINALIZE( ierr )

c →MPIの終了stopend

MPIプログラムの基本的構造implicit double precision (a-h,o-z)parameter ( icp = 4 )parameter ( num = 100 )

cinteger A( num )integer Sinteger TS

cinclude 'mpif.h' →MPIプログラムのコンパイルに必要call MPI_INIT( ierr ) →MPI環境の初期化call MPI_COMM_RANK ( MPI_COMM_WORLD, irank, ierr )

→自分のランクirankを取得call MPI_COMM_SIZE ( MPI_COMM_WORLD, isize, ierr ) →プロセス数isizeを取得

cdo i = 1, numA(i) = iend do

cS = 0TS = 0ipe = num / icpist = 1 + irank * ipeiet = ( irank + 1 ) * ipe

並列計算プログラミング例

do i = ist, ietS = S + A(i)end do

ccall MPI_REDUCE( S, TS, 1, MPI_INTEGER, MPI_SUM, 0,

& MPI_COMM_WORLD, ierr )→各プロセスの部分和Sをプロセッサ0に集め総和を求めTSに格納

cwrite(6,100) irank, S, TS

c100 format(3x,'irank = ',i3,3x,2i10)

ccall MPI_FINALIZE( ierr ) →MPIの終了

cstopend

irank = 0 325 5050irank = 1 950 0irank = 2 1575 0irank = 3 2200 0

計算結果

並列計算プログラミング例

call MPI_REDUCE(sendbuf, recvbuf, count, datatype, op, root,comm, ierror)

・sendbuf:送信バッファの先頭アドレスを指定する.・recvbuf:受信バッファの先頭アドレスを指定する.・count:整数.送(受)信メッセージの要素数を指定する.・datatype:整数.送(受)信メッセージのデータタイプを指定する.・op:整数.演算の種類を指定する.・root:整数.宛先プロセスのcomm内でのランクを指定する.・comm:整数.送受信に参加するすべてのプロセスを含むグループの

コミュニケータを指定する.・ierror:整数.完了コードが戻る.

call MPI_REDUCE( S, TS, 1, MPI_INTEGER, MPI_SUM, 0,& MPI_COMM_WORLD, ierr )→各プロセスの部分和Sをプロセス0(ランク0)に集め総和を求めTSに格納

MPIサブルーチン引用例

Page 9: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

連立一次方程式の並列解法

陽解法並列化の容易さ:容易並列化効率:良好

陰解法直接法

並列化の容易さ:やや難並列化効率:やや不良(超並列には不向き)Melosh et al., Comp. Struct., Vol.20, pp.99-105, 1985

ガウスの消去法が最も効率がよい.

反復法並列化の容易さ:容易並列化効果:良好

Hughesらによって提案されたelement-by-element法に基づく前処理付き共役勾配法…省メモリーでかつ高効率

Barragy and Carey, Int.J.Numer.Meth.Engng., Vol.26, pp.2367-2382, 1988Tezduyar et al.1992-present(流れの並列計算に関する論文多数)

・牛島:OpenMPによる並列プログラミングと数値計算法,丸善(2006)

並列プログラミング参考書

1章 OpenMPと並列計算2章 OpenMPによるプログラミング3章 OpenMPによる並列数値計算4章 付録

・樫山,西村,牛島:並列計算法入門,日本計算工学会編(計算力学レクチャーシリーズ3),丸善(2003)1章 計算力学における並列計算概論2章 有限要素法における並列計算法3章 有限差分法における並列計算法4章 境界要素法における並列計算法5章 PCクラスターの構築法とグリッドコンピューティング付録 並列プログラム

並列計算効率の評価指標

スピードアップ = 1ノード使用時の実行時間

N ノード使用時の実行時間

並列化効率 =スピードアップ

N

実行時間=計算時間+通信時間+同期待ち時間

並列計算における実行時間

並列計算における計算時間

全計算時間=計算時間+通信時間+同期待ち

粒度(granularity):並列処理の単位粗粒度:通信負荷に比べて計算負荷が卓越

全計算時間は遅いが並列化効率は良い

細粒度:通信負荷が増大全計算時間は速いが並列化効率は悪い

:

:

計算時間 通信時間

同期待ち時間

1ステップあたりの実行時間

ノード1

ノードn

実行時間

Page 10: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

ノード数

実行時間

1 2 4 8 16

計算時間(並列化不可能部分)

計算時間(並列化可能部分)

通信時間

粒度が小さい(細粒度)と並列化効率が悪くなる理由 高効率な並列計算を実現するには

1)並列処理可能な部分の拡大可能な限りの処理の並列化

2)各プロセッサの計算負荷の均等化各プロセッサーに割り当てる要素数の均等化

3)プロセッサ間の通信量の最小化通信を行う節点の最小化

自動領域分割法が有効

1台 並列化可能並列化不可能

n台

計算時間

n 1/

P:並列化部分率, N:使用するプロセッサ数

アムダールの法則

NPP /)1(1

スピードアップ

領域分割法

小領域の境界有限要素方程式

(2) 小領域間の境界上の節点数の最小化

(1) 小領域内での要素数の均等化

解析領域

効率の良い並列計算

MPIに基づく並列計算では領域分割に基づく並列計算が一般的

自動領域分割法

Page 11: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

要素ベースの方法Bisection法:計算領域を次々に数学的手法を用いて2分していく方法.Greedy法:隣接要素を記憶しておき近隣の要素を必要数だけ探索する方法.数学理論を用いない簡便な方法

(a)節点ベース(b)要素ベース

1211109

8765

4321

1211109

8765

4321

・ 2

・ 1

(a) 節点ベース (b) 要素ベース

領域分割法 伊勢湾台風による被害 (1959)

有限要素メッシュ

(elements:206,977,nodes:106,577)

領域分割図

(512 sub-domain)

Page 12: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

領域分割に基づく並列計算例 領域分割に基づく並列計算例

計算結果と観測結果との比較(名古屋港)

速度向上比(Speed-up ratio)

1プロセッサ使用時のCPU時間

N プロセッサ使用時のCPU時間速度向上比 =

並列化効率(Efficiency)

速度向上比

N並列化効率=

Page 13: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

通信ライブラリ : MPI 自動領域分割システム :Metis

例:64分割図

領域分割図 大気環境流れ

まとめ

並列計算機環境の進歩・普及と並列化手法ついて紹介した.

・共有メモリー型コンピュータの場合には、OpenMPが、分散メモリー型コンピュータの場合にはMPIが有効である

・ハイブリッド計算(Open MP+MPI)・GPUコンピューティングのさらなる進歩・普及

今後の期待

・マルチコアCPU登載のパソコンの普及により、誰もが並列計算可能な環境にある

・大規模計算には領域分割に基づく並列計算(MPI)が並列化効率の点から一般的である

・連立一次方程式の解法は反復法が並列化効率の点で優れる

商用ソフトウエアの紹介

世界でもっとも使用されているソフトウエア

1位 FLUENT有限体積法に基づく使用実績世界No.1の汎用熱流体解析ソフトウェア.http://ansys.jp/products/fluent/2位 STAR-CD(日本では最も使用されている)有限体積法に基づく汎用熱流体解析ソフトウェア.http://www.cdaj.co.jp/http://acusolve.jsol.co.jp/index.html自動車系に強い

AcuSolve:有限要素法(Galerkin/Least-Squares:GLS法)による汎用熱流体解析ソフトウェアhttp://acusolve.jsol.co.jp/index.html

Page 14: 33862Tflops(2013) Tianhe-2 並列計算法 Flops …...並列計算法 (Parallel Computing) 話のポイント: ・並列計算機の仕組みと並列化の方法 計算流体力学

AcuSolveは有限要素法による汎用熱流体解析システム

・有限要素法(Galerkin/Least-Squares:GLS)法による汎用性と高精度な解・テトラメッシュの使用を推奨・メッシュの歪みに頑強で、実用形状のメッシュ作成工数を大幅に低減できる・反復収束が速やかで解析時間を予測できるので、製品開発設計工程での計画的な適用が可能・3次元CADとの連携やユーザーインターフェースのカスタマイズによってCAEオートメーションが可能

http://acusolve.jsol.co.jp/index.html

AcuSolve FLUENT・FLUENTは、有限体積法に基づく使用実績世界No.1のCFD(数値流体力学)ソフトウェア。

http://ansys.jp/products/fluent/・FLUENTには豊富な物理モデルが搭載されており、化学反応、燃焼、混相流、相変化などが取扱える。また、高度なカスタマイズも可能。・プリプロセッサには、GAMBITを標準装備。

FLUENTでは連成解法および分離解法のアルゴリズムを用いて、非構造格子で離散化した質量、運動量、熱、化学種に関する支配方程式を解く。・2次元平面、2次元軸対称、旋回を伴う2次元軸対称、および3次元の流れ・定常/非定常流・あらゆる速度域に対応 ・非粘性流、層流、乱流 ・ニュートン流体、非ニュートン流体・強制/自然/混合対流を含む熱伝達、固体/流体連成熱伝達、ふく射・化学種の混合/反応・自由表面流/混相流モデル・分散相のラグランジュ式追跡計算・融解/凝固を対象とした相変化モデル ・非等方浸透性、慣性抵抗、固体熱伝導、

空隙率を考慮した速度、多孔質面圧力ジャンプ条件を含む多孔質モデル・ファン、ラジエータ、熱交換器を対象とした集中定数モデル・移動物体周りの流れをモデル化するダイナミックメッシュ機能 ・慣性または非慣性座標系・複数基準座標系およびスライディングメッシュ・動静翼相互作用をモデル化する接続境界面モデル・流体騒音予測のための音響モデル ・質量・運動量・熱・化学種の体積ソース項・物性値のデータベース

STAR-CDSTAR-CD英国インペリアル大学のゴスマン教授を中心として開発された有限体積法

非構造メッシュによる汎用熱流体解析プログラム.http://www.cdaj.co.jp/

CD-adapcoにより開発

非構造/完全不連続メッシュ(メッシュのつながりを意識せずにモデル化が可能)による複雑形状への優れた柔軟性とメッシュ作成コストの削減(ヘキサ,テトラ,プリズム,トリムセルを含む多面体セルに対応)

STAR-CDがカバーする解析対象は単純な熱流れ解析から,固体熱伝導や輻射/太陽輻射を含んだ熱問題,様々なタイプの混相流問題,化学反応/燃焼問題,回転機器問題,流体騒音問題,移動境界問題など多岐に渡り,解析メッシュ作成機能としてもサーフェスメッシャー,サーフェスラッパー,ボリュームメッシャーなどを標準機能として提供するほか,CADとの親和性を高めた,CADの中でSTAR-CDを利用するアドオン環境(CATIA v5, Pro/E, UG-NX, SolidWorks)も用意.

自動車,航空宇宙,重工重電,家電,化学,建築,官公庁など(国内1200ライセンス,全世界で3500ライセンスを超える導入実績)