[cig-commits] r21866 - in seismo/3D/SPECFEM3D/trunk/src: decompose_mesh/scotch_5.1.12b/src/libscotch decompose_mesh/scotch_5.1.12b/src/scotch specfem3D

vadim at geodynamics.org vadim at geodynamics.org
Sat Apr 13 15:47:56 PDT 2013


Author: vadim
Date: 2013-04-13 15:47:56 -0700 (Sat, 13 Apr 2013)
New Revision: 21866

Modified:
   seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/libscotch/Makefile
   seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/scotch/Makefile
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_forces_viscoelastic_calling_routine.F90
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_stacey_viscoelastic.f90
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/read_mesh_databases.f90
   seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90
Log:
fixed pbs refers with USE_VADIM


Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/libscotch/Makefile
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/libscotch/Makefile	2013-04-13 22:21:10 UTC (rev 21865)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/libscotch/Makefile	2013-04-13 22:47:56 UTC (rev 21866)
@@ -68,10 +68,23 @@
 					libptscotcherr$(LIB)						\
 					libptscotcherrexit$(LIB)
 
-install				:
-					-$(CP) scotch.h scotchf.h $(includedir)
-					-$(CP) libscotch$(LIB) libscotcherr*$(LIB) $(libdir)
+# libscotch replacement text for install line
+$(libdir)/libscotch$(LIB): libscotch$(LIB)
+	-$(CP) libscotch$(LIB) $(libdir)
+$(libdir)/libscotcherr$(LIB): libscotcherr$(LIB)
+	-$(CP) libscotcherr$(LIB) $(libdir)
+$(libdir)/libscotcherrexit$(LIB): libscotcherrexit$(LIB)
+	-$(CP) libscotcherrexit$(LIB) $(libdir)
+$(includedir)/scotch.h: scotch.h
+	-$(CP) scotch.h $(includedir)
+$(includedir)/scotchf.h: scotchf.h
+	-$(CP) scotchf.h $(includedir)
 
+install				: $(libdir)/libscotch$(LIB) $(libdir)/libscotcherr$(LIB) \
+	$(libdir)/libscotcherrexit$(LIB)	\
+	$(includedir)/scotch.h $(includedir)/scotchf.h
+
+
 ptinstall			:
 					-$(CP) scotch.h $(includedir)/ptscotch.h
 					-$(CP) scotchf.h $(includedir)/ptscotchf.h

Modified: seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/scotch/Makefile
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/scotch/Makefile	2013-04-13 22:21:10 UTC (rev 21865)
+++ seismo/3D/SPECFEM3D/trunk/src/decompose_mesh/scotch_5.1.12b/src/scotch/Makefile	2013-04-13 22:47:56 UTC (rev 21866)
@@ -95,10 +95,81 @@
 					dgscat$(EXE)				\
 					dgtst$(EXE)
 
-install				:
-					-$(CP) acpl$(EXE) amk_ccc$(EXE) amk_fft2$(EXE) amk_grf$(EXE) amk_hy$(EXE) amk_m2$(EXE) amk_p2$(EXE) atst$(EXE) gbase$(EXE) gcv$(EXE) gmap$(EXE) gmk_hy$(EXE) gmk_m2$(EXE) gmk_m3$(EXE) gmk_msh$(EXE) gmk_ub2$(EXE) gmtst$(EXE) gord$(EXE) gotst$(EXE) gout$(EXE) gpart$(EXE) *gtst$(EXE) gscat$(EXE) mcv$(EXE) mmk_m2$(EXE) mmk_m3$(EXE) mord$(EXE) mtst$(EXE) $(bindir)
+# scotch replacement text for install line
+$(bindir)/acpl$(EXE): acpl$(EXE)
+	-$(CP) acpl$(EXE) $(bindir)/acpl$(EXE)
+$(bindir)/amk_ccc$(EXE): amk_ccc$(EXE)
+	-$(CP) amk_ccc$(EXE) $(bindir)/amk_ccc$(EXE)
+$(bindir)/amk_fft2$(EXE): amk_fft2$(EXE)
+	-$(CP) amk_fft2$(EXE) $(bindir)/amk_fft2$(EXE)
+$(bindir)/amk_grf$(EXE): amk_grf$(EXE)
+	-$(CP) amk_grf$(EXE) $(bindir)/amk_grf$(EXE)
+$(bindir)/amk_hy$(EXE): amk_hy$(EXE)
+	-$(CP) amk_hy$(EXE) $(bindir)/amk_hy$(EXE)
+$(bindir)/amk_m2$(EXE): amk_m2$(EXE)
+	-$(CP) amk_m2$(EXE) $(bindir)/amk_m2$(EXE)
+$(bindir)/amk_p2$(EXE): amk_p2$(EXE)
+	-$(CP) amk_p2$(EXE) $(bindir)/amk_p2$(EXE)
+$(bindir)/atst$(EXE): atst$(EXE)
+	-$(CP) atst$(EXE) $(bindir)/atst$(EXE)
+$(bindir)/gbase$(EXE): gbase$(EXE)
+	-$(CP) gbase$(EXE) $(bindir)/gbase$(EXE)
+$(bindir)/gcv$(EXE): gcv$(EXE)
+	-$(CP) gcv$(EXE) $(bindir)/gcv$(EXE)
+$(bindir)/gmap$(EXE): gmap$(EXE)
+	-$(CP) gmap$(EXE) $(bindir)/gmap$(EXE)
+$(bindir)/gmk_hy$(EXE): gmk_hy$(EXE)
+	-$(CP) gmk_hy$(EXE) $(bindir)/gmk_hy$(EXE)
+$(bindir)/gmk_m2$(EXE): gmk_m2$(EXE)
+	-$(CP) gmk_m2$(EXE) $(bindir)/gmk_m2$(EXE)
+$(bindir)/gmk_m3$(EXE): gmk_m3$(EXE)
+	-$(CP) gmk_m3$(EXE) $(bindir)/gmk_m3$(EXE)
+$(bindir)/gmk_msh$(EXE): gmk_msh$(EXE)
+	-$(CP) gmk_msh$(EXE) $(bindir)/gmk_msh$(EXE)
+$(bindir)/gmk_ub2$(EXE): gmk_ub2$(EXE)
+	-$(CP) gmk_ub2$(EXE) $(bindir)/gmk_ub2$(EXE)
+$(bindir)/gmtst$(EXE): gmtst$(EXE)
+	-$(CP) gmtst$(EXE) $(bindir)/gmtst$(EXE)
+$(bindir)/gord$(EXE): gord$(EXE)
+	-$(CP) gord$(EXE) $(bindir)/gord$(EXE)
+$(bindir)/gotst$(EXE): gotst$(EXE)
+	-$(CP) gotst$(EXE) $(bindir)/gotst$(EXE)
+$(bindir)/gout$(EXE): gout$(EXE)
+	-$(CP) gout$(EXE) $(bindir)/gout$(EXE)
+$(bindir)/gpart$(EXE): $(bindir)/gmap$(EXE)
+	-$(RM) $(bindir)/gpart$(EXE)
+	-$(LN) $(bindir)/gmap$(EXE) $(bindir)/gpart$(EXE)
+$(bindir)/gscat$(EXE): gscat$(EXE)
+	-$(CP) gscat$(EXE) $(bindir)/gscat$(EXE)
+$(bindir)/gtst$(EXE): gtst$(EXE)
+	-$(CP) gtst$(EXE) $(bindir)/gtst$(EXE)
+$(bindir)/mcv$(EXE): mcv$(EXE)
+	-$(CP) mcv$(EXE) $(bindir)/mcv$(EXE)
+$(bindir)/mmk_m2$(EXE): mmk_m2$(EXE)
+	-$(CP) mmk_m2$(EXE) $(bindir)/mmk_m2$(EXE)
+$(bindir)/mmk_m3$(EXE): mmk_m3$(EXE)
+	-$(CP) mmk_m3$(EXE) $(bindir)/mmk_m3$(EXE)
+$(bindir)/mord$(EXE): mord$(EXE)
+	-$(CP) mord$(EXE) $(bindir)/mord$(EXE)
+$(bindir)/mtst$(EXE): mtst$(EXE)
+	-$(CP) mtst$(EXE) $(bindir)/mtst$(EXE)
 
-ptinstall			:
+
+install				: $(bindir)/acpl$(EXE) $(bindir)/amk_ccc$(EXE) \
+	$(bindir)/amk_fft2$(EXE) $(bindir)/amk_grf$(EXE) \
+	$(bindir)/amk_hy$(EXE) $(bindir)/amk_m2$(EXE) \
+	$(bindir)/amk_p2$(EXE) $(bindir)/atst$(EXE) \
+	$(bindir)/gbase$(EXE) $(bindir)/gcv$(EXE) \
+	$(bindir)/gmap$(EXE) $(bindir)/gmk_hy$(EXE) \
+	$(bindir)/gmk_m2$(EXE) $(bindir)/gmk_m3$(EXE) \
+	$(bindir)/gmk_msh$(EXE) $(bindir)/gmk_ub2$(EXE) \
+	$(bindir)/gmtst$(EXE) $(bindir)/gord$(EXE) \
+	$(bindir)/gotst$(EXE) $(bindir)/gout$(EXE) \
+	$(bindir)/gpart$(EXE) $(bindir)/gscat$(EXE) \
+	$(bindir)/gtst$(EXE) $(bindir)/mcv$(EXE) \
+	$(bindir)/mmk_m2$(EXE) $(bindir)/mmk_m3$(EXE) \
+	$(bindir)/mord$(EXE) $(bindir)/mtst$(EXE)
+
 					-$(CP) dggath$(EXE) dgmap$(EXE) dgord$(EXE) dgpart$(EXE) dgscat$(EXE) dgtst$(EXE) $(bindir)
 
 clean				:

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_forces_viscoelastic_calling_routine.F90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_forces_viscoelastic_calling_routine.F90	2013-04-13 22:21:10 UTC (rev 21865)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_forces_viscoelastic_calling_routine.F90	2013-04-13 22:47:56 UTC (rev 21866)
@@ -170,7 +170,7 @@
                         ispec_is_elastic,SIMULATION_TYPE,SAVE_FORWARD, &
                         NSTEP,it,NGLOB_ADJOINT,b_accel, &
                         b_num_abs_boundary_faces,b_reclen_field,b_absorb_field,&
-                        GPU_MODE,Mesh_pointer)
+                        GPU_MODE,Mesh_pointer,it_dsm,Veloc_dsm_boundary,Tract_dsm_boundary)
     endif
 
 

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_stacey_viscoelastic.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_stacey_viscoelastic.f90	2013-04-13 22:21:10 UTC (rev 21865)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/compute_stacey_viscoelastic.f90	2013-04-13 22:47:56 UTC (rev 21866)
@@ -37,7 +37,7 @@
                         ispec_is_elastic,SIMULATION_TYPE,SAVE_FORWARD, &
                         NSTEP,it,NGLOB_ADJOINT,b_accel, &
                         b_num_abs_boundary_faces,b_reclen_field,b_absorb_field, &
-                        GPU_MODE,Mesh_pointer)
+                        GPU_MODE,Mesh_pointer,it_dsm,Veloc_dsm_boundary,Tract_dsm_boundary)
 
   implicit none
 
@@ -88,6 +88,7 @@
 !! DK DK to this subroutine as an argument, otherwise it is allocated and deallocated every time the code
 !! DK DK enters this subroutine, thus this will be extremely slow, and also what the array contains
 !! DK DK will be lost between two calls
+!! VM VM I did it 
   real(kind=CUSTOM_REAL) :: Veloc_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces)
   real(kind=CUSTOM_REAL) :: Tract_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces)
 
@@ -163,9 +164,9 @@
                  tz = rho_vp(i,j,k,ispec)*vn*nz + rho_vs(i,j,k,ispec)*(vz-vn*nz)
 
                  if (USE_VADIM) then
-                     tx = -Tract_dsm_boundary(1,it_dsm,igll,iface) + tx
-                     ty = -Tract_dsm_boundary(2,it_dsm,igll,iface) + ty
-                     tz = -Tract_dsm_boundary(3,it_dsm,igll,iface) + tz
+                     tx = tx -Tract_dsm_boundary(1,it_dsm,igll,iface) 
+                     ty = ty -Tract_dsm_boundary(2,it_dsm,igll,iface) 
+                     tz = tz -Tract_dsm_boundary(3,it_dsm,igll,iface) 
                  endif
 
                  ! gets associated, weighted jacobian
@@ -208,11 +209,17 @@
     endif
   endif
 
+  if (USE_VADIM) then
+     if (phase_is_inner .eqv. .true.) then
+        it_dsm = it_dsm + 1
+     end if
+  end if
+  
   end subroutine compute_stacey_viscoelastic
 
 !---------------------------------------------------------------------------------------
 
-  subroutine read_dsm_file(Veloc_dsm_boundary,Tract_dsm_boundary,num_abs_boundary_faces)
+  subroutine read_dsm_file(Veloc_dsm_boundary,Tract_dsm_boundary,num_abs_boundary_faces,it_dsm)
 
    implicit none
 
@@ -224,15 +231,17 @@
    real(kind=CUSTOM_REAL) :: Tract_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces)
 
 !! DK DK why use 5 and not NGLLX here? (I assume 5 means 5 GLL points here?)
-   real(kind=CUSTOM_REAL) :: dsm_boundary_tmp(3,100,5,5)  !!! warning: hardwired
+!! VM VM fixed to NGLLX
+   real(kind=CUSTOM_REAL) :: dsm_boundary_tmp(3,Ntime_step_dsm,NGLLX,NGLLY)  
 
    it_dsm = 1
-   write(*,*) 'read dsm files',it_dsm
+   !write(*,*) 'read dsm files',it_dsm
    do iface=1,num_abs_boundary_faces
 
       igll = 0
-      do j=1,5  !! DK DK why use 5 and not NGLLY here? (I assume 5 means 5 GLL points here?)
-        do i=1,5  !! DK DK why use 5 and not NGLLX here? (I assume 5 means 5 GLL points here?)
+      do j=1,NGLLY  !! DK DK why use 5 and not NGLLY here? (I assume 5 means 5 GLL points here?)
+        do i=1,NGLLX  !! DK DK why use 5 and not NGLLX here? (I assume 5 means 5 GLL points here?)
+                      !! VM VM Correction 5->NGLLX or NGLLY
            igll = igll + 1
            read(IIN_veloc_dsm) dsm_boundary_tmp(:,:,i,j)
            Veloc_dsm_boundary(:,:,igll,iface) = dsm_boundary_tmp(:,:,i,j)

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/read_mesh_databases.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/read_mesh_databases.f90	2013-04-13 22:21:10 UTC (rev 21865)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/read_mesh_databases.f90	2013-04-13 22:47:56 UTC (rev 21866)
@@ -382,12 +382,16 @@
   if (USE_VADIM) then
      ! VM for new method
 !! DK DK for Vadim: these two arrays are undeclared, thus I comment them out for now otherwise the code does not compile
-!    allocate(Veloc_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces))
-!    allocate(Tract_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces))
+!! VM VM : I already decalred these 2 array in specfem_par module 
+     allocate(Veloc_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces))
+     allocate(Tract_dsm_boundary(3,Ntime_step_dsm,NGLLSQUARE,num_abs_boundary_faces))
      open(unit=IIN_veloc_dsm,file=dsmname(1:len_trim(dsmname))//'vel.bin',status='old', &
           action='read',form='unformatted',iostat=ier)
      open(unit=IIN_tract_dsm,file=dsmname(1:len_trim(dsmname))//'tract.bin',status='old', &
           action='read',form='unformatted',iostat=ier)
+  else
+     allocate(Veloc_dsm_boundary(1,1,1,1))
+     allocate(Tract_dsm_boundary(1,1,1,1))
   endif
 
   if( num_abs_boundary_faces > 0 ) then

Modified: seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90
===================================================================
--- seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90	2013-04-13 22:21:10 UTC (rev 21865)
+++ seismo/3D/SPECFEM3D/trunk/src/specfem3D/specfem3D_par.f90	2013-04-13 22:47:56 UTC (rev 21866)
@@ -86,6 +86,9 @@
   integer, dimension(:), allocatable :: free_surface_ispec
   integer :: num_free_surface_faces
 
+! VM for new method
+  real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: Veloc_dsm_boundary,Tract_dsm_boundary
+
 ! attenuation
   integer :: NSPEC_ATTENUATION_AB,NSPEC_ATTENUATION_AB_kappa !ZN
   character(len=256) prname_Q
@@ -99,6 +102,9 @@
 ! time loop step
   integer :: it
 
+! VM for new  method
+  integer :: it_dsm
+
 ! parameters for the source
   integer, dimension(:), allocatable :: islice_selected_source,ispec_selected_source
   real(kind=CUSTOM_REAL), dimension(:,:,:,:), allocatable :: sourcearray



More information about the CIG-COMMITS mailing list