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