[cig-commits] [commit] devel: updates routine recalc_jacobian_gll3D() using debug flag for explicit checks (604e389)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Tue Nov 25 06:56:29 PST 2014


Repository : https://github.com/geodynamics/specfem3d_globe

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d_globe/compare/0e5b55c6f30be94583639fd325373eecd6facc6d...8be3e0b0267c8d4cf5af3bc26e8903da17bc4fd1

>---------------------------------------------------------------

commit 604e3897dd3330e6d2b069b857921cbb3c1e3009
Author: daniel peter <peterda at ethz.ch>
Date:   Mon Nov 24 15:30:20 2014 +0100

    updates routine recalc_jacobian_gll3D() using debug flag for explicit checks


>---------------------------------------------------------------

604e3897dd3330e6d2b069b857921cbb3c1e3009
 src/meshfem3D/calc_jacobian.f90 | 88 ++++++++++++++++++++++-------------------
 1 file changed, 48 insertions(+), 40 deletions(-)

diff --git a/src/meshfem3D/calc_jacobian.f90 b/src/meshfem3D/calc_jacobian.f90
index b218e2c..62e3919 100644
--- a/src/meshfem3D/calc_jacobian.f90
+++ b/src/meshfem3D/calc_jacobian.f90
@@ -82,6 +82,8 @@
   integer:: i,j,k,i1,j1,k1
 
   ! test parameters which can be deleted
+  logical, parameter :: DEBUG = .false.
+
   double precision:: xmesh,ymesh,zmesh
   double precision:: sumshape,sumdershapexi,sumdershapeeta,sumdershapegamma
 
@@ -90,6 +92,15 @@
     do j = 1,NGLLY
       do i = 1,NGLLX
 
+        xi = xigll(i)
+        eta = yigll(j)
+        gamma = zigll(k)
+
+        ! calculate Lagrange polynomial and its derivative
+        call lagrange_any(xi,NGLLX,xigll,hxir,hpxir)
+        call lagrange_any(eta,NGLLY,yigll,hetar,hpetar)
+        call lagrange_any(gamma,NGLLZ,zigll,hgammar,hpgammar)
+
         xxi = ZERO
         xeta = ZERO
         xgamma = ZERO
@@ -100,24 +111,17 @@
         zeta = ZERO
         zgamma = ZERO
 
-        xi = xigll(i)
-        eta = yigll(j)
-        gamma = zigll(k)
-
-        ! calculate Lagrange polynomial and its derivative
-        call lagrange_any(xi,NGLLX,xigll,hxir,hpxir)
-        call lagrange_any(eta,NGLLY,yigll,hetar,hpetar)
-        call lagrange_any(gamma,NGLLZ,zigll,hgammar,hpgammar)
-
         ! test parameters
-        sumshape = ZERO
-        sumdershapexi = ZERO
-        sumdershapeeta = ZERO
-        sumdershapegamma = ZERO
-
-        xmesh = ZERO
-        ymesh = ZERO
-        zmesh = ZERO
+        if (DEBUG) then
+          sumshape = ZERO
+          sumdershapexi = ZERO
+          sumdershapeeta = ZERO
+          sumdershapegamma = ZERO
+
+          xmesh = ZERO
+          ymesh = ZERO
+          zmesh = ZERO
+        endif
 
         do k1 = 1,NGLLZ
           do j1 = 1,NGLLY
@@ -145,36 +149,40 @@
               zgamma = zgamma + z * hlagrange_gamma
 
               ! test the Lagrange polynomial and its derivative
-              xmesh = xmesh + x * hlagrange
-              ymesh = ymesh + y * hlagrange
-              zmesh = zmesh + z * hlagrange
+              if (DEBUG) then
+                xmesh = xmesh + x * hlagrange
+                ymesh = ymesh + y * hlagrange
+                zmesh = zmesh + z * hlagrange
 
-              sumshape = sumshape + hlagrange
-              sumdershapexi = sumdershapexi + hlagrange_xi
-              sumdershapeeta = sumdershapeeta + hlagrange_eta
-              sumdershapegamma = sumdershapegamma + hlagrange_gamma
+                sumshape = sumshape + hlagrange
+                sumdershapexi = sumdershapexi + hlagrange_xi
+                sumdershapeeta = sumdershapeeta + hlagrange_eta
+                sumdershapegamma = sumdershapegamma + hlagrange_gamma
+              endif
 
             enddo
           enddo
         enddo
 
         ! Check the Lagrange polynomial and its derivative
-        if (abs(xmesh - xstore(i,j,k,ispec)) > TINYVAL &
-          .or. abs(ymesh - ystore(i,j,k,ispec)) > TINYVAL &
-          .or. abs(zmesh - zstore(i,j,k,ispec)) > TINYVAL) then
-          call exit_MPI(myrank,'Error new mesh is wrong in recalc_jacobian_gll3D.f90')
-        endif
-        if (abs(sumshape-one) >  TINYVAL) then
-          call exit_MPI(myrank,'Error shape functions in recalc_jacobian_gll3D.f90')
-        endif
-        if (abs(sumdershapexi) >  TINYVAL) then
-          call exit_MPI(myrank,'Error derivative xi in recalc_jacobian_gll3D.f90')
-        endif
-        if (abs(sumdershapeeta) >  TINYVAL) then
-          call exit_MPI(myrank,'Error derivative eta in recalc_jacobian_gll3D.f90')
-        endif
-        if (abs(sumdershapegamma) >  TINYVAL) then
-          call exit_MPI(myrank,'Error derivative gamma in recalc_jacobian_gll3D.f90')
+        if (DEBUG) then
+          if (abs(xmesh - xstore(i,j,k,ispec)) > TINYVAL &
+            .or. abs(ymesh - ystore(i,j,k,ispec)) > TINYVAL &
+            .or. abs(zmesh - zstore(i,j,k,ispec)) > TINYVAL) then
+            call exit_MPI(myrank,'Error new mesh is wrong in recalc_jacobian_gll3D.f90')
+          endif
+          if (abs(sumshape-one) >  TINYVAL) then
+            call exit_MPI(myrank,'Error shape functions in recalc_jacobian_gll3D.f90')
+          endif
+          if (abs(sumdershapexi) >  TINYVAL) then
+            call exit_MPI(myrank,'Error derivative xi in recalc_jacobian_gll3D.f90')
+          endif
+          if (abs(sumdershapeeta) >  TINYVAL) then
+            call exit_MPI(myrank,'Error derivative eta in recalc_jacobian_gll3D.f90')
+          endif
+          if (abs(sumdershapegamma) >  TINYVAL) then
+            call exit_MPI(myrank,'Error derivative gamma in recalc_jacobian_gll3D.f90')
+          endif
         endif
 
         ! Jacobian calculation



More information about the CIG-COMMITS mailing list