tMade find_u operation OpenMP parallel - lbm-d3q19 - 3D lattice-Boltzmann code to approximate Navier-Stokes incompressible flow
 (HTM) git clone git://src.adamsgaard.dk/lbm-d3q19
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit b76cc7f8ed01abbed03e020b96b72e66c6407ecc
 (DIR) parent 1e0a6e6406bfb66a9c64fb94e8370ea2513ecea7
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Sun, 22 Sep 2013 17:19:06 +0200
       
       Made find_u operation OpenMP parallel
       
       Diffstat:
         M Makefile                            |       2 +-
         M lbm.c                               |       8 +++-----
       
       2 files changed, 4 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       t@@ -1,4 +1,4 @@
       -CFLAGS=-g -Wall -pg -O2
       +CFLAGS=-g -Wall -pg -O2 -fopenmp
        LDLIBS=-lm
        BIN=lbm
        
 (DIR) diff --git a/lbm.c b/lbm.c
       t@@ -2,10 +2,6 @@
        #include <stdlib.h> // dynamic allocation
        #include <math.h>
        
       -// Courant kriterie for tidsskridt
       -// No slip top og bund
       -// Periodiske sider
       -
        // Floating point precision
        //typedef float Float;
        typedef double Float;
       t@@ -40,7 +36,7 @@ const int m = 19;
        // Time step length
        //const double dt = 1.0;
        const double dt = 1.0e-3;
       -//const double dt = 0.01;
       +//const double dt = 1.0e-6;
        
        // Simulation end time
        //const Float t_end = 1.5e-4;
       t@@ -250,6 +246,7 @@ Float3 find_u(
            Float3 u = {0.0, 0.0, 0.0};
            Float f_i;
            unsigned int i;
       +#pragma omp parallel for private(f_i,u)
            for (i=0; i<m; i++) {
                f_i = f[idxi(x,y,z,i)];
                u.x += f_i*e[i].x/rho;
       t@@ -299,6 +296,7 @@ void collide(
                        u[idx(x,y,z)] = u_new;
        
                        // Find new f values by fluid particle collision
       +//#pragma omp parallel for
                        for (i=0; i<m; i++) {
                            f[idxi(x,y,z,i)] =
                                bgk(f[idxi(x,y,z,i)], tau(), rho_new,