I II III 2

Similar documents
Microsoft PowerPoint OpenFOAMの使い方(柴田).ppt [互換モード]

TokyoUnivITC

ParallelCalculationSeminar_imano.key

Text

OpenFOAM による熱移動と流れの数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

この講習会では, ユーザーガイドを参照しながら, 作業を進めます ユーザーガイドは下記サイトで入手可能です OpenFOAM Documentation( オリジナル )

MyFirstOpenFOAM

workshop2009course.ppt

course pptx

この講習会では, ユーザーガイドを参照しながら, 作業を進めます ユーザーガイドは下記サイトで入手可能です OpenFOAM Documentation( オリジナル )

PowerPoint プレゼンテーション

(Microsoft PowerPoint - SM_2011_07_30_\202\250\202\334\202\257)

Microsoft PowerPoint - 第3回OpenCAE初歩情報交換会@北東北_若嶋1.pptx

PowerPoint プレゼンテーション

OpenFOAM User Guide

OpenFOAM User Guide

スパコンに通じる並列プログラミングの基礎

X Window System X X &

スパコンに通じる並列プログラミングの基礎

スパコンに通じる並列プログラミングの基礎

目次 1. 目次 2. Cygwinインストール (1) 3. Cygwinインストール (2) 4. 公開鍵の作成 5. 利用支援ポータルへのアクセス 6. パスワード変更 ( 初回の場合 ) 7. パスワード変更成功画面 8. 利用支援ポータルへの再ログイン 9. 言語の変更 10. 公開鍵の登

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

PisoFoamによる         2次元円柱周りの流れの解析

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - RBU-introduction-J.pptx

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

1. TreeFoam概要 TreeFoamをベースにして ここから各種操作ができる 特に OpenFOAMの基本操作になる case作成 境界条件設定 メッシュ作成 の概要について説明 内容 1) TreeFoamのメニュー case作成 コピー 2) grideditor概要 境界条件の設定 確

GNU Emacs GNU Emacs

HPhi_exercise.key

OpenFOAM による メッシュ操作入門 2014 年 5 月 10 日オープンCAE 富山富山県立大学中川慎二 2014/5/10 オープン CAE 富山 1

swak4Foamを使って見ました.odp

Reedbush 利用の手引き 2 ノートパソコンの設定 : 公開鍵の生成 登録 ネットワーク環境に接続してから行ってください

I I / 47

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

¥¤¥ó¥¿¡¼¥Í¥Ã¥È·×¬¤È¥Ç¡¼¥¿²òÀÏ Âè11²ó

Microsoft PowerPoint - 第3回OpenCAE初歩情報交換会@北東北_若嶋3.pptx


Reedbush-U の概要 ログイン方法 東京大学情報基盤センタースーパーコンピューティング研究部門

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

tebiki00.dvi

RedHat OpenFOAM OpenFOAM ver 2.3 RedHat(RHEL)

OpenFOAMユーザーのためのシェルスクリプト入門

LS-DYNA 利用の手引 第 1 版 東京工業大学学術国際情報センター 2017 年 9 月 25 日

2018/9/23 for DEXCS2018 DEXCSランチャーの使い方 1

OpenFAOM合同勉強会【関西】

目次 TreeFoam とは...4 インストール方法 動作環境 インストール configtreefoam の設定内容...6 起動方法 通常の起動方法 起動しない場

2 I I / 61

(Microsoft PowerPoint \225\327\213\255\211\357\(\215\202\213\264\).ppt)

Unix * 3 PC 2 Linux, Mac *4 Windows Cygwin Cygwin gnuplot Cygwin unix emulator online gnuplot *5 matplotlib *6 SuperMongo *7 gnuplot gnuplot OS *8 Uni

Version1.5

Microsoft PowerPoint - intro.ppt

資料2-1 計算科学・データ科学融合へ向けた東大情報基盤センターの取り組み(中村委員 資料)

OpenFOAM 流体構造連成解析 概要 : OpenFOAM-1.5-dev に搭載されている連成解析 ソルバー (icofsifoam) と 公開されている片持ち梁の 例題 (flappingconsolesmall) を使って それらの使用方法と ( 例題の ) 拡張方法を演習する

1 1.1 (JCPRG) 30 Nuclear Reaction Data File (NRDF) PC GSYS2.4 JCPRG GSYS2.4 Java Windows, Linux, Max OS X, FreeBSD GUI PNG, GIF, JPEG X Y GSYS2

1

programmingII2019-v01

Salome-Mecaを使用した メッシュ生成(非構造格子)

A : kerl kerl Erlang/OTP Erlang/OTP 2 2 Elixir/Phoenix URL 2 PDF A.2 Bash macos.bash_profile exp

Microsoft Word - D JP.docx

MOTIF XF 取扱説明書

TOPLON PRIO操作手順

Slide 1

dTVIIman.PDF

ProVisionaire Control V3.0セットアップガイド

1 I EViews View Proc Freeze

: (EQS) /EQUATIONS V1 = 30*V F1 + E1; V2 = 25*V *F1 + E2; V3 = 16*V *F1 + E3; V4 = 10*V F2 + E4; V5 = 19*V99

untitled

Version1.4

ZEMAX Nagata DLL Volume-CAD c Copyright by RIKEN All Rights Reserved : : ( )


内容に関するご質問は まで お願いします [Oakforest-PACS(OFP) 編 ] 第 85 回お試しアカウント付き並列プログラミング講習会 ライブラリ利用 : 科学技術計算の効率化入門 スパコンへのログイン テストプログラム起動 東京大学情報基盤セ

Microsoft Word - TORQUE利用の手引きver1.1.doc

2.2 Sage I 11 factor Sage Sage exit quit 1 sage : exit 2 Exiting Sage ( CPU time 0m0.06s, Wall time 2m8.71 s). 2.2 Sage Python Sage 1. Sage.sage 2. sa

コンピュータ概論

Oracle Calendar Oracle Collaboration Suite 2(9.0.4) Creation Date: Jun 04, 2003 Last Update: Nov 18, 2003 Version:

\\afs001-0m0005\project02\A32\M

Specview Specview Specview STSCI(Space Telescope SCience Institute) VO Specview Web page htt

microSTATION Operation guide

09中西

グラフ数値読み取りシステム (GSYS2.4) 利用の手引

TM-T88VI 詳細取扱説明書

untitled

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

RT300/140/105シリーズ 取扱説明書

Transcription:

1

I II III 2

FY 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 Hitachi SR11K/J2 IBM Power-5+ 18.8TFLOPS, 16.4TB Yayoi: Hitachi SR16000/M1 IBM Power-7 54.9 TFLOPS, 11.2 TB Hitachi HA8000 (T2K) AMD Opteron 140TFLOPS, 31.3TB Oakleaf-FX: Fujitsu PRIMEHPC FX10, SPARC64 IXfx 1.13 PFLOPS, 150 TB Oakforest-PACS Fujitsu, Intel KNL 25PFLOPS, 919.3TB Post FX10 50+ PFLOPS (?) Oakbridge-FX 136.2 TFLOPS, 18.4 TB Reedbush, SGI Broadwell + Pascal 1.80-1.93 PFLOPS Peta K K computer Post-K 3

4

5

6

7

T t +r (UT)+r (αrt)=s T solve(fvm::ddt(t) + fvm::div(phi,t) - fvm::laplacian(dt,t) == fvoptions(t)); http://www.openfoam.org/ 8

9

$ sol;ls grep -v doc wc -l 12 $ find. -regex '.*/ Make/files' xargs grep EXE wc -l 82 $ tut;find. -name controldict wc -l 253 10

[OFF] [OFT] https:// sites.google.com/site/freshtamanegi/ 11

[OFT] [OFF] 12

[OFT] 13

[OFT] 14

[OFF] 15

[OFT] 16

( ) ( ) [blockmesh snappyhexmesh ] [setfields ] () [ParaView Visit ] () [cfmesh,salome,gmsh ] ( ) [decomposepar] [icofoam ] [gmshtofoam ] ( ) [reconstructpar] [sample ] 17

18

application icofoam; startfrom starttime; starttime 0; stopat endtime; endtime 0.5; deltat 0.005; writecontrol timestep; writeinterval 20; writeformat ascii; writeprecision 6; writecompression off; blockmesh toposet splitmeshregions -cellzones changedictionary -region : faceagglomerate -region : viewfactorsgen -region : chtmultiregionsimplefoam 19

20

21

22

I U 23

d=0.1 m U=1 m/s U=1 m/s ν=0.01 m2 /s Re= du/ν =10 icofoam 0.1m 0.1m icofoam r U =0 U t +r (UU) r νru = rp U p ν 24

25

26

ssh reedbush.cc.u-tokyo.ac.jp -l txxxxx -Y txxxxx xev X Cntr-C( C ) cdw cp /lustre/gt00/zyyyyy/lecture.tar./ tar xf lecture.tar zyyyyy WEB lecture ln -s $PWD/lecture ~/ ~/lecture /lustre/gt00/txxxxx/lecture 27

module avail -l - Package -----------------------------+- Versions -+- Last mod. ------ /lustre/app/modulefiles/compiler: intel-mpi/2017.2.174 default 2017/03/30 /lustre/app/modulefiles/mpi: intel-mpi/2017.2.174 default 2017/03/30 mpt/2.14 2016/06/28 /lustre/app/modulefiles/application: openfoam/1612-mpt openfoam/3.0.1 openfoam/3.0.1-mpt 2017/01/27 2016/08/31 2016/08/31 /lustre/app/modulefiles/tools: intel-vtune/17.2.0.499904 2017/05/08 Intel MPI OpenFOAM 1612-mpt(v1612+ ) 28

module unload intel load intel unload module load intel/17.0.2.174 module unload intel-mpi module load mpt/2.14 module load openfoam/1612-mpt intel 17.0.2 load intel-mpi unload mpt/2.14 load OpenFOAM v1612+ load. $WM_PROJECT_DIR/etc/bashrc $WM_PROJECT_DIR ) 29

alias cdw) run : src : app : util : sol : tut : alias OF1612mpt='\ module unload intel intel-mpi mpt openfoam;\ module load intel/17.0.2.174;\ module unload intel-mpi;\ module load mpt/2.14;\ unset WM_PROJECT_DIR;\ module load openfoam/1612-mpt;\. $WM_PROJECT_DIR/etc/bashrc\ ' OF1612mpt ~/.bashrc. ~/.bashrc 30

cdw cd cdw cd lecture/ cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity./ cd cavity $FOAM_TUTORIALS tree find sort. 0 tree U ( ) p constant transportproperties system blockmeshdict controldict fvschemes fvsolution../0 find sort./0/u./0/p./constant./constant/transportproperties./system./system/blockmeshdict./system/controldict./system/fvschemes./system/fvsolution 31

0/ // U // p // constant/ // transportproperties // ( ) constant/polymesh/ // system/ blockmeshdict controldict fvschemes fvsolution // // // // // 32

blockmesh 0/ U p constant/ transportproperties constant/polymesh/ boundary faces,neighbor,owner,points system/ blockmeshdict controldict fvschemes fvsolution / U, p, phi icofoam 33

34

20 (Δy=5mm) 1 (Δz=10mm) 20 (Δx=5mm) 35

more system/blockmeshdict /*--------------------------------*- C++ -*----------------------------------*\ ========= \\ / F ield OpenFOAM: The Open Source CFD Toolbox \\ / O peration Version: plus \\ / A nd Web: www.openfoam.com \\/ M anipulation \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockmeshdict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // converttometers 0.1; vertices ( (0 0 0) (1 0 0) (1 1 0) --More--(55%) more ( more) SPC b /. h q 36

system/blockmeshdict converttometers 0.1; // vertices // ( (0 0 0) // 0 (1 0 0) // 1 (1 1 0) // 2 (0 1 0) // 3 (0 0 0.1) // 4 (1 0 0.1) // 5 (1 1 0.1) // 6 (0 1 0.1) // 7 ); 37

system/blockmeshdict blocks // ( hex (0 1 2 3 4 5 6 7) (20 20 1) simplegrading (1 1 1) // // 1= ); edges // ( ); 38

system/blockmeshdict boundary // ( movingwall // { type wall; // faces // ( (3 7 6 2) // // // ); } ); frontandback { } // type empty; // (2 ) faces ( (0 3 2 1) (4 5 6 7) ); fixedwalls // // 39

cp -a../share/*./ more blockmesh.sh Ghia blockmesh.sh #!/bin/bash ( u-tutorial ) #PBS -q u-lecture #PBS -W group_list=gt00 #PBS -l select=1:ncpus=1:mpiprocs=1:ompthreads=1 #PBS -l walltime=0:10:00 select( )=1 ncpus( )=1 cd $PBS_O_WORKDIR export MPI_BUFFER_SIZE=20000000 mpiprocs( MPI )=1. /etc/profile.d/modules.sh ompthreads( module purge )=1 MPI 1 module load intel/17.0.2.174 module load mpt/2.14 module module load openfoam/1612-mpt module purge load blockmesh >& log.blockmesh blockmesh 40

qsub blockmesh.sh JOB_ID.reedbush-pbsadmin0 #JOB_ID rbstat JOB_ID JOB_NAME STATUS PROJECT QUEUE START_DATE ELAPSE TOKEN NODE JOB_ID blockmesh. QUEUED gt00 u-lecture - - - 1 JOB_ID JOB_NAME STATUS PROJECT QUEUE START_DATE ELAPSE TOKEN NODE JOB_ID blockmesh. RUNNING gt00 u-lecture - - - 1 JOB_ID JOB_NAME STATUS PROJECT QUEUE START_DATE ELAPSE TOKEN NODE qdel JOB_ID 41

tree 0 U p blockmesh.sh blockmesh.sh.e91438 blockmesh.sh.o91438 constant polymesh boundary faces neighbour owner points transportproperties icofoam.sh log.blockmesh system blockmeshdict controldict fvschemes fvsolution. JOB_ID blockmesh more blockmesh.sh.*../share 42

more log.blockmesh log.blockmesh Mesh Information ---------------- boundingbox: (0 0 0) (0.1 0.1 0.01) npoints: 882 ncells: 400 nfaces: 1640 ( ) ninternalfaces: 760 ( ) ---------------- Patches ( ) ---------------- patch 0 (start: 760 size: 20) name: movingwall patch 1 (start: 780 size: 60) name: fixedwalls patch 2 (start: 840 size: 800) name: frontandback End 43

44

~/lecture /lecture cd ls scp -r txxxxx@reedbush-u.cc.u-tokyo.ac.jp:~/lecture./ txxxxx (xxxxx ) lecture mv lecture lecture.orig cd lecture/cavity/ passphrase 45

46

Client Data Server Render Server 47

Client Data Server Render Server paraview Data Server Render Server pvserver Client paraview Data Server Render Server pvdataserver pvrenderserver Client paraview 48

49

touch pv.foam pv.foam parafoam 50

Outline Points Wireframe Surface Surface With Edges Volume 51

52

0/ U more 0/U 0/U dimensions [ 0 1-1 0 0 0 0 ]; # #SI [kg] [m] [s] [K] [kgmol] [A] [cd] #( [m]) ( [s]) -1 [m/s] internalfield uniform (0 0 0); # 0 (= 0) 53

0/U boundaryfield { movingwall { type fixedvalue; # # # } value uniform (1 0 0); #(1,0,0) ( ) } fixedwalls { type noslip; } frontandback { type empty; } # # #2 54

0/ more 0/p 0/p p dimensions [ 0 2-2 0 0 0 0 ]; # #SI [kg] [m] [s] [K] [kgmol] [A] [cd] #OpenFOAM #( ) ( ) ( ) -2 / (( ) ( ) -3 ) = ( ) 2 ( ) -2 # p internalfield uniform 0; # 0() 55

0/p boundaryfield # { movingwall # { type zerogradient; # 0 } } fixedwalls { } type zerogradient; frontandback { type empty; } # #2 56

constant/ transportproperties ( ) more constant/transportproperties constant/transportproperties nu [ 0 2-1 0 0 0 0 ] 0.01; // nu // [m 2 /s] 57

system/ controldict fvschemes fvsolution // // // // system/fvschemes ( ) ddtschemes // { default Euler; //Euler //default: } gradschemes // { default Gauss linear; // } divschemes // { div(phi,u) Gauss linear; //div(phi,u): U (phi ) } system/fvsolution ( ) solvers { p { solver // // PCG; // preconditioner DIC; // tolerance 1e-06; // } } PISO //PISO ( ) { } ncorrectors 2; //PISO 58

system/controldict application icofoam; // startfrom starttime; // ( latesttime ) starttime 0; // [s] stopat endtime; // ( nextwrite ) endtime 0.5; // [s] deltat 0.005; // [s] writecontrol timestep; // writeinterval 20; // (20time step=0.1s ) writeformat ascii; //(ascii, binary) writeprecision 6; // ( ascii ) writecompression off; // (off, on) timeformat general; // timeprecision 6; // runtimemodifiable true; // 59

vi system/controldict emacs nano, gedit system/controldict functions { #includefunc residuals } F ( Ux, Uy:, p: ) ( ) postprocessing/residuals/ /residuals.dat # Residuals # Time Ux Uy p 0.005 1.000000e+00 0.000000e+00 1.000000e+00 0.01 1.606860e-01 2.608280e-01 4.289250e-01 60

icofoam.sh ( ) #!/bin/bash ( u-tutorial ) #PBS -q u-lecture #PBS -W group_list=gt00 #PBS -l select=1:ncpus=1:mpiprocs=1:ompthreads=1 #PBS -l walltime=0:10:00 cd $PBS_O_WORKDIR export MPI_BUFFER_SIZE=20000000. /etc/profile.d/modules.sh module purge module load intel/17.0.2.174 module load mpt/2.14 module load openfoam/1612-mot icofoam >& log.icofoam icofoam (blockmesh.sh ) qsub icofoam.sh 61

tree 0.1 (0.1, 0.2, 0.3. 0.4, 0.5) U p phi ( ) uniform time 0.2 icofoam.sh.e91439 icofoam.sh.o91439 log.icofoam 62

more log.icofoam log.icofoam Build : v1612+ Exec : icofoam Date : Jan 1 1970 Time : 00:00:00 Host : nxxx" # ( ) # # ( ) # ( ) # ( ) PID : xxxxx # ID( ) Case : /xx/lecture/cavity # ( ) nprocs : 1 # ( ) # ( 1) filemodificationchecking : Monitoring run-time modified files using timestampmaster (filemodificationskew 10) allowsystemoperations : Allowing user-supplied system call operations 63

log.icofoam Starting time loop # ( ) Time = 0.005 # Courant Number mean: 0 max: 0 #(1 ) smoothsolver: Solving for Ux, Initial residual = 1, Final residual = 8.90511e-06, No Iterations 19 #Ux( x ) (Uy) #smoothsolver: (Gauss-Seidel ) #Initial residual: #Final residual: #No Iterations: DICPCG: Solving for p, Initial residual = 1, Final residual = 7.55423e-07, No Iterations 35 #p( ) #DICPCG: PCG( )+ DIC 64

log.icofoam time step continuity errors : sum local = 5.03808e-09, global = -7.94093e-21, cumulative = -7.94093e-21 # #sum local : #global : ( ) #cumulative : global ExecutionTime = 0.22 s ClockTime = 4 s #ExecutionTime: (0.01 ) #ClockTime: I/O ( ) Time = 0.01 # # End #OpenFOAM End 65

-r 1 foammonitor -r 1 -l postprocessing/residuals/0/residuals.dat & Ux,Uy p (postprocessing/ residuals/0/ residuals.dat) 60 Ctrl+C 66

67

~/lecture/cavity/ /lecture/cavity/ rsync -auv txxxxx@reedbush-u.cc.u-tokyo.ac.jp:~/lecture/cavity/./ receiving file list... done./ icofoam.sh.ejob_id icofoam icofoam.sh.ojob_id log.icofoam (rsync ) : /( ) a=archive() u=update(), v=verbose() 68

69

70

71

72

73

II postprocess ( sample gnuplot profile line profile line 74

cdw cd lecture/ cp -a cavity cavityre100 cd cavityre100/ foamcleantutorials postprocessing echo *.sh.* rm *.sh.* echo rm *. rm -i 75

vi system/blockmeshdict converttometers 0.11; // vertices ( (0 0 0) // 0 vi system/controldict endtime 0.530; // [s] deltat 0.005; // [s] writecontrol // (1 0 0) // 1 ( 1 1 ) timestep; // writeinterval 201000; // (1000time step=5s ) Re 30s 5s Re 76

serial.sh ( ) #!/bin/bash #PBS -q u-lecture ( u-tutorial ) #PBS -W group_list=gt00 #PBS -l select=1:ncpus=1:mpiprocs=1:ompthreads=1 #PBS -l walltime=0:10:00 cd $PBS_O_WORKDIR export MPI_BUFFER_SIZE=20000000. /etc/profile.d/modules.sh module purge module load intel/17.0.2.174 module load mpt/2.14 module load openfoam/1612-mot blockmesh >& log.blockmesh icofoam >& log.icofoam qsub serial.sh blockmesh icofoam 77

rbstat foammonitor -r 1 -l postprocessing/residuals/0/residuals.dat & tail -f log.icofoam tail Ctrl-C No Iteration qdel JOB_ID 78

more system/sample system/sample type sets; setformat raw; interpolationscheme cellpointface; sets ( linex1 { type midpointandface; axis x; start (-0.001 0.5 0.05); end ( 1.001 0.5 0.05); } liney1 linex1 ); fields( U ); raw: vtk,csv,gnuplot cellpointface: cell( ) cellpoint: face x/y/z/xyz( ) linex1 liney1 79

postprocess -func sample -latesttime -latesttime more postprocessing/sample/30/linex1_u.xy postprocessing/sample/30/linex1_u.xy x Ux Uy Uz sample Axis x x 0 0 0 0 0.025-0.00210791 0.0432661 0 : 0.975-0.00499169-0.0506717 0 1 0 0 0 80

more profiles.gp profiles.gp( ) plot \ 'u-vel.dat' using 3:2 axes x2y1 title 'Ghia et al., u' with point pt 4\,'v-vel.dat' using 2:3 axes x1y2 title 'Ghia et al., v' with point pt 6\,'< cat postprocessing/sample/*/liney1_u.xy \ using 2:1 axes x2y1 title 'case 0, u' \,'< cat postprocessing/sample/*/linex1_u.xy' \ using 1:3 axes x1y2 title 'case 0, v' u-vel.dat v-vel.dat Ghia (CAE @ - OpenFOAM ) Re Re=100(3 ), 400(4), 1000(5), 3200(6), 5000(7), 7500(8),10000(9) gnuplot profiles.gp evince profiles.pdf 81

u -1-0.8-0.6-0.4-0.2 0 0.2 0.4 0.6 0.8 1 1 0.9 0.8 1 0.8 0.6 Ghia et al., u Ghia et al., v case 0, u case 0, v y 0.7 0.6 0.5 0.4 0.2 0 v 0.4-0.2 0.3 0.2 0.1 0-1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x -0.4-0.6-0.8 Renu profiles.gp blockmesh 82

III decomposepar reconstructpar processor 2 processor 3 processor 0 processor 1 dambreakfine 83

system/decomposepardict numberofsubdomains 4; // method simple; // simplecoeffs // { } n delta 0.001; ( 2 2 1 ); // hierarchicalcoeffs // { } n ( 2 2 1 ); order xyz; // delta 0.001; simple hierarchical metis metis scotch manual 84

system/ decomposepardict metis 3 4 1 2 1 2 3 4 scotchcoeffs metiscoeffs { processorweights ( 1 2 3 4 ); // 3 4 1 4 // } scotch 1 2 3 2 85

parallel.sh ( MPI) #!/bin/bash #PBS -q u-lecture ( u-tutorial ) #PBS -W group_list=gt00 #PBS -l select=1:ncpus=4:mpiprocs=4:ompthreads=1 #PBS -l walltime=0:10:00 select( )=1 cd $PBS_O_WORKDIR export MPI_BUFFER_SIZE=20000000. /etc/profile.d/modules.sh module purge module load intel/17.0.2.174 module load mpt/2.14 module load openfoam/1612-mpt blockmesh >& log.blockmesh decomposepar -celldist >& log.decomposepar mpiexec_mpt icofoam -parallel >& log.icofoam SGI MPT mpiexec reconstructpar >& log.reconstructpar ncpus( )=4 mpiprocs(mpi )=4 ompthreads( )=1 (-celldist ) icofoam 86

qsub parallel.sh more log.decomposepar log.decomposepar Processor 0 # 0 Number of cells = 4096 # Number of faces shared with processor 1 = 64 #1 Number of faces shared with processor 2 = 64 #2 processor 2 processor 0 Number of processor patches = 2 # Number of processor faces = 128 # (=64+64) Number of boundary faces = 8320 # processor 3 processor 1 Processor 1 # 1 Number of cells = 4096 # 87

log.decomposepar Number of processor faces = 256 # ( ) # # Max number of cells = 4096 (0% above average 4096) Max number of processor patches = 2 (0% above average 2) Max number of faces between processors = 128 (0% above average 128) Wrote decomposition as volscalarfield to celldist for use in postprocessing. Time = 0 Processor 0: field transfer # 0 ( ) Processor 1: field transfer Processor 2: field transfer Processor 3: field transfer processor 2 processor 0 processor 3 processor 1 88

constant/ polymesh/ # 0/ # U, p # processor 2 processor 3 processor0/ # constant polymesh/ # processor 0 processor 1 0/ # U,p # processor1/ # processor0 processor2/ processor3/ 89

more log.icofoam log.icofoam nprocs : 4 # Slaves : 3 # (nprocs-1) ( "n343.10463" "n343.10464" #.PID( ID) ( PID) #= "n343.10465" ) Pstream initialized with: # () floattransfer : 0 nprocssimplesum : 0 commstype : nonblocking polling iterations : 0 90

processor0/ 5/ U, p, phi : 30/ processor1/ 5/ U, p, phi processor2/ 5/ U, p, phi processor3/ 5/ U, p, phi 5/ 10/ : 30/ () U, p, phi U, p, phi U, p, phi 91

~/lecture/ /lecture/ cd ~/lecture rsync -auv txxxxx@reedbush-u.cc.u-tokyo.ac.jp:~/lecture/./ ( ) cd touch pv.foam 92

pv.foam processor 2 processor 3 decomposepar processor 0 processor 1 celldist 0 celldist 93

SP SP = TS / TP TS TP E P EP = SP / P 100 [%] T8 < T12 94

95

1 Re=400 20 or 128 1 4 (Strong scaling) log.icofoam log.icofoam ClockTime t1,t4 =t1/t4 =(t1/t4)/4 2 1 (Strong scaling) 3 256 1 2 96

( ) intelvtune CLI (GUI Reedbush ) intel VTune module module load intel-vtune/17.0.2.478468 cdw cd lecture/ cp -r cavityre100 cavityre100-p cd cavityre100-p foamcleantutorials ( ) blockmesh 97

intel VTune icofoam amplxe-cl -collect hotspots -r vtune icofoam > log.icofoam tail log.icofoam Elapsed Time: 8.271 CPU Time: 6.650 Average CPU Usage: 0.798 CPU 79.8% amplxe-cl -R hotspots -r vtune > vtune.txt more vtune.txt Function CPU Time : std::ostream::flush 1.511s : Foam::DICPreconditioner::precondition 0.150s : Foam::lduMatrix::Amul 0.140s : DIC CPU 98

DNS basic combustion compressible discretemethods electromagnetics financial heattransfer incompressible mesh multiphase lagrangian resources stressanalysis 99

cdw cd lecture/ cp -r $FOAM_TUTORIALS. cd tutorials/incompressible/simplefoam/motorbike/ cp ~/lecture/foamruntutorials.sh./ qsub foamruntutorials.sh rbstat tail -f log.foamruntutorials foamruntutorials foamcleantutorials # 100

cd ~/lecture/ mkdir tutorials cd tutorials/ rsync -auv txxxxx@reedbush-u.cc.u-tokyo.ac.jp:~/lecture/tutorials/./ -- exclude=processor* 1 exclude processor* cd incompressible/simplefoam/motorbike/ touch pv.foam 101

hex split hex hex split split hex 102

0 1 2 103

104

105

$%&#! '()*&#! +,-!./0! blockmesh! OpenFOAM! 3456756! Gmsh! ParaView! Salome! +,-! @ABC,! VisIt! CAD! snappyhexmesh! Netgen! <=>?! 89:;! Ensight! FieldView! Gambit! Mesh! 1!2! 1!2! I/O! OpenFOAM! D4EF+4G! HI! 106

blockmeshdict 6 7 8 15 16 2 3 17 3 4 5 y 0 z 12 13 14 x 0 1 1 2 9 10 11 blockmesh 107

108

constant/polymesh 1/polyMesh 2/polyMesh 3/polyMesh overwrite constant/polymesh blockmesh snappyhexmesh 109

snappyhexmesh 110

system/snappyhexmeshdict castellatedmesh true; // snap true; // addlayers false; // geometry { flange.stl // CAD (constant/trisurface ) { } type trisurfacemesh; // name flange; //geometry }; ( ) 111

system/snappyhexmeshdict refinementsurfaces // { flange //geometry { //( ) level (2 2); } } 2( ) 0( ) 112

cdw cd lecture/tutorials/mesh/snappyhexmesh/flange/ cp ~/lecture/foamruntutorials.sh./ qsub foamruntutorials.sh 1. Use VTKPolyhedron check Mesh Parts select all Apply 2.Filters/Extract Block/Block Indices/ patches select Apply 3. Filters/Feature Edges Apply Coloring/Solid Color 4. Pipeline browser/extractblock1 hidden, flange.openfoam select 5. Filters/Slice/Z Normal Show Plane,Triangulate the slice uncheck, Crinkle slice check Apply 6. Representation/Surface With Edges Coloring/Solid Color (Feature edegs) (internalmesh) Extract Block internalmesh paches 113

~/.bashrc (. ~/.bashrc ) alias OF301mpt='\ module unload intel intel-mpi mpt openfoam;\ module load intel/16.0.3.210;\ module load mpt/2.14;\ unset WM_PROJECT_DIR;\ module load openfoam/3.0.1-mpt;\. $WM_PROJECT_DIR/etc/bashrc\ ' alias OF301impi='\ module unload intel intel-mpi mpt openfoam;\ module unload openfoam;\ module load intel/16.0.3.210 ;\ module load intel-mpi/5.1.3.210;\ unset WM_PROJECT_DIR;\ module load openfoam/3.0.1;\. $WM_PROJECT_DIR/etc/bashrc\ ' OF301mpt OF301impt 114

~/.bashrc (. ~/.bashrc ) alias OF40impi='\ module unload intel intel-mpi mpt openfoam;\ module load intel/16.0.3.210;\ module load intel-mpi/5.1.3.210;\. /lustre/app/openfoam/4.0/openfoam-4.0/etc/bashrc\ ' alias OF1606impi='\ module unload intel intel-mpi mpt openfoam;\ module load intel/16.0.3.210;\ module load intel-mpi/5.1.3.210;\. /lustre/app/openfoam/1606+/openfoam-v1606+/etc/bashrc\ ' OF40impi OF1606impi 115

cdw mkdir OpenFOAM cd OpenFOAM ln -s $PWD ~/ OpenFOAM cp -a /lustre/app/openfoam/4.0/openfoam-4.0./ & cp -a /lustre/app/openfoam/4.0/thirdparty-4.0./ & cp -a /lustre/app/openfoam/1606+/openfoam-v1606+./ & cp -a /lustre/app/openfoam/1606+/thirdparty-v1606+./ & cp -a /lustre/app/openfoam/1612-mpt/openfoam-v1612+./ & cp -a /lustre/app/openfoam/1612-mpt/thirdparty-v1612+./ & 116

~/.bashrc (. ~/.bashrc ) alias OF40mpt='\ module unload intel intel-mpi mpt openfoam;\ module load intel/16.0.3.210;\ module load mpt/2.14;\. ${HOME/home/lustre}/OpenFOAM/OpenFOAM-4.0/etc/bashrc WM_MPLIB=SGIMPI\ ' alias OF1606mpt='\ module unload intel intel-mpi mpt openfoam;\ module load intel/16.0.3.210;\ module load mpt/2.14;\. ${HOME/home/lustre}/OpenFOAM/OpenFOAM-v1606+/etc/bashrc WM_MPLIB=SGIMPI\ ' alias OF1612impi='\ module unload intel intel-mpi mpt openfoam;\ module load intel/17.0.2.174;\ module load intel-mpi/2017.2.174;\ export MPI_ROOT=$I_MPI_ROOT;\. ${HOME/home/lustre}/OpenFOAM/OpenFOAM-v1612+/etc/bashrc WM_MPLIB=INTELMPI\ ' 117

vi ~/OpenFOAM/OpenFOAM-4.0/etc/bashrc #export FOAM_INST_DIR=${BASH_SOURCE%/*/*/*} \ #export FOAM_INST_DIR=$HOME/$WM_PROJECT export FOAM_INST_DIR=/lustre/app/openfoam/4.0 export FOAM_INST_DIR=${BASH_SOURCE%/*/*/*} \ export FOAM_INST_DIR=$HOME/$WM_PROJECT export FOAM_INST_DIR=/lustre/app/openfoam/4.0 ( ) OF40mpt cd $WM_THIRD_PARTY_DIR./Allwmake src cd Pstream/./Allwmake cd../parallel/./allwmake 118

OF1606mpt cd $WM_THIRD_PARTY_DIR./Allwmake src cd Pstream/./Allwmake cd../parallel/./allwmake OF1612impi cd $WM_THIRD_PARTY_DIR./Allwmake src cd Pstream/./Allwmake cd../parallel/./allwmake boost, CGAL boost, CGAL 119