[cig-commits] r19798 - seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Sun Mar 18 09:41:53 PDT 2012


Author: dkomati1
Date: 2012-03-18 09:41:52 -0700 (Sun, 18 Mar 2012)
New Revision: 19798

Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90
Log:
$OMP CRITICAL statements by Marcin Zielinski from SARA (Netherlands) for OpenMP


Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90	2012-03-17 00:35:02 UTC (rev 19797)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_element.F90	2012-03-18 16:41:52 UTC (rev 19798)
@@ -173,13 +173,16 @@
 
         ! compute deviatoric strain
         if (COMPUTE_AND_STORE_STRAIN) then
+          templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
           if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
             ispec_strain = 1
+!$OMP CRITICAL
+            epsilon_trace_over_3(i,j,k,ispec_strain) = templ
+!$OMP END CRITICAL
           else
             ispec_strain = ispec
+            epsilon_trace_over_3(i,j,k,ispec_strain) = templ
           endif
-          templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-          epsilon_trace_over_3(i,j,k,ispec_strain) = templ
           epsilondev_loc(1,i,j,k) = duxdxl - templ
           epsilondev_loc(2,i,j,k) = duydyl - templ
           epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
@@ -514,13 +517,16 @@
 
         ! compute deviatoric strain
         if (COMPUTE_AND_STORE_STRAIN) then
+          templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
           if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
             ispec_strain = 1
+!$OMP CRITICAL
+            epsilon_trace_over_3(i,j,k,ispec_strain) = templ
+!$OMP END CRITICAL
           else
             ispec_strain = ispec
+            epsilon_trace_over_3(i,j,k,ispec_strain) = templ
           endif
-          templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-          epsilon_trace_over_3(i,j,k,ispec_strain) = templ
           epsilondev_loc(1,i,j,k) = duxdxl - templ
           epsilondev_loc(2,i,j,k) = duydyl - templ
           epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl
@@ -1034,13 +1040,16 @@
 
         ! compute deviatoric strain
         if (COMPUTE_AND_STORE_STRAIN) then
+          templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
           if(NSPEC_CRUST_MANTLE_STRAIN_ONLY == 1) then
             ispec_strain = 1
+!$OMP CRITICAL
+            epsilon_trace_over_3(i,j,k,ispec_strain) = templ
+!$OMP END CRITICAL
           else
             ispec_strain = ispec
+            epsilon_trace_over_3(i,j,k,ispec_strain) = templ
           endif
-          templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
-          epsilon_trace_over_3(i,j,k,ispec_strain) = templ
           epsilondev_loc(1,i,j,k) = duxdxl - templ
           epsilondev_loc(2,i,j,k) = duydyl - templ
           epsilondev_loc(3,i,j,k) = 0.5 * duxdyl_plus_duydxl



More information about the CIG-COMMITS mailing list