Workshop








This is a little workshop. We want to share what we didn't find on the Internet....
To download the file,  use shift+click
 
 
 

FFTW

We give a elaborate programs which calculate first in serial, then in parallel these partial derivative of a 3D function : f(x,y,z)=sin(x)*sin(y)*sin(z).
 

Makefile

Serial Program
 
fftw3dc.f90
:
3D complex function with a matrix storage
fftw3dcbis.f90
:
3D complex function with a vector storage
fftw3dr.f90
:
3D real function with a matrix storage
fftw3drbis.f90
:
3D real function with a vector storage

Parallel Program

fftw3dmpic.f90        : 3D complex function with matrix storage
 

Idra Commands

LSF software is just installed on Idra machine. This system allows priorities to be set and attempts to evenly distribute the available CPU among users independently of job submission patterns.
 
 
bsub name of program
:
to run a serial code
bsub -q test -n number of processors name of program
:
to run a test parallel code 
bsub -q parallel -n number of processors name of program
:
to run a parallel program 
bjobs
 :
to see the jobs and the numbers of the jobs
bkill number of job
:
to kill a job ron with LSF
bqueues
:
to see the queues
xrinfo
:
to see the waiting list on Idra
rcontrol kill resource= number of resource
:
to kill directly  a job on the machine
you can see the number of resource when you use xrinfo

 
 

MATLAB

We used two different routines to plot vorticity in 2D & 3D. We stored data in files.txt with four columns (x, y, z, vorticity); we need to define a new palette in these routines in order to have colors where we want.

vort2d.m                  : 2D matlab routine using isocaps to plot vorticity
vort3d.m                  : 3D matlab routine using isosurface and isocaps
 

IDL

We also used IDL in order to observe the vorticity in 3-D because this program is more powerful and faster than MATLAB.
With IDL, we used the routine xvolume which permits to obtain isosurface, to change colors immediately and to animate pictures.
The only problem with IDL is to read data and to write them in a good 3-D array, that's why I give an example of code to read and rewrite data.

idl.pro                        : 3D idl routine to read data

To run, type .run idl in IDL shell .