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

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Wed Jul 17 09:44:09 PDT 2013


Author: dkomati1
Date: 2013-07-17 09:44:09 -0700 (Wed, 17 Jul 2013)
New Revision: 22637

Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_outer_core_Dev.F90
Log:
added fac1,fac2,fac3 to compute_forces_outer_core_Dev() to conform to standard used for crust_mantle() and inner_core();
added _CUSTOM_REAL to constants in compute_forces_inner_core_Dev()


Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90	2013-07-17 15:37:53 UTC (rev 22636)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_inner_core_Dev.F90	2013-07-17 16:44:09 UTC (rev 22637)
@@ -243,7 +243,6 @@
   real(kind=CUSTOM_REAL) templ
 
   real(kind=CUSTOM_REAL) R_xx_val,R_yy_val
-  integer :: i_SLS
 
 ! for LDDRK
   integer :: istage
@@ -253,6 +252,8 @@
 
 #ifdef FORCE_VECTORIZATION
   integer :: ijk
+#else
+  integer :: i_SLS
 #endif
 
 ! ****************************************************
@@ -435,16 +436,16 @@
               templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
               epsilondev_loc(1,ijk,1,1) = duxdxl - templ
               epsilondev_loc(2,ijk,1,1) = duydyl - templ
-              epsilondev_loc(3,ijk,1,1) = 0.5 * duxdyl_plus_duydxl
-              epsilondev_loc(4,ijk,1,1) = 0.5 * duzdxl_plus_duxdzl
-              epsilondev_loc(5,ijk,1,1) = 0.5 * duzdyl_plus_duydzl
+              epsilondev_loc(3,ijk,1,1) = 0.5_CUSTOM_REAL * duxdyl_plus_duydxl
+              epsilondev_loc(4,ijk,1,1) = 0.5_CUSTOM_REAL * duzdxl_plus_duxdzl
+              epsilondev_loc(5,ijk,1,1) = 0.5_CUSTOM_REAL * duzdyl_plus_duydzl
               eps_trace_over_3(ijk,1,1,ispec) = templ
             endif
 
             if(ATTENUATION_3D_VAL) then
-              minus_sum_beta =  one_minus_sum_beta(ijk,1,1,ispec) - 1.0
+              minus_sum_beta =  one_minus_sum_beta(ijk,1,1,ispec) - 1.0_CUSTOM_REAL
             else if(ATTENUATION_VAL) then
-              minus_sum_beta =  one_minus_sum_beta(1,1,1,ispec) - 1.0
+              minus_sum_beta =  one_minus_sum_beta(1,1,1,ispec) - 1.0_CUSTOM_REAL
             endif
 
             if(ANISOTROPIC_INNER_CORE_VAL) then
@@ -483,7 +484,7 @@
               sigma_xx = c11l*duxdxl + c12l*duydyl + c13l*duzdzl
               sigma_yy = c12l*duxdxl + c11l*duydyl + c13l*duzdzl
               sigma_zz = c13l*duxdxl + c13l*duydyl + c33l*duzdzl
-              sigma_xy = 0.5*(c11l-c12l)*duxdyl_plus_duydxl
+              sigma_xy = 0.5_CUSTOM_REAL*(c11l-c12l)*duxdyl_plus_duydxl
               sigma_xz = c44l*duzdxl_plus_duxdzl
               sigma_yz = c44l*duzdyl_plus_duydzl
             else
@@ -501,7 +502,7 @@
               endif
 
               lambdalplus2mul = kappal + FOUR_THIRDS * mul
-              lambdal = lambdalplus2mul - 2.*mul
+              lambdal = lambdalplus2mul - 2._CUSTOM_REAL*mul
 
               ! compute stress sigma
               sigma_xx = lambdalplus2mul*duxdxl + lambdal*duydyl_plus_duzdzl
@@ -690,16 +691,16 @@
               templ = ONE_THIRD * (duxdxl + duydyl + duzdzl)
               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
-              epsilondev_loc(4,i,j,k) = 0.5 * duzdxl_plus_duxdzl
-              epsilondev_loc(5,i,j,k) = 0.5 * duzdyl_plus_duydzl
+              epsilondev_loc(3,i,j,k) = 0.5_CUSTOM_REAL * duxdyl_plus_duydxl
+              epsilondev_loc(4,i,j,k) = 0.5_CUSTOM_REAL * duzdxl_plus_duxdzl
+              epsilondev_loc(5,i,j,k) = 0.5_CUSTOM_REAL * duzdyl_plus_duydzl
               eps_trace_over_3(i,j,k,ispec) = templ
             endif
 
             if(ATTENUATION_3D_VAL) then
-              minus_sum_beta =  one_minus_sum_beta(i,j,k,ispec) - 1.0
+              minus_sum_beta =  one_minus_sum_beta(i,j,k,ispec) - 1.0_CUSTOM_REAL
             else if(ATTENUATION_VAL) then
-              minus_sum_beta =  one_minus_sum_beta(1,1,1,ispec) - 1.0
+              minus_sum_beta =  one_minus_sum_beta(1,1,1,ispec) - 1.0_CUSTOM_REAL
             endif
 
             if(ANISOTROPIC_INNER_CORE_VAL) then
@@ -738,7 +739,7 @@
               sigma_xx = c11l*duxdxl + c12l*duydyl + c13l*duzdzl
               sigma_yy = c12l*duxdxl + c11l*duydyl + c13l*duzdzl
               sigma_zz = c13l*duxdxl + c13l*duydyl + c33l*duzdzl
-              sigma_xy = 0.5*(c11l-c12l)*duxdyl_plus_duydxl
+              sigma_xy = 0.5_CUSTOM_REAL*(c11l-c12l)*duxdyl_plus_duydxl
               sigma_xz = c44l*duzdxl_plus_duxdzl
               sigma_yz = c44l*duzdyl_plus_duydzl
             else
@@ -756,7 +757,7 @@
               endif
 
               lambdalplus2mul = kappal + FOUR_THIRDS * mul
-              lambdal = lambdalplus2mul - 2.*mul
+              lambdal = lambdalplus2mul - 2._CUSTOM_REAL*mul
 
               ! compute stress sigma
               sigma_xx = lambdalplus2mul*duxdxl + lambdal*duydyl_plus_duzdzl

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_outer_core_Dev.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_outer_core_Dev.F90	2013-07-17 15:37:53 UTC (rev 22636)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/compute_forces_outer_core_Dev.F90	2013-07-17 16:44:09 UTC (rev 22637)
@@ -106,6 +106,7 @@
   integer :: i,j,k
   real(kind=CUSTOM_REAL) :: xixl,xiyl,xizl,etaxl,etayl,etazl,gammaxl,gammayl,gammazl,jacobianl
   real(kind=CUSTOM_REAL) :: dpotentialdxl,dpotentialdyl,dpotentialdzl
+  real(kind=CUSTOM_REAL) :: fac1,fac2,fac3
   real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ) :: sum_terms
 
   ! manually inline the calls to the Deville et al. (2002) routines
@@ -630,13 +631,14 @@
       enddo
     enddo
 
-    ! sum contributions from each element to the global mesh
+    ! sum contributions
     do k=1,NGLLZ
       do j=1,NGLLY
+        fac1 = wgllwgll_yz(j,k)
         do i=1,NGLLX
-          sum_terms(i,j,k) = - (wgllwgll_yz(j,k)*newtempx1(i,j,k) &
-                              + wgllwgll_xz(i,k)*newtempx2(i,j,k) &
-                              + wgllwgll_xy(i,j)*newtempx3(i,j,k))
+          fac2 = wgllwgll_xz(i,k)
+          fac3 = wgllwgll_xy(i,j)
+          sum_terms(i,j,k) = - (fac1*newtempx1(i,j,k) + fac2*newtempx2(i,j,k) + fac3*newtempx3(i,j,k))
         enddo
       enddo
     enddo



More information about the CIG-COMMITS mailing list