[cig-commits] r15906 - seismo/3D/CPML/trunk

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Fri Oct 30 18:05:57 PDT 2009


Author: dkomati1
Date: 2009-10-30 18:05:56 -0700 (Fri, 30 Oct 2009)
New Revision: 15906

Modified:
   seismo/3D/CPML/trunk/Makefile
   seismo/3D/CPML/trunk/seismic_CPML_2D_anisotropic.f90
   seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_fourth_order.f90
   seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_second_order.f90
   seismo/3D/CPML/trunk/seismic_CPML_2D_poroelastic_fourth_order.f90
   seismo/3D/CPML/trunk/seismic_CPML_3D_isotropic_MPI_OpenMP.f90
   seismo/3D/CPML/trunk/seismic_CPML_3D_viscoelastic_MPI.f90
   seismo/3D/CPML/trunk/seismic_PML_Collino_2D_isotropic.f90
   seismo/3D/CPML/trunk/seismic_PML_Collino_3D_isotropic_OpenMP.f90
Log:
done cleaning all the source codes, updating the copyright and version
information, removing all the unused variables, and updating the Makefile.


Modified: seismo/3D/CPML/trunk/Makefile
===================================================================
--- seismo/3D/CPML/trunk/Makefile	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/Makefile	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,7 +1,7 @@
 #
-# Makefile for SEISMIC_CPML Version 1.1.0
+# Makefile for SEISMIC_CPML Version 1.1.0, October 2009
 # Dimitri Komatitsch
-# Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France, October 2009
+# Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France
 # 
 SHELL=/bin/sh
 
@@ -19,7 +19,7 @@
 # Intel (leave option -ftz, which is *critical* for performance)
 #F90 = ifort
 #MPIF90 = mpif90
-#FLAGS = -O3 -xP -vec-report0 -e03 -std03 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -fpe3 -ftz
+#FLAGS = -O3 -xP -vec-report0 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -fpe3 -ftz
 #MEDIUM_MEMORY = -mcmodel=medium
 #OPEN_MP = -openmp -openmp-report1
 
@@ -32,19 +32,17 @@
 
 # GNU gfortran
 F90 = gfortran
-#MPIF90 = mpif90
-###### DK DK change size 3D also
-MPIF90 = /opt/mpich2_gfortran/bin/mpif90
+MPIF90 = mpif90
 FLAGS = -std=f2003 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math
-#MEDIUM_MEMORY = -mcmodel=medium
+MEDIUM_MEMORY = -mcmodel=medium
 OPEN_MP = -fopenmp
 
-default: clean seismic_CPML_2D_isotropic_second_order seismic_CPML_2D_isotropic_fourth_order seismic_CPML_2D_anisotropic seismic_PML_Collino_2D_isotropic seismic_PML_Collino_3D_isotropic_OpenMP seismic_CPML_3D_isotropic_MPI_OpenMP seismic_CPML_2D_poroelastic_fourth_order seismic_CPML_3D_viscoelastic_MPI_OpenMP
+default: clean seismic_CPML_2D_isotropic_second_order seismic_CPML_2D_isotropic_fourth_order seismic_CPML_2D_anisotropic seismic_PML_Collino_2D_isotropic seismic_PML_Collino_3D_isotropic_OpenMP seismic_CPML_3D_isotropic_MPI_OpenMP seismic_CPML_2D_poroelastic_fourth_order seismic_CPML_3D_viscoelastic_MPI
 
 all: default
 
 clean:
-	/bin/rm -f *.o xseismic_CPML_2D_isotropic_second_order xseismic_CPML_2D_isotropic_fourth_order xseismic_CPML_2D_anisotropic xseismic_PML_Collino_2D_isotropic xseismic_CPML_3D_isotropic_MPI_OpenMP xseismic_PML_Collino_3D_isotropic_OpenMP xseismic_CPML_2D_poroelastic_fourth_order xseismic_CPML_3D_viscoelastic_MPI_OpenMP
+	/bin/rm -f *.o xseismic_CPML_2D_isotropic_second_order xseismic_CPML_2D_isotropic_fourth_order xseismic_CPML_2D_anisotropic xseismic_PML_Collino_2D_isotropic xseismic_CPML_3D_isotropic_MPI_OpenMP xseismic_PML_Collino_3D_isotropic_OpenMP xseismic_CPML_2D_poroelastic_fourth_order xseismic_CPML_3D_viscoelastic_MPI
 
 seismic_CPML_2D_poroelastic_fourth_order:
 	$(F90) $(FLAGS) -o xseismic_CPML_2D_poroelastic_fourth_order seismic_CPML_2D_poroelastic_fourth_order.f90
@@ -67,6 +65,6 @@
 seismic_CPML_3D_isotropic_MPI_OpenMP:
 	$(MPIF90) $(FLAGS) $(MEDIUM_MEMORY) $(OPEN_MP) -o xseismic_CPML_3D_isotropic_MPI_OpenMP seismic_CPML_3D_isotropic_MPI_OpenMP.f90
 
-seismic_CPML_3D_viscoelastic_MPI_OpenMP:
-	$(MPIF90) $(FLAGS) $(MEDIUM_MEMORY) $(OPEN_MP) -o xseismic_CPML_3D_viscoelastic_MPI_OpenMP seismic_CPML_3D_viscoelastic_MPI_OpenMP.f90
+seismic_CPML_3D_viscoelastic_MPI:
+	$(MPIF90) $(FLAGS) $(MEDIUM_MEMORY) $(OPEN_MP) -o xseismic_CPML_3D_viscoelastic_MPI seismic_CPML_3D_viscoelastic_MPI.f90
 

Modified: seismo/3D/CPML/trunk/seismic_CPML_2D_anisotropic.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_CPML_2D_anisotropic.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_CPML_2D_anisotropic.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               and Roland Martin, roland DOT martin aT univ-pau DOT fr
@@ -39,7 +41,6 @@
 ! 2D elastic finite-difference code in velocity and stress formulation
 ! with Convolutional-PML (C-PML) absorbing conditions for an anisotropic medium
 
-! Version 1.0
 ! Dimitri Komatitsch, University of Pau, France, April 2007.
 ! Anisotropic implementation by Roland Martin and Dimitri Komatitsch, University of Pau, France, April 2007.
 

Modified: seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_fourth_order.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_fourth_order.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_fourth_order.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               and Roland Martin, roland DOT martin aT univ-pau DOT fr
@@ -39,7 +41,6 @@
 ! 2D elastic finite-difference code in velocity and stress formulation
 ! with Convolutional-PML (C-PML) absorbing conditions for an isotropic medium
 
-! Version 1.0
 ! Dimitri Komatitsch, University of Pau, France, April 2007.
 ! Fourth-order implementation by Dimitri Komatitsch and Roland Martin, University of Pau, France, August 2007.
 

Modified: seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_second_order.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_second_order.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_CPML_2D_isotropic_second_order.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributor: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !
@@ -38,7 +40,6 @@
 ! 2D elastic finite-difference code in velocity and stress formulation
 ! with Convolutional-PML (C-PML) absorbing conditions for an isotropic medium
 
-! Version 1.0
 ! Dimitri Komatitsch, University of Pau, France, April 2007.
 
 ! The second-order staggered-grid formulation of Madariaga (1976) and Virieux (1986) is used:

Modified: seismo/3D/CPML/trunk/seismic_CPML_2D_poroelastic_fourth_order.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_CPML_2D_poroelastic_fourth_order.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_CPML_2D_poroelastic_fourth_order.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributors: Roland Martin, roland DOT martin aT univ-pau DOT fr
 !           and Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
@@ -289,8 +291,8 @@
   double precision, parameter :: ALPHA_MAX_PML = 2.d0*PI*(f0/2.d0)   ! from festa and Vilotte
 
 ! 2D arrays for the memory variables
-  double precision, dimension(0:NX+1,0:NY+1) :: gamma11,gamma12,gamma22
-  double precision, dimension(0:NX+1,0:NY+1) :: gamma12_1,gamma12_2
+  double precision, dimension(0:NX+1,0:NY+1) :: gamma11,gamma22
+  double precision, dimension(0:NX+1,0:NY+1) :: gamma12_1
   double precision, dimension(0:NX+1,0:NY+1) :: xi_1,xi_2
 
   double precision, dimension(0:NX+1,0:NY+1) :: &
@@ -302,17 +304,15 @@
 ! 1D arrays for the damping profiles
   double precision, dimension(NX) :: d_x,K_x,alpha_prime_x,a_x,b_x,d_x_half_x,K_x_half_x,alpha_prime_x_half_x,a_x_half_x,b_x_half_x
   double precision, dimension(NY) :: d_y,K_y,alpha_prime_y,a_y,b_y,d_y_half_y,K_y_half_y,alpha_prime_y_half_y,a_y_half_y,b_y_half_y
-  double precision, dimension(NY) :: d_y_new,K_y_new,alpha_prime_y_new,a_y_new,b_y_new,d_y_half_y_new,K_y_half_y_new, &
-    alpha_prime_y_half_y_new,a_y_half_y_new,b_y_half_y_new
 
   double precision thickness_PML_x,thickness_PML_y,xoriginleft,xoriginright,yoriginbottom,yorigintop
   double precision Rcoef,d0_x,d0_y,xval,yval,abscissa_in_PML,abscissa_normalized
-  double precision value_dx_vx1,value_dx_vx2,value_dx_vy,value_dx_sigmaxx,value_dx_sigmayy,value_dx_sigmaxy
-  double precision value_dy_vy1,value_dy_vy2,value_dy_vx,value_dy_sigmaxx,value_dy_sigmayy,value_dy_sigmaxy
-  double precision value_dx_sigma2vx,value_dx_sigma2vxf,value_dy_sigma2vy,value_dy_sigma2vyf
+  double precision value_dx_vx1,value_dx_vx2,value_dx_vy,value_dx_sigmaxx,value_dx_sigmaxy
+  double precision value_dy_vy1,value_dy_vy2,value_dy_vx,value_dy_sigmaxx,value_dy_sigmaxy
+  double precision value_dx_sigma2vxf,value_dy_sigma2vyf
 
 ! for the source
-  double precision a,t,force_x,force_y,source_term
+  double precision a,t,source_term
 
 ! for receivers
   double precision xspacerec,yspacerec,distval,dist
@@ -322,7 +322,7 @@
 ! for seismograms
   double precision, dimension(NSTEP,NREC) :: sisvx,sisvy,sisp
 
-  integer i,j,it,it2,irec
+  integer i,j,it,irec
 
   double precision Courant_number_bottom,Courant_number_top,velocnorm_all,max_amplitude
   double precision Dispersion_number_bottom,Dispersion_number_top
@@ -975,14 +975,14 @@
 
 ! save temporary partial seismograms to monitor the behavior of the simulation
 ! while it is running
-  call write_seismograms(sisvx,sisvy,sisp,NSTEP,NREC,DELTAT,t0/2.d0)
+  call write_seismograms(sisvx,sisvy,sisp,NSTEP,NREC,DELTAT,t0)
 
   endif
 
   enddo   ! end of time loop
 
 ! save seismograms
-  call write_seismograms(sisvx,sisvy,sisp,NSTEP,NREC,DELTAT,t0/2.d0)
+  call write_seismograms(sisvx,sisvy,sisp,NSTEP,NREC,DELTAT,t0)
 
 ! save total energy
   open(unit=20,file='energy.dat',status='unknown')
@@ -1075,8 +1075,7 @@
     write(file_name,"('Vx_file_',i3.3,'.dat')") irec
     open(unit=11,file=file_name,status='unknown')
     do it=1,nt
-!     write(11,*) sngl(dble(it-1)*DELTAT - t0),' ',sngl(sisvx(it,irec))
-      write(11,*) sngl(dble(it-1)*DELTAT ),' ',sngl(sisvx(it,irec))
+      write(11,*) sngl(dble(it-1)*DELTAT - t0),' ',sngl(sisvx(it,irec))
     enddo
     close(11)
   enddo
@@ -1086,8 +1085,7 @@
     write(file_name,"('Vy_file_',i3.3,'.dat')") irec
     open(unit=11,file=file_name,status='unknown')
     do it=1,nt
-!     write(11,*) sngl(dble(it-1)*DELTAT - t0),' ',sngl(sisvy(it,irec))
-      write(11,*) sngl(dble(it-1)*DELTAT ),' ',sngl(sisvy(it,irec))
+      write(11,*) sngl(dble(it-1)*DELTAT - t0),' ',sngl(sisvy(it,irec))
     enddo
     close(11)
   enddo
@@ -1097,8 +1095,7 @@
     write(file_name,"('Pf_file_',i3.3,'.dat')") irec
     open(unit=11,file=file_name,status='unknown')
     do it=1,nt
-!     write(11,*) sngl(dble(it-1)*DELTAT - t0),' ',sngl(sisp(it,irec))
-      write(11,*) sngl(dble(it-1)*DELTAT ),' ',sngl(sisp(it,irec))
+      write(11,*) sngl(dble(it-1)*DELTAT - t0),' ',sngl(sisp(it,irec))
     enddo
     close(11)
   enddo

Modified: seismo/3D/CPML/trunk/seismic_CPML_3D_isotropic_MPI_OpenMP.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_CPML_3D_isotropic_MPI_OpenMP.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_CPML_3D_isotropic_MPI_OpenMP.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributor: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !
@@ -38,7 +40,6 @@
 ! 3D elastic finite-difference code in velocity and stress formulation
 ! with Convolutional-PML (C-PML) absorbing conditions.
 
-! Version 1.0
 ! Dimitri Komatitsch, University of Pau, France, April 2007.
 
 ! The second-order staggered-grid formulation of Madariaga (1976) and Virieux (1986) is used.

Modified: seismo/3D/CPML/trunk/seismic_CPML_3D_viscoelastic_MPI.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_CPML_3D_viscoelastic_MPI.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_CPML_3D_viscoelastic_MPI.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributors: Roland Martin, roland DOT martin aT univ-pau DOT fr
 !           and Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
@@ -47,8 +49,7 @@
 
 ! The C-PML implementation is based in part on formulas given in Roden and Gedney (2000).
 !
-! Parallel implementation based on both MPI and OpenMP.
-! Type for instance "setenv OMP_NUM_THREADS 4" before running in OpenMP if you want 4 tasks.
+! Parallel implementation based on MPI.
 !
 ! If you use this code for your own research, please cite:
 !
@@ -242,7 +243,7 @@
   double precision a,t,force_x,force_y,source_term
 
 ! for receivers
-  double precision xspacerec,yspacerec,distval,dist
+  double precision distval,dist
   integer, dimension(NREC) :: ix_rec,iy_rec
   double precision, dimension(NREC) :: xrec,yrec
 
@@ -252,12 +253,11 @@
 ! max amplitude for color snapshots
   double precision max_amplitudeVx
   double precision max_amplitudeVy
-  double precision max_amplitudeVz
 
 ! for evolution of total energy in the medium
   double precision :: epsilon_xx,epsilon_yy,epsilon_zz,epsilon_xy,epsilon_xz,epsilon_yz
   double precision, dimension(NSTEP) :: total_energy,total_energy_kinetic,total_energy_potential
-  double precision :: local_energy,local_energy_kinetic,local_energy_potential
+  double precision :: local_energy_kinetic,local_energy_potential
 
   integer :: irec
 
@@ -269,15 +269,13 @@
   double precision, parameter :: DELTAT_over_rho = DELTAT/rho
   double precision :: mul_relaxed,lambdal_relaxed,lambdalplus2mul_relaxed
   double precision :: mul_unrelaxed,lambdal_unrelaxed,lambdalplus2mul_unrelaxed
-  double precision :: Un,Sn,Snp1,Unp1,Mu_nu1,Mu_nu2
+  double precision :: Un,Sn,Unp1,Mu_nu1,Mu_nu2
   double precision :: phi_nu1_mech1,phi_nu1_mech2
   double precision :: phi_nu2_mech1,phi_nu2_mech2
   double precision :: tauinv,inv_tau_sigma_nu1_mech1,inv_tau_sigma_nu1_mech2
   double precision :: taumin,taumax, tau1, tau2, tau3, tau4
   double precision :: inv_tau_sigma_nu2_mech1,inv_tau_sigma_nu2_mech2
-  double precision :: tauinvsquare,tauinvUn,tauinvcube
-  double precision :: deltatsquare,deltatcube,deltatfourth
-  double precision :: twelvedeltat,fourdeltatsquare
+  double precision :: tauinvUn
   double precision :: tau_epsilon_nu1_mech1, tau_sigma_nu1_mech1
   double precision::  tau_epsilon_nu2_mech1, tau_sigma_nu2_mech1
   double precision::  tau_epsilon_nu1_mech2, tau_sigma_nu1_mech2
@@ -884,18 +882,6 @@
          receiver_right_shift,message_tag,vz(:,:,-1:0),number_of_values, &
          MPI_DOUBLE_PRECISION,sender_right_shift,message_tag,MPI_COMM_WORLD,message_status,code)
 
-!$OMP PARALLEL DO DEFAULT(NONE) PRIVATE(kglobal,i,j,k,value_dvx_dx,value_dvx_dy, &
-!$OMP duxdx,duxdy,duxdz,duydx,duydy,duydz,duzdx,duzdy,duzdz,div, &
-!$OMP value_dvx_dz,value_dvy_dx,value_dvy_dy,value_dvy_dz,value_dvz_dx,value_dvz_dy, &
-!$OMP value_dvz_dz,value_dsigmaxx_dx,value_dsigmayy_dy,value_dsigmazz_dz, &
-!$OMP value_dsigmaxy_dx,value_dsigmaxy_dy,value_dsigmaxz_dx,value_dsigmaxz_dz, &
-!$OMP value_dsigmayz_dy,value_dsigmayz_dz) SHARED(vx,vy,vz,sigmaxx,sigmayy,sigmazz, &
-!$OMP sigmaxy,sigmaxz,sigmayz,memory_dvx_dx,memory_dvx_dy,memory_dvx_dz, &
-!$OMP memory_dvy_dx,memory_dvy_dy,memory_dvy_dz,memory_dvz_dx,memory_dvz_dy, &
-!$OMP memory_dvz_dz,memory_dsigmaxx_dx,memory_dsigmayy_dy,memory_dsigmazz_dz, &
-!$OMP memory_dsigmaxy_dx,memory_dsigmaxy_dy,memory_dsigmaxz_dx,memory_dsigmaxz_dz, &
-!$OMP memory_dsigmayz_dy,memory_dsigmayz_dz,a_x,b_x,K_x,a_x_half,b_x_half,K_x_half, &
-!$OMP a_y,b_y,K_y,a_y_half,b_y_half,K_y_half,a_z,b_z,K_z,a_z_half,b_z_half,K_z_half,k2begin,offset_k)
   do k=k2begin,NZ_LOCAL
    kglobal = k + offset_k
    do j=2,NY
@@ -1016,20 +1002,7 @@
      enddo
     enddo
   enddo
-!$OMP END PARALLEL DO
 
-!$OMP PARALLEL DO DEFAULT(NONE) PRIVATE(kglobal,i,j,k,value_dvx_dx,value_dvx_dy, &
-!$OMP value_dvx_dz,value_dvy_dx,value_dvy_dy,value_dvy_dz,value_dvz_dx,value_dvz_dy, &
-!$OMP duxdx,duxdy,duxdz,duydx,duydy,duydz,duzdx,duzdy,duzdz,div, &
-!$OMP value_dvz_dz,value_dsigmaxx_dx,value_dsigmayy_dy,value_dsigmazz_dz, &
-!$OMP value_dsigmaxy_dx,value_dsigmaxy_dy,value_dsigmaxz_dx,value_dsigmaxz_dz, &
-!$OMP value_dsigmayz_dy,value_dsigmayz_dz) SHARED(vx,vy,vz,sigmaxx,sigmayy,sigmazz, &
-!$OMP sigmaxy,sigmaxz,sigmayz,memory_dvx_dx,memory_dvx_dy,memory_dvx_dz, &
-!$OMP memory_dvy_dx,memory_dvy_dy,memory_dvy_dz,memory_dvz_dx,memory_dvz_dy, &
-!$OMP memory_dvz_dz,memory_dsigmaxx_dx,memory_dsigmayy_dy,memory_dsigmazz_dz, &
-!$OMP memory_dsigmaxy_dx,memory_dsigmaxy_dy,memory_dsigmaxz_dx,memory_dsigmaxz_dz, &
-!$OMP memory_dsigmayz_dy,memory_dsigmayz_dz,a_x,b_x,K_x,a_x_half,b_x_half,K_x_half, &
-!$OMP a_y,b_y,K_y,a_y_half,b_y_half,K_y_half,a_z,b_z,K_z,a_z_half,b_z_half,K_z_half)
   do k=1,NZ_LOCAL
    do j=1,NY-1
      do i=2,NX
@@ -1061,9 +1034,6 @@
   Unp1 = (Un + deltat*(Sn+0.5d0*tauinvUn))/(1.d0-deltat*0.5d0*tauinv)
   e12_mech2(i,j,k) = Unp1
 
-
-!! DK DK UGLY PML
-
       sigmaxy(i,j,k) = sigmaxy(i,j,k)+deltat*mul_relaxed * (e12_mech1(i,j,k) + e12_mech2(i,j,k))
 
     sigmaxy(i,j,k) = sigmaxy(i,j,k) + &
@@ -1075,20 +1045,7 @@
       enddo
     enddo
   enddo
-!$OMP END PARALLEL DO
 
-!$OMP PARALLEL DO DEFAULT(NONE) PRIVATE(kglobal,i,j,k,value_dvx_dx,value_dvx_dy, &
-!$OMP value_dvx_dz,value_dvy_dx,value_dvy_dy,value_dvy_dz,value_dvz_dx,value_dvz_dy, &
-!$OMP duxdx,duxdy,duxdz,duydx,duydy,duydz,duzdx,duzdy,duzdz,div, &
-!$OMP value_dvz_dz,value_dsigmaxx_dx,value_dsigmayy_dy,value_dsigmazz_dz, &
-!$OMP value_dsigmaxy_dx,value_dsigmaxy_dy,value_dsigmaxz_dx,value_dsigmaxz_dz, &
-!$OMP value_dsigmayz_dy,value_dsigmayz_dz) SHARED(vx,vy,vz,sigmaxx,sigmayy,sigmazz, &
-!$OMP sigmaxy,sigmaxz,sigmayz,memory_dvx_dx,memory_dvx_dy,memory_dvx_dz, &
-!$OMP memory_dvy_dx,memory_dvy_dy,memory_dvy_dz,memory_dvz_dx,memory_dvz_dy, &
-!$OMP memory_dvz_dz,memory_dsigmaxx_dx,memory_dsigmayy_dy,memory_dsigmazz_dz, &
-!$OMP memory_dsigmaxy_dx,memory_dsigmaxy_dy,memory_dsigmaxz_dx,memory_dsigmaxz_dz, &
-!$OMP memory_dsigmayz_dy,memory_dsigmayz_dz,a_x,b_x,K_x,a_x_half,b_x_half,K_x_half, &
-!$OMP a_y,b_y,K_y,a_y_half,b_y_half,K_y_half,a_z,b_z,K_z,a_z_half,b_z_half,K_z_half,kminus1end,offset_k)
   do k=1,kminus1end
    kglobal = k + offset_k
    do j=1,NY
@@ -1172,7 +1129,6 @@
       enddo
     enddo
   enddo
-!$OMP END PARALLEL DO
 
 !------------------
 ! compute velocity
@@ -1193,18 +1149,6 @@
          receiver_right_shift,message_tag,sigmaxz(:,:,-1:0),number_of_values, &
          MPI_DOUBLE_PRECISION,sender_right_shift,message_tag,MPI_COMM_WORLD,message_status,code)
 
-!$OMP PARALLEL DO DEFAULT(NONE) PRIVATE(kglobal,i,j,k,value_dvx_dx,value_dvx_dy, &
-!$OMP value_dvx_dz,value_dvy_dx,value_dvy_dy,value_dvy_dz,value_dvz_dx,value_dvz_dy, &
-!$OMP duxdx,duxdy,duxdz,duydx,duydy,duydz,duzdx,duzdy,duzdz,div, &
-!$OMP value_dvz_dz,value_dsigmaxx_dx,value_dsigmayy_dy,value_dsigmazz_dz, &
-!$OMP value_dsigmaxy_dx,value_dsigmaxy_dy,value_dsigmaxz_dx,value_dsigmaxz_dz, &
-!$OMP value_dsigmayz_dy,value_dsigmayz_dz) SHARED(vx,vy,vz,sigmaxx,sigmayy,sigmazz, &
-!$OMP sigmaxy,sigmaxz,sigmayz,memory_dvx_dx,memory_dvx_dy,memory_dvx_dz, &
-!$OMP memory_dvy_dx,memory_dvy_dy,memory_dvy_dz,memory_dvz_dx,memory_dvz_dy, &
-!$OMP memory_dvz_dz,memory_dsigmaxx_dx,memory_dsigmayy_dy,memory_dsigmazz_dz, &
-!$OMP memory_dsigmaxy_dx,memory_dsigmaxy_dy,memory_dsigmaxz_dx,memory_dsigmaxz_dz, &
-!$OMP memory_dsigmayz_dy,memory_dsigmayz_dz,a_x,b_x,K_x,a_x_half,b_x_half,K_x_half, &
-!$OMP a_y,b_y,K_y,a_y_half,b_y_half,K_y_half,a_z,b_z,K_z,a_z_half,b_z_half,K_z_half,k2begin,offset_k)
   do k=k2begin,NZ_LOCAL
    kglobal = k + offset_k
    do j=2,NY
@@ -1247,19 +1191,7 @@
       enddo
     enddo
   enddo
-!$OMP END PARALLEL DO
 
-!$OMP PARALLEL DO DEFAULT(NONE) PRIVATE(kglobal,i,j,k,value_dvx_dx,value_dvx_dy, &
-!$OMP value_dvx_dz,value_dvy_dx,value_dvy_dy,value_dvy_dz,value_dvz_dx,value_dvz_dy, &
-!$OMP value_dvz_dz,value_dsigmaxx_dx,value_dsigmayy_dy,value_dsigmazz_dz, &
-!$OMP value_dsigmaxy_dx,value_dsigmaxy_dy,value_dsigmaxz_dx,value_dsigmaxz_dz, &
-!$OMP value_dsigmayz_dy,value_dsigmayz_dz) SHARED(vx,vy,vz,sigmaxx,sigmayy,sigmazz, &
-!$OMP sigmaxy,sigmaxz,sigmayz,memory_dvx_dx,memory_dvx_dy,memory_dvx_dz, &
-!$OMP memory_dvy_dx,memory_dvy_dy,memory_dvy_dz,memory_dvz_dx,memory_dvz_dy, &
-!$OMP memory_dvz_dz,memory_dsigmaxx_dx,memory_dsigmayy_dy,memory_dsigmazz_dz, &
-!$OMP memory_dsigmaxy_dx,memory_dsigmaxy_dy,memory_dsigmaxz_dx,memory_dsigmaxz_dz, &
-!$OMP memory_dsigmayz_dy,memory_dsigmayz_dz,a_x,b_x,K_x,a_x_half,b_x_half,K_x_half, &
-!$OMP a_y,b_y,K_y,a_y_half,b_y_half,K_y_half,a_z,b_z,K_z,a_z_half,b_z_half,K_z_half,kminus1end,offset_k)
   do k=1,kminus1end
    kglobal = k + offset_k
    do j=2,NY
@@ -1282,7 +1214,6 @@
       enddo
     enddo
   enddo
-!$OMP END PARALLEL DO
 
   if(rank == rank_cut_plane) then
 
@@ -1313,7 +1244,6 @@
 
 ! implement Dirichlet boundary conditions on the six edges of the grid
 
-!$OMP PARALLEL WORKSHARE
 ! xmin
   vx(0:1,:,:) = ZERO
   vy(0:1,:,:) = ZERO
@@ -1333,7 +1263,6 @@
   vx(:,NY:NY+1,:) = ZERO
   vy(:,NY:NY+1,:) = ZERO
   vz(:,NY:NY+1,:) = ZERO
-!$OMP END PARALLEL WORKSHARE
 
 ! zmin
   if(rank == 0) then
@@ -1366,9 +1295,6 @@
   if(rank == 0) kmin = NPOINTS_PML
   if(rank == nb_procs-1) kmax = NZ_LOCAL-NPOINTS_PML+1
 
-!$OMP PARALLEL DO DEFAULT(NONE) PRIVATE(i,j,k,epsilon_xx,epsilon_yy,epsilon_zz,epsilon_xy,epsilon_xz,epsilon_yz) &
-!$OMP SHARED(kmin,kmax,vx,vy,vz,sigmaxx,sigmayy,sigmazz, &
-!$OMP sigmaxy,sigmaxz,sigmayz) REDUCTION(+:local_energy_kinetic,local_energy_potential)
   do k = kmin,kmax
     do j = NPOINTS_PML, NY-NPOINTS_PML+1
       do i = NPOINTS_PML, NX-NPOINTS_PML+1
@@ -1403,7 +1329,6 @@
       enddo
     enddo
   enddo
-!$OMP END PARALLEL DO
 
   call MPI_REDUCE(local_energy_kinetic + local_energy_potential,total_energy(it),1, &
                           MPI_DOUBLE_PRECISION,MPI_SUM,rank_cut_plane,MPI_COMM_WORLD,code)
@@ -1633,7 +1558,8 @@
 
   integer :: ix,iy,irec
 
-  character(len=100) :: file_name,system_command
+  character(len=150) :: file_name
+! character(len=150) :: system_command
 
   integer :: R, G, B
 

Modified: seismo/3D/CPML/trunk/seismic_PML_Collino_2D_isotropic.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_PML_Collino_2D_isotropic.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_PML_Collino_2D_isotropic.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributor: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !
@@ -60,7 +62,6 @@
 !
 ! PML implemented in the two directions (x and y directions).
 !
-! Version 1.0
 ! Dimitri Komatitsch, University of Pau, France, April 2007.
 !
 ! The second-order staggered-grid formulation of Madariaga (1976) and Virieux (1986) is used:

Modified: seismo/3D/CPML/trunk/seismic_PML_Collino_3D_isotropic_OpenMP.f90
===================================================================
--- seismo/3D/CPML/trunk/seismic_PML_Collino_3D_isotropic_OpenMP.f90	2009-10-31 00:45:27 UTC (rev 15905)
+++ seismo/3D/CPML/trunk/seismic_PML_Collino_3D_isotropic_OpenMP.f90	2009-10-31 01:05:56 UTC (rev 15906)
@@ -1,4 +1,6 @@
 !
+! SEISMIC_CPML Version 1.1.0, October 2009.
+!
 ! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
 ! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
 !               and Roland Martin, roland DOT martin aT univ-pau DOT fr
@@ -61,7 +63,6 @@
 !
 ! PML implemented in the three directions (x, y and z).
 !
-! Version 1.0
 ! Dimitri Komatitsch and Roland Martin, University of Pau, France, April 2007.
 !
 ! The second-order staggered-grid formulation of Madariaga (1976) and Virieux (1986) is used.
@@ -84,7 +85,7 @@
 ! total number of grid points in each direction of the grid
   integer, parameter :: NX = 101
   integer, parameter :: NY = 641
-  integer, parameter :: NZ = 64!!!0
+  integer, parameter :: NZ = 640
 
 ! size of a grid cell
   double precision, parameter :: h = 10.d0



More information about the CIG-COMMITS mailing list