From 3267592e49f536e5a3ab491025b862d0ca0eff35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halvor=20M=C3=B8ll=20Nilsen?= Date: Wed, 31 Oct 2012 16:21:31 +0100 Subject: [PATCH] make geometry parallel --- opm/core/grid/cpgpreprocess/geometry.c | 97 ++++++++++++++------------ 1 file changed, 52 insertions(+), 45 deletions(-) diff --git a/opm/core/grid/cpgpreprocess/geometry.c b/opm/core/grid/cpgpreprocess/geometry.c index a49fc874..58c65e9a 100644 --- a/opm/core/grid/cpgpreprocess/geometry.c +++ b/opm/core/grid/cpgpreprocess/geometry.c @@ -2,6 +2,7 @@ * Copyright 2010 (c) SINTEF ICT, Applied Mathematics. * Jostein R. Natvig */ +#include #include #include #include "geometry.h" @@ -46,11 +47,20 @@ compute_face_geometry(int ndims, double *coords, int nfaces, double cface[3] = {0}; double n[3] = {0}; - const double twothirds = 0.666666666666666666666666666667; + double twothirds = 0.666666666666666666666666666667; + double a; + int num_face_nodes; + double area; + /*#pragma omp parallel for */ + + /*#pragma omp parallel for shared(fnormals,fcentroids,fareas)*/ +#pragma omp parallel for default(none) \ + private(f,x,u,v,w,i,k,node,cface,n,a,num_face_nodes,area) \ + shared(fnormals,fcentroids,fareas \ + ,coords, nfaces, nodepos, facenodes) \ + firstprivate(ndims, twothirds) for (f=0; f0)) + /* if(!(a>0)) { fprintf(stderr, "Internal error in compute_face_geometry."); } - + */ /* face normal */ for (i=0; i 0.0)) { - fprintf(stderr, - "Internal error in mex_compute_geometry(%*d): " - "negative volume\n", ndigits, c); - } - for (i=0; i