[cig-commits] r15577 - seismo/2D/SPECFEM2D/trunk
dkomati1 at geodynamics.org
dkomati1 at geodynamics.org
Sat Aug 22 08:03:53 PDT 2009
Author: dkomati1
Date: 2009-08-22 08:03:50 -0700 (Sat, 22 Aug 2009)
New Revision: 15577
Modified:
seismo/2D/SPECFEM2D/trunk/Makefile
seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90
seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90
seismo/2D/SPECFEM2D/trunk/attenuation_model.f90
seismo/2D/SPECFEM2D/trunk/checkgrid.F90
seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90
seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90
seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90
seismo/2D/SPECFEM2D/trunk/compute_energy.f90
seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90
seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90
seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90
seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90
seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90
seismo/2D/SPECFEM2D/trunk/compute_pressure.f90
seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90
seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90
seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90
seismo/2D/SPECFEM2D/trunk/create_color_image.f90
seismo/2D/SPECFEM2D/trunk/createnum_fast.f90
seismo/2D/SPECFEM2D/trunk/createnum_slow.f90
seismo/2D/SPECFEM2D/trunk/datim.f90
seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90
seismo/2D/SPECFEM2D/trunk/define_external_model.f90
seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90
seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90
seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90
seismo/2D/SPECFEM2D/trunk/gmat01.f90
seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90
seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90
seismo/2D/SPECFEM2D/trunk/locate_receivers.F90
seismo/2D/SPECFEM2D/trunk/locate_source_force.F90
seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90
seismo/2D/SPECFEM2D/trunk/meshfem2D.F90
seismo/2D/SPECFEM2D/trunk/part_unstruct.F90
seismo/2D/SPECFEM2D/trunk/plotgll.f90
seismo/2D/SPECFEM2D/trunk/plotpost.F90
seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90
seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90
seismo/2D/SPECFEM2D/trunk/specfem2D.F90
seismo/2D/SPECFEM2D/trunk/spline_routines.f90
seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt
seismo/2D/SPECFEM2D/trunk/write_seismograms.F90
Log:
- converted copyright information in headers from version 5.2 to version 6.0
- fixed the length of some variable names that were longer than 31 characters
- updated the todo list
Modified: seismo/2D/SPECFEM2D/trunk/Makefile
===================================================================
--- seismo/2D/SPECFEM2D/trunk/Makefile 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/Makefile 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
#========================================================================
#
-# S P E C F E M 2 D Version 5.2
+# S P E C F E M 2 D Version 6.0
# ------------------------------
#
-# Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+# Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+# and Princeton University, USA.
# Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
# Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
# Roland Martin, roland DOT martin aT univ-pau DOT fr
+# Christina Morency, cmorency aT princeton DOT edu
#
# This software is a computer program whose purpose is to solve
-# the two-dimensional viscoelastic anisotropic wave equation
+# the two-dimensional viscoelastic anisotropic or poroelastic wave equation
# using a spectral-element method (SEM).
#
# This software is governed by the CeCILL license under French law and
@@ -67,19 +69,11 @@
#FLAGS_CHECK = $(FLAGS_NOCHECK)
# GNU gfortran
-#F90 = gfortran
-#F90 = mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
-#F90 = /opt/openmpi-1.2.1/gfortran64/bin/mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
-#CC = gcc
-##FLAGS_NOCHECK = -O3 -march=opteron -m64 -mfpmath=sse,387
-#FLAGS_NOCHECK = -std=f95 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math # -mcmodel=medium
-#FLAGS_CHECK = $(FLAGS_NOCHECK) -fbounds-check
-
-# GNU gfortran (yucca)
-#F90 = /opt/openmpi-1.2.1/gfortran64/bin/mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
F90 = gfortran
+#F90 = mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
CC = gcc
-FLAGS_NOCHECK = -std=gnu -fimplicit-none -frange-check -O2 -Wunused-labels -Waliasing -Wampersand -Wsurprising -Wline-truncation -Wunderflow
+##FLAGS_NOCHECK = -O3 -march=opteron -m64 -mfpmath=sse,387
+FLAGS_NOCHECK = -std=f95 -fimplicit-none -frange-check -O3 -fmax-errors=10 -pedantic -pedantic-errors -Wunused -Waliasing -Wampersand -Wcharacter-truncation -Wline-truncation -Wsurprising -Wno-tabs -Wunderflow -fno-trapping-math # -mcmodel=medium
FLAGS_CHECK = $(FLAGS_NOCHECK) -fbounds-check
# IBM
Modified: seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/adj_seismogram.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -30,7 +30,7 @@
!
comp = (/"BHX","BHZ"/)
-
+
do irec =1,nrec
do icomp = 1, NDIM
@@ -41,7 +41,7 @@
do itime = 1,NSTEP
read(10,*) time , seism(itime,icomp)
enddo
-
+
enddo
close(10)
@@ -53,7 +53,7 @@
print*,'tstart =',istart*deltat, 'tend =', iend*deltat
if(istart >= iend) stop 'check istart,iend'
nlen = iend - istart +1
-
+
do icomp = 1, NDIM
filename = 'OUTPUT_FILES/'//trim(station_name(irec))//'.AA.'// comp(icomp) // '.adj'
@@ -65,8 +65,8 @@
seism_accel(:) = 0.d0
do itime =istart,iend
-! time_window(itime) = 1.d0 - cos(pi*(itime-1)/NSTEP+1)**10 ! cosine window
- time_window(itime) = 1.d0 - (2* (dble(itime) - istart)/(iend-istart) -1.d0)**2 ! Welch window
+! time_window(itime) = 1.d0 - cos(pi*(itime-1)/NSTEP+1)**10 ! cosine window
+ time_window(itime) = 1.d0 - (2* (dble(itime) - istart)/(iend-istart) -1.d0)**2 ! Welch window
enddo
do itime = 2,NSTEP-1
@@ -74,7 +74,7 @@
enddo
seism_veloc(1) = (seism_win(2) - seism_win(1))/deltat
seism_veloc(NSTEP) = (seism_win(NSTEP) - seism_win(NSTEP-1))/deltat
-
+
do itime = 2,NSTEP-1
seism_accel(itime) = (seism_veloc(itime+1) - seism_veloc(itime-1))/(2*deltat)
enddo
Modified: seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/assemble_MPI.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/attenuation_model.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/attenuation_model.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/attenuation_model.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/checkgrid.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/checkgrid.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/checkgrid.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -1411,7 +1413,7 @@
do ispec=1,nspec
material = kmato(ispec)
-
+
if(poroelastic(ispec)) then
phi = porosity(material)
tort = tortuosity(material)
@@ -1601,8 +1603,8 @@
! only if time source is not a Dirac or Heaviside (otherwise maximum frequency of spectrum undefined)
! and if source is not an initial field, for the same reason
if(.not. initialfield) then
- f0max = -HUGEVAL
- f0min = HUGEVAL
+ f0max = -HUGEVAL
+ f0min = HUGEVAL
do i = 1,NSOURCE
if(time_function_type(i) /= 4 .and. time_function_type(i) /= 5) then
@@ -1616,7 +1618,7 @@
else
write(IOUT,*) ' --> onset time ok'
endif
-
+
if(i==NSOURCE)then
write(IOUT,*) '----'
write(IOUT,*) ' Nb pts / lambdaPImin_fmax max = ',lambdaPImax/(2.5d0*f0min)
@@ -2226,7 +2228,7 @@
endif
material = kmato(ispec)
-
+
if(poroelastic(ispec)) then
phi = porosity(material)
tort = tortuosity(material)
Modified: seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_Bielak_conditions.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_arrays_source.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_curl_one_element.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,17 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
! Copyright Universite de Pau et des Pays de l'Adour and CNRS, France.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_energy.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_energy.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_energy.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_acoustic.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -313,7 +315,7 @@
elseif(isolver == 2) then
b_potential_dot_dot_acoustic(iglob) = b_potential_dot_dot_acoustic(iglob) - &
b_absorb_acoustic_right(j,ib_xmax(ispecabs),NSTEP-it+1)
- endif
+ endif
endif
enddo
Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_elastic.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_fluid.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -8,11 +8,12 @@
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
! Christina Morency, cmorency aT gps DOT caltech DOT edu
! Jeroen Tromp, jtromp aT gps DOT caltech DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -144,7 +145,7 @@
integer :: ispec,i,j,k,iglob,ispecabs,ibegin,iend,jbegin,jend,irec,irec_local
-! spatial derivatives
+! spatial derivatives
real(kind=CUSTOM_REAL) :: dux_dxi,dux_dgamma,duz_dxi,duz_dgamma
real(kind=CUSTOM_REAL) :: dwx_dxi,dwx_dgamma,dwz_dxi,dwz_dgamma
real(kind=CUSTOM_REAL) :: dux_dxl,duz_dxl,dux_dzl,duz_dzl
@@ -207,7 +208,7 @@
kappal_s = poroelastcoef(3,1,kmato(ispec)) -4._CUSTOM_REAL*mul_s/3._CUSTOM_REAL
rhol_s = density(1,kmato(ispec))
!fluid properties
- kappal_f = poroelastcoef(1,2,kmato(ispec))
+ kappal_f = poroelastcoef(1,2,kmato(ispec))
rhol_f = density(2,kmato(ispec))
!frame properties
mul_fr = poroelastcoef(2,3,kmato(ispec))
@@ -455,7 +456,7 @@
! loop over spectral elements
do ispec = 1,nspec
- etal_f = poroelastcoef(2,2,kmato(ispec))
+ etal_f = poroelastcoef(2,2,kmato(ispec))
if(poroelastic(ispec) .and. etal_f > 0.d0) then
@@ -507,7 +508,7 @@
accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - wxgll(i)*wzgll(j)*jacobian(i,j,ispec)*&
viscodampz
- if(isolver == 1 .and. save_forward) then
+ if(isolver == 1 .and. save_forward) then
b_viscodampx(iglob) = wxgll(i)*wzgll(j)*jacobian(i,j,ispec) * viscodampx
b_viscodampz(iglob) = wxgll(i)*wzgll(j)*jacobian(i,j,ispec) * viscodampz
elseif(isolver == 2) then ! kernels calculation
@@ -515,7 +516,7 @@
b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - b_viscodampz(iglob)
endif
- enddo
+ enddo
enddo
endif ! end of test if poroelastic element
@@ -596,8 +597,8 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
- tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
+ tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+ tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -607,9 +608,9 @@
b_absorb_poro_w_left(2,j,ib_xmin(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
- b_absorb_poro_w_left(1,j,ib_xmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_left(1,j,ib_xmin(ispecabs),NSTEP-it+1)
b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
- b_absorb_poro_w_left(2,j,ib_xmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_left(2,j,ib_xmin(ispecabs),NSTEP-it+1)
endif
endif
@@ -652,8 +653,8 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
- tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
+ tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+ tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -663,9 +664,9 @@
b_absorb_poro_w_right(2,j,ib_xmax(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
- b_absorb_poro_w_right(1,j,ib_xmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_right(1,j,ib_xmax(ispecabs),NSTEP-it+1)
b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
- b_absorb_poro_w_right(2,j,ib_xmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_right(2,j,ib_xmax(ispecabs),NSTEP-it+1)
endif
endif
@@ -712,8 +713,8 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
- tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
+ tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+ tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -723,9 +724,9 @@
b_absorb_poro_w_bottom(2,i,ib_zmin(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
- b_absorb_poro_w_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1)
b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
- b_absorb_poro_w_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1)
endif
endif
@@ -772,8 +773,8 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
- tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
+ tx = rho_vpII*vnf*nx - rho_vs*(vx-vn*nx)
+ tz = rho_vpII*vnf*nz - rho_vs*(vz-vn*nz)
accelw_poroelastic(1,iglob) = accelw_poroelastic(1,iglob) - tx*weight
accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) - tz*weight
@@ -783,9 +784,9 @@
b_absorb_poro_w_top(2,i,ib_zmax(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accelw_poroelastic(1,iglob) = b_accelw_poroelastic(1,iglob) - &
- b_absorb_poro_w_top(1,i,ib_zmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_top(1,i,ib_zmax(ispecabs),NSTEP-it+1)
b_accelw_poroelastic(2,iglob) = b_accelw_poroelastic(2,iglob) - &
- b_absorb_poro_w_top(2,i,ib_zmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_w_top(2,i,ib_zmax(ispecabs),NSTEP-it+1)
endif
endif
@@ -806,9 +807,9 @@
if (is_proc_source(i_source) == 1 .and. poroelastic(ispec_selected_source(i_source))) then
phil = porosity(kmato(ispec_selected_source(i_source)))
- rhol_s = density(1,kmato(ispec_selected_source(i_source)))
- rhol_f = density(2,kmato(ispec_selected_source(i_source)))
- rhol_bar = (1._CUSTOM_REAL - phil)*rhol_s + phil*rhol_f
+ rhol_s = density(1,kmato(ispec_selected_source(i_source)))
+ rhol_f = density(2,kmato(ispec_selected_source(i_source)))
+ rhol_bar = (1._CUSTOM_REAL - phil)*rhol_s + phil*rhol_f
! moment tensor
if(source_type(i_source) == 2) then
@@ -853,7 +854,7 @@
do i=1,NGLLX
iglob = ibool(i,j,ispec_selected_rec(irec))
accelw_poroelastic(:,iglob) = accelw_poroelastic(:,iglob) - &
- rhol_f/rhol_bar*adj_sourcearrays(irec_local,NSTEP-it+1,:,i,j)
+ rhol_f/rhol_bar*adj_sourcearrays(irec_local,NSTEP-it+1,:,i,j)
enddo
enddo
Modified: seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_forces_solid.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -8,11 +8,12 @@
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
! Christina Morency, cmorency aT gps DOT caltech DOT edu
! Jeroen Tromp, jtromp aT gps DOT caltech DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -195,7 +196,7 @@
!---
!--- poroelastic spectral element
!---
-
+
if(poroelastic(ispec)) then
! get poroelastic parameters of current spectral element
@@ -206,7 +207,7 @@
kappal_s = poroelastcoef(3,1,kmato(ispec)) - 4._CUSTOM_REAL*mul_s/3._CUSTOM_REAL
rhol_s = density(1,kmato(ispec))
!fluid properties
- kappal_f = poroelastcoef(1,2,kmato(ispec))
+ kappal_f = poroelastcoef(1,2,kmato(ispec))
rhol_f = density(2,kmato(ispec))
!frame properties
mul_fr = poroelastcoef(2,3,kmato(ispec))
@@ -254,7 +255,7 @@
b_dwx_dgamma = ZERO
b_dwz_dgamma = ZERO
- endif
+ endif
! first double loop over GLL points to compute and store gradients
! we can merge the two loops because NGLLX == NGLLZ
@@ -470,9 +471,9 @@
! loop over spectral elements
do ispec = 1,nspec
- etal_f = poroelastcoef(2,2,kmato(ispec))
+ etal_f = poroelastcoef(2,2,kmato(ispec))
- if(poroelastic(ispec) .and. etal_f >0.d0) then
+ if(poroelastic(ispec) .and. etal_f >0.d0) then
phil = porosity(kmato(ispec))
tortl = tortuosity(kmato(ispec))
@@ -525,12 +526,12 @@
viscodampz
! if isolver == 1 .and. save_forward then b_viscodamp is save in compute_forces_fluid.f90
- if(isolver == 2) then ! kernels calculation
+ if(isolver == 2) then ! kernels calculation
b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) + phil/tortl*b_viscodampx(iglob)
b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) + phil/tortl*b_viscodampz(iglob)
endif
- enddo
+ enddo
enddo
endif ! end of test if poroelastic element
@@ -555,7 +556,7 @@
kappal_s = poroelastcoef(3,1,kmato(ispec)) - 4._CUSTOM_REAL*mul_s/3._CUSTOM_REAL
rhol_s = density(1,kmato(ispec))
!fluid properties
- kappal_f = poroelastcoef(1,2,kmato(ispec))
+ kappal_f = poroelastcoef(1,2,kmato(ispec))
rhol_f = density(2,kmato(ispec))
!frame properties
mul_fr = poroelastcoef(2,3,kmato(ispec))
@@ -614,7 +615,7 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
+ tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -625,9 +626,9 @@
b_absorb_poro_s_left(2,j,ib_xmin(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
- b_absorb_poro_s_left(1,j,ib_xmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_left(1,j,ib_xmin(ispecabs),NSTEP-it+1)
b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
- b_absorb_poro_s_left(2,j,ib_xmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_left(2,j,ib_xmin(ispecabs),NSTEP-it+1)
endif
endif
@@ -637,8 +638,8 @@
endif ! end of left absorbing boundary
!--- right absorbing boundary
- if(codeabs(IRIGHT,ispecabs)) then
-
+ if(codeabs(IRIGHT,ispecabs)) then
+
i = NGLLX
jbegin = jbegin_right_poro(ispecabs)
@@ -670,7 +671,7 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
+ tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -681,9 +682,9 @@
b_absorb_poro_s_right(2,j,ib_xmax(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
- b_absorb_poro_s_right(1,j,ib_xmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_right(1,j,ib_xmax(ispecabs),NSTEP-it+1)
b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
- b_absorb_poro_s_right(2,j,ib_xmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_right(2,j,ib_xmax(ispecabs),NSTEP-it+1)
endif
endif
@@ -730,7 +731,7 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
+ tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -741,9 +742,9 @@
b_absorb_poro_s_bottom(2,i,ib_zmin(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
- b_absorb_poro_s_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_bottom(1,i,ib_zmin(ispecabs),NSTEP-it+1)
b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
- b_absorb_poro_s_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_bottom(2,i,ib_zmin(ispecabs),NSTEP-it+1)
endif
endif
@@ -790,7 +791,7 @@
vn = nx*vx+nz*vz
vnf = nx*vxf+nz*vzf
- tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
+ tx = rho_vpI*vn*nx + rho_vs*(vx-vn*nx)
tz = rho_vpI*vn*nz + rho_vs*(vz-vn*nz)
accels_poroelastic(1,iglob) = accels_poroelastic(1,iglob) - tx*weight
@@ -801,9 +802,9 @@
b_absorb_poro_s_top(2,i,ib_zmax(ispecabs),it) = tz*weight
elseif(isolver == 2) then
b_accels_poroelastic(1,iglob) = b_accels_poroelastic(1,iglob) - &
- b_absorb_poro_s_top(1,i,ib_zmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_top(1,i,ib_zmax(ispecabs),NSTEP-it+1)
b_accels_poroelastic(2,iglob) = b_accels_poroelastic(2,iglob) - &
- b_absorb_poro_s_top(2,i,ib_zmax(ispecabs),NSTEP-it+1)
+ b_absorb_poro_s_top(2,i,ib_zmax(ispecabs),NSTEP-it+1)
endif
endif
@@ -811,7 +812,7 @@
enddo
endif ! end of top absorbing boundary
-
+
enddo
endif ! end of absorbing boundaries
@@ -846,7 +847,7 @@
b_accels_poroelastic(:,iglob) = b_accels_poroelastic(:,iglob) + &
(1._CUSTOM_REAL - phil/tortl)*sourcearray(i_source,:,i,j)*source_time_function(i_source,NSTEP-it+1)
enddo
- enddo
+ enddo
endif !endif isolver == 1
endif !if(source_type(i_source) == 2)
Modified: seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_gradient_attenuation.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_pressure.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_pressure.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_pressure.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/compute_vector_field.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/construct_acoustic_surface.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/convolve_source_timefunction.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/create_color_image.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/create_color_image.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/create_color_image.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/createnum_fast.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/createnum_fast.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/createnum_fast.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/createnum_slow.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/createnum_slow.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/createnum_slow.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/datim.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/datim.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/datim.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/define_derivation_matrices.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/define_external_model.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/define_external_model.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/define_external_model.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/define_shape_functions.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/enforce_acoustic_free_surface.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/get_perm_cuthill_mckee.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/gmat01.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/gmat01.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/gmat01.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -138,13 +140,13 @@
density(1) =val0
density(2) =val1
-! Solid properties
+! Solid properties
kappa_s = val7
mu_s = val11
-! Fluid properties
+! Fluid properties
kappa_f = val8
eta_f = val10
-! Frame properties
+! Frame properties
kappa_fr = val9
mu_fr = val11
! Lam'e parameters for the solid phase and the frame
@@ -175,10 +177,10 @@
permeability(2,n) = val5
permeability(3,n) = val6
-! Young modulus for the solid phase
+! Young modulus for the solid phase
young_s = 9.d0*kappa_s*mu_s/(3.d0*kappa_s + mu_s)
-! Poisson's ratio for the solid phase
+! Poisson's ratio for the solid phase
poisson_s = HALF*(3.d0*kappa_s- 2.d0*mu_s)/(3.d0*kappa_s+mu_s)
! Poisson's ratio must be between -1 and +1/2
Modified: seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/is_in_convex_quadrilateral.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/lagrange_poly.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/locate_receivers.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/locate_receivers.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/locate_receivers.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/locate_source_force.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/locate_source_force.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/locate_source_force.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/locate_source_moment_tensor.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/meshfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/meshfem2D.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/meshfem2D.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -112,10 +114,10 @@
xinterface_top,zinterface_top,coefs_interface_top
! for the source and receivers
- integer, dimension(:), allocatable :: source_type,time_function_type
+ integer, dimension(:), allocatable :: source_type,time_function_type
integer nrec_total,irec_global_number
- double precision, dimension(:),allocatable :: xs,zs,f0,t0,angleforce,Mxx,Mzz,Mxz,factor
- integer NSOURCE, NSOURCES, i_source, icounter, ios
+ double precision, dimension(:),allocatable :: xs,zs,f0,t0,angleforce,Mxx,Mzz,Mxz,factor
+ integer NSOURCE, NSOURCES, i_source, icounter, ios
logical, dimension(:),allocatable :: source_surf
double precision xrec,zrec
! file number for source file
@@ -201,13 +203,13 @@
integer, dimension(:), allocatable :: my_interfaces
integer, dimension(:), allocatable :: my_nb_interfaces
-! for acoustic/elastic coupled elements
+! for acoustic/elastic coupled elements
integer :: nedges_coupled, nedges_coupled_loc
integer, dimension(:,:), pointer :: edges_coupled
-! for acoustic/poroelastic coupled elements
+! for acoustic/poroelastic coupled elements
integer :: nedges_acporo_coupled, nedges_acporo_coupled_loc
integer, dimension(:,:), pointer :: edges_acporo_coupled
-! for poroelastic/elastic coupled elements
+! for poroelastic/elastic coupled elements
integer :: nedges_elporo_coupled, nedges_elporo_coupled_loc
integer, dimension(:,:), pointer :: edges_elporo_coupled
@@ -459,7 +461,7 @@
call read_value_integer(IIN,IGNORE_JUNK,isolver)
! read source parameters
- call read_value_integer(IIN,IGNORE_JUNK,NSOURCE)
+ call read_value_integer(IIN,IGNORE_JUNK,NSOURCE)
allocate(source_surf(NSOURCE))
allocate(xs(NSOURCE))
allocate(zs(NSOURCE))
@@ -1365,7 +1367,7 @@
write(15,*) nelemabs_loc,nelem_acoustic_surface_loc,nedges_coupled_loc,nedges_acporo_coupled_loc,&
nedges_elporo_coupled_loc,nnodes_tangential_curve
- write(15,*) 'Material sets (num 1 rho vp vs 0 0 Qp Qs 0 0 0 0 0 0) or '
+ write(15,*) 'Material sets (num 1 rho vp vs 0 0 Qp Qs 0 0 0 0 0 0) or '
write(15,*) '(num 2 rho c11 c13 c33 c44 Qp Qs 0 0 0 0 0 0) or '
write(15,*) '(num 3 rhos rhof phi c k_xx k_xz k_zz Ks Kf Kfr etaf mufr Qs)'
do i=1,nb_materials
Modified: seismo/2D/SPECFEM2D/trunk/part_unstruct.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/part_unstruct.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/part_unstruct.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -144,7 +146,7 @@
integer, intent(in) :: ANISOTROPIC_MATERIAL
integer, intent(in) :: nb_materials
integer, dimension(1:nb_materials), intent(in) :: icodemat
- double precision, dimension(1:nb_materials), intent(in) :: phi
+ double precision, dimension(1:nb_materials), intent(in) :: phi
integer, intent(in) :: num_start
Modified: seismo/2D/SPECFEM2D/trunk/plotgll.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/plotgll.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/plotgll.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/plotpost.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/plotpost.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/plotpost.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -47,7 +49,7 @@
simulation_title,npoin,npgeo,vpmin,vpmax,nrec,NSOURCE, &
colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
- nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+ nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges, &
fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -111,7 +113,7 @@
double precision, dimension(nrec) :: st_xval,st_zval
integer numabs(nelemabs),codeabs(4,nelemabs)
- logical anyabs,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+ logical anyabs,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
any_acoustic,any_poroelastic,plot_lowerleft_corner_only
! for fluid/solid edge detection
@@ -169,8 +171,8 @@
integer :: nb_coorg_per_elem, nb_color_per_elem
integer :: iproc, num_spec
integer :: ier
- logical :: anyabs_glob, coupled_acoustic_elastic_glob, coupled_acoustic_poroelastic_glob, &
- coupled_elastic_poroelastic_glob
+ logical :: anyabs_glob, coupled_acoustic_elastic_glob, coupled_acoustic_poro_glob, &
+ coupled_elastic_poro_glob
#ifdef USE_MPI
integer, dimension(MPI_STATUS_SIZE) :: request_mpi_status
#endif
@@ -1615,9 +1617,9 @@
if(coupled_acoustic_elastic) then
write(24,*) '(Coupled Acoustic/Elastic Wave 2D - SEM) show'
- else if(coupled_acoustic_poroelastic) then
+ else if(coupled_acoustic_poro) then
write(24,*) '(Coupled Acoustic/Poroelastic Wave 2D - SEM) show'
- else if(coupled_elastic_poroelastic) then
+ else if(coupled_elastic_poro) then
write(24,*) '(Coupled Elastic/Poroelastic Wave 2D - SEM) show'
else if(any_acoustic) then
write(24,*) '(Acoustic Wave 2D - Spectral Element Method) show'
@@ -2469,12 +2471,12 @@
!
!---- draw the fluid-porous coupling edges with a thick color line
!
- coupled_acoustic_poroelastic_glob = coupled_acoustic_poroelastic
+ coupled_acoustic_poro_glob = coupled_acoustic_poro
#ifdef USE_MPI
- call MPI_ALLREDUCE(coupled_acoustic_poroelastic, coupled_acoustic_poroelastic_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
+ call MPI_ALLREDUCE(coupled_acoustic_poro, coupled_acoustic_poro_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
#endif
- if(coupled_acoustic_poroelastic_glob .and. boundvect) then
+ if(coupled_acoustic_poro_glob .and. boundvect) then
if ( myrank == 0 ) then
write(24,*) '%'
@@ -2576,12 +2578,12 @@
!
!---- draw the solid-porous coupling edges with a thick color line
!
- coupled_elastic_poroelastic_glob = coupled_elastic_poroelastic
+ coupled_elastic_poro_glob = coupled_elastic_poro
#ifdef USE_MPI
- call MPI_ALLREDUCE(coupled_elastic_poroelastic, coupled_elastic_poroelastic_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
+ call MPI_ALLREDUCE(coupled_elastic_poro, coupled_elastic_poro_glob, 1, MPI_LOGICAL, MPI_LOR, MPI_COMM_WORLD, ier)
#endif
- if(coupled_elastic_poroelastic_glob .and. boundvect) then
+ if(coupled_elastic_poro_glob .and. boundvect) then
if ( myrank == 0 ) then
write(24,*) '%'
Modified: seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/read_value_parameters.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/recompute_jacobian.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/specfem2D.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/specfem2D.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
@@ -43,11 +45,12 @@
!====================================================================================
!
! An explicit 2D parallel MPI spectral element solver
-! for the anelastic anisotropic wave equation
+! for the anelastic anisotropic or poroelastic wave equation.
!
!====================================================================================
-! If you use this code for your own research, please cite:
+! If you use this code for your own research, please cite at least one article
+! written by the developers of the package, for instance:
!
! @ARTICLE{KoTr99,
! author={D. Komatitsch and J. Tromp},
@@ -68,27 +71,27 @@
! number=2,
! pages={368-392}}
!
-!@ARTICLE{MoTr08,
-! author={C. Morency and J. Tromp},
-! year=2008,
-! title={Spectral-element simulations of wave propagation in poroelastic media},
-! journal={Geophys. J. Int.},
-! volume=175,
-! pages={301--345}}
+! @ARTICLE{MoTr08,
+! author={C. Morency and J. Tromp},
+! title={Spectral-element simulations of wave propagation in poroelastic media},
+! journal={Geophys. J. Int.},
+! year=2008,
+! volume=175,
+! pages={301-345}}
!
+! and/or another article from http://web.univ-pau.fr/~dkomati1/publications.html
+!
! If you use the METIS / SCOTCH / CUBIT non-structured version, please also cite:
!
-! @INPROCEEDINGS{MaKoBlLe08,
+! @ARTICLE{MaKoBlLe08,
! author = {R. Martin and D. Komatitsch and C. Blitz and N. {Le Goff}},
! title = {Simulation of seismic wave propagation in an asteroid based upon
-! an unstructured {MPI} spectral-element method: blocking and non-blocking communication strategies}
-! booktitle = {Proceedings of the VECPAR'2008 8th International Meeting
-! on High Performance Computing for Computational Science},
+! an unstructured {MPI} spectral-element method: blocking and non-blocking
+! communication strategies},
+! journal = {Lecture Notes in Computer Science},
! year = {2008},
-! pages = {999998-999999},
-! address = {Toulouse, France},
-! note = {24-27 June 2008},
-! url = {http://vecpar.fe.up.pt/2008}}
+! volume = {5336},
+! pages = {350-363}}
!
! If you use the kernel capabilities of the code, please cite
!
@@ -102,15 +105,16 @@
! pages={2383-2397},
! doi={10.1785/0120060041}}
!
-!@ARTICLE{MoLuTr09,
-! author={C. Morency and Y. Luo and J. Tromp},
-! year=2009,
-! title={Finite-frequency kernels for wave propagation in porous media based upon adjoint methods},
-! journal=gji,
-! doi={10.1111/j.1365-246X.2009.04332}}
+! @ARTICLE{MoLuTr09,
+! author={C. Morency and Y. Luo and J. Tromp},
+! title={Finite-frequency kernels for wave propagation in porous media based upon adjoint methods},
+! year=2009,
+! journal={Geophys. J. Int.},
+! doi={10.1111/j.1365-246X.2009.04332}}
!
+! version 6.0, Christina Morency, August 2009:
+! - support for poroelastic media (for regular meshes only for now).
!
-!
! version 5.2, Dimitri Komatitsch, Nicolas Le Goff and Roland Martin, February 2008:
! - MPI implementation of the code based on domain decomposition
! with METIS or SCOTCH
@@ -240,13 +244,13 @@
double precision, dimension(:), allocatable :: porosity,tortuosity
double precision, dimension(:,:), allocatable :: density,permeability
-! poroelastic and elastic coefficients
+! poroelastic and elastic coefficients
double precision, dimension(:,:,:), allocatable :: poroelastcoef
! for acoustic medium
real(kind=CUSTOM_REAL), dimension(:), allocatable :: potential_dot_dot_acoustic,potential_dot_acoustic,potential_acoustic
-! inverse mass matrices
+! inverse mass matrices
real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmass_inverse_elastic,rmass_inverse_acoustic
real(kind=CUSTOM_REAL), dimension(:), allocatable :: rmass_s_inverse_poroelastic,rmass_w_inverse_poroelastic
@@ -349,9 +353,9 @@
logical :: any_poroelastic,any_poroelastic_glob
integer, dimension(:), allocatable :: fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge, &
fluid_poro_poroelastic_ispec,fluid_poro_poroelastic_iedge
- integer :: fluid_poro_acoustic_ispec_read, fluid_poro_poroelastic_ispec_read
+ integer :: fluid_poro_acoustic_ispec_read, fluid_poro_poro_ispec_read
integer :: num_fluid_poro_edges,num_fluid_poro_edges_alloc,iedge_poroelastic
- logical :: coupled_acoustic_poroelastic
+ logical :: coupled_acoustic_poro
double precision :: mul_G,lambdal_G,lambdalplus2mul_G
double precision :: dux_dxi,dux_dgamma,duz_dxi,duz_dgamma
double precision :: dwx_dxi,dwx_dgamma,dwz_dxi,dwz_dgamma
@@ -365,9 +369,9 @@
! for solid/porous medium coupling and edge detection
integer, dimension(:), allocatable :: solid_poro_elastic_ispec,solid_poro_elastic_iedge, &
solid_poro_poroelastic_ispec,solid_poro_poroelastic_iedge
- integer :: solid_poro_elastic_ispec_read, solid_poro_poroelastic_ispec_read
+ integer :: solid_poro_elastic_ispec_read, solid_poro_poro_ispec_read
integer :: num_solid_poro_edges,num_solid_poro_edges_alloc,ispec_poroelastic,ii2,jj2
- logical :: coupled_elastic_poroelastic
+ logical :: coupled_elastic_poro
double precision, dimension(:,:), allocatable :: displ,veloc
double precision :: sigma_xx,sigma_xz,sigma_zz,sigmap
double precision :: b_sigma_xx,b_sigma_xz,b_sigma_zz,b_sigmap
@@ -728,7 +732,7 @@
if(isolver == 1 .and. save_forward .and. (TURN_ANISOTROPY_ON .or. TURN_ATTENUATION_ON .or. TURN_VISCATTENUATION_ON)) then
print*, '*************** WARNING ***************'
print*, 'Anisotropy & Attenuation & Viscous damping are not presently implemented for adjoint calculations'
- stop
+ stop
endif
NTSTEP_BETWEEN_OUTPUT_SEISMO = min(NSTEP,NTSTEP_BETWEEN_OUTPUT_INFO)
@@ -1239,13 +1243,13 @@
allocate(fluid_poro_poroelastic_iedge(num_fluid_poro_edges))
endif
do inum = 1, num_fluid_poro_edges
- read(IIN,*) fluid_poro_acoustic_ispec_read,fluid_poro_poroelastic_ispec_read
+ read(IIN,*) fluid_poro_acoustic_ispec_read,fluid_poro_poro_ispec_read
if(ipass == 1) then
fluid_poro_acoustic_ispec(inum) = fluid_poro_acoustic_ispec_read
- fluid_poro_poroelastic_ispec(inum) = fluid_poro_poroelastic_ispec_read
+ fluid_poro_poroelastic_ispec(inum) = fluid_poro_poro_ispec_read
else if(ipass == 2) then
fluid_poro_acoustic_ispec(inum) = perm(antecedent_list(fluid_poro_acoustic_ispec_read))
- fluid_poro_poroelastic_ispec(inum) = perm(antecedent_list(fluid_poro_poroelastic_ispec_read))
+ fluid_poro_poroelastic_ispec(inum) = perm(antecedent_list(fluid_poro_poro_ispec_read))
else
call exit_MPI('error: maximum number of passes is 2')
endif
@@ -1271,13 +1275,13 @@
allocate(solid_poro_poroelastic_iedge(num_solid_poro_edges))
endif
do inum = 1, num_solid_poro_edges
- read(IIN,*) solid_poro_poroelastic_ispec_read,solid_poro_elastic_ispec_read
+ read(IIN,*) solid_poro_poro_ispec_read,solid_poro_elastic_ispec_read
if(ipass == 1) then
solid_poro_elastic_ispec(inum) = solid_poro_elastic_ispec_read
- solid_poro_poroelastic_ispec(inum) = solid_poro_poroelastic_ispec_read
+ solid_poro_poroelastic_ispec(inum) = solid_poro_poro_ispec_read
else if(ipass == 2) then
solid_poro_elastic_ispec(inum) = perm(antecedent_list(solid_poro_elastic_ispec_read))
- solid_poro_poroelastic_ispec(inum) = perm(antecedent_list(solid_poro_poroelastic_ispec_read))
+ solid_poro_poroelastic_ispec(inum) = perm(antecedent_list(solid_poro_poro_ispec_read))
else
call exit_MPI('error: maximum number of passes is 2')
endif
@@ -1794,7 +1798,7 @@
nodes_tangential_curve(2,n_tangential_detection_curve(2)), &
nodes_tangential_curve(2,n_tangential_detection_curve(3)), &
nodes_tangential_curve(2,n_tangential_detection_curve(4)) )
-
+
source_courbe_eros(i_source) = n1_tangential_detection_curve
if ( myrank == 0 .and. is_proc_source(i_source) == 1 .and. nb_proc_source(i_source) == 1 ) then
source_courbe_eros(i_source) = n1_tangential_detection_curve
@@ -3302,7 +3306,7 @@
cploc = sqrt(lambdaplus2mu/denst)
csloc = sqrt(mu/denst)
-
+
! P wave case
if (source_type(1) == 1) then
@@ -3601,7 +3605,7 @@
! output absolute time in third column, in case user wants to check it as well
if (myrank == 0 .and. i_source==1 ) write(55,*) sngl(time),real(source_time_function(1,it),4),sngl(time-t0(1))
enddo
- enddo ! i_source=1,NSOURCE
+ enddo ! i_source=1,NSOURCE
if (myrank == 0) close(55)
@@ -3621,7 +3625,7 @@
! determine if coupled fluid-solid simulation
coupled_acoustic_elastic = any_acoustic .and. any_elastic
- coupled_acoustic_poroelastic = any_acoustic .and. any_poroelastic
+ coupled_acoustic_poro = any_acoustic .and. any_poroelastic
! fluid/solid (elastic) edge detection
! the two elements (fluid and solid) forming an edge are already known (computed in meshfem2D),
@@ -3758,7 +3762,7 @@
! fluid/solid (poroelastic) edge detection
! the two elements (fluid and solid) forming an edge are already known (computed in meshfem2D),
! the common nodes forming the edge are computed here
- if(coupled_acoustic_poroelastic) then
+ if(coupled_acoustic_poro) then
if ( myrank == 0 ) then
print *
print *,'Mixed acoustic/poroelastic simulation'
@@ -3937,7 +3941,7 @@
endif
! exclude common points between acoustic absorbing edges and acoustic/poroelastic matching interfaces
- if(coupled_acoustic_poroelastic .and. anyabs) then
+ if(coupled_acoustic_poro .and. anyabs) then
if (myrank == 0) &
print *,'excluding common points between acoustic absorbing edges and acoustic/poroelastic matching interfaces, if any'
@@ -3987,12 +3991,12 @@
! determine if coupled elastic-poroelastic simulation
- coupled_elastic_poroelastic = any_elastic .and. any_poroelastic
+ coupled_elastic_poro = any_elastic .and. any_poroelastic
! solid/porous edge detection
! the two elements forming an edge are already known (computed in meshfem2D),
! the common nodes forming the edge are computed here
- if(coupled_elastic_poroelastic) then
+ if(coupled_elastic_poro) then
if(TURN_ATTENUATION_ON .or. TURN_VISCATTENUATION_ON) &
stop 'Attenuation not supported for mixed elastic/poroelastic simulations'
@@ -4132,8 +4136,8 @@
jbegin_left_poro(ispecabs) = 1
jbegin_right_poro(ispecabs) = 1
- jend_left_poro(ispecabs) = NGLLZ
- jend_right_poro(ispecabs) = NGLLZ
+ jend_left_poro(ispecabs) = NGLLZ
+ jend_right_poro(ispecabs) = NGLLZ
ibegin_bottom_poro(ispecabs) = 1
ibegin_top_poro(ispecabs) = 1
@@ -4144,7 +4148,7 @@
endif
! exclude common points between poroelastic absorbing edges and elastic/poroelastic matching interfaces
- if(coupled_elastic_poroelastic .and. anyabs) then
+ if(coupled_elastic_poro .and. anyabs) then
if (myrank == 0) &
print *,'excluding common points between poroelastic absorbing edges and elastic/poroelastic matching interfaces, if any'
@@ -4194,7 +4198,7 @@
! detecting poroelastic, elastic and acoustic global points valence
- if(coupled_acoustic_elastic .or. coupled_acoustic_poroelastic .or. coupled_elastic_poroelastic)then
+ if(coupled_acoustic_elastic .or. coupled_acoustic_poro .or. coupled_elastic_poro)then
allocate(valence_elastic(npoin))
allocate(valence_poroelastic(npoin))
@@ -4234,7 +4238,7 @@
allocate(valence_poroelastic(1))
allocate(valence_acoustic(1))
- endif !(coupled_acoustic_elastic .or. coupled_acoustic_poroelastic .or. coupled_elastic_poroelastic)
+ endif !(coupled_acoustic_elastic .or. coupled_acoustic_poro .or. coupled_elastic_poro)
#ifdef USE_MPI
if(OUTPUT_ENERGY) stop 'energy calculation only currently serial only, should add an MPI_REDUCE in parallel'
@@ -4576,7 +4580,7 @@
displs_poroelastic = displs_poroelastic + deltat*velocs_poroelastic + deltatsquareover2*accels_poroelastic
velocs_poroelastic = velocs_poroelastic + deltatover2*accels_poroelastic
accels_poroelastic = ZERO
-!for the fluid
+!for the fluid
displw_poroelastic = displw_poroelastic + deltat*velocw_poroelastic + deltatsquareover2*accelw_poroelastic
velocw_poroelastic = velocw_poroelastic + deltatover2*accelw_poroelastic
accelw_poroelastic = ZERO
@@ -4586,7 +4590,7 @@
b_displs_poroelastic = b_displs_poroelastic + b_deltat*b_velocs_poroelastic + b_deltatsquareover2*b_accels_poroelastic
b_velocs_poroelastic = b_velocs_poroelastic + b_deltatover2*b_accels_poroelastic
b_accels_poroelastic = ZERO
-!for the fluid
+!for the fluid
b_displw_poroelastic = b_displw_poroelastic + b_deltat*b_velocw_poroelastic + b_deltatsquareover2*b_accelw_poroelastic
b_velocw_poroelastic = b_velocw_poroelastic + b_deltatover2*b_accelw_poroelastic
b_accelw_poroelastic = ZERO
@@ -4843,7 +4847,7 @@
! ************* add coupling with the poroelastic side
! *********************************************************
- if(coupled_acoustic_poroelastic) then
+ if(coupled_acoustic_poro) then
! loop on all the coupling edges
do inum = 1,num_fluid_poro_edges
@@ -5049,7 +5053,7 @@
! ****************************************************************************************
! If coupling elastic/poroelastic domain, average some arrays at the interface first
! ****************************************************************************************
- if(coupled_elastic_poroelastic) then
+ if(coupled_elastic_poro) then
! loop on all the coupling edges
do inum = 1,num_solid_poro_edges
@@ -5300,7 +5304,7 @@
! ****************************************************************************
! ************* add coupling with the poroelastic side
! ****************************************************************************
- if(coupled_elastic_poroelastic) then
+ if(coupled_elastic_poro) then
! loop on all the coupling edges
do inum = 1,num_solid_poro_edges
@@ -5503,7 +5507,7 @@
b_duz_dxl = b_duz_dxi*xixl + b_duz_dgamma*gammaxl
b_duz_dzl = b_duz_dxi*xizl + b_duz_dgamma*gammazl
endif
-! compute stress tensor
+! compute stress tensor
! full anisotropy
if(TURN_ANISOTROPY_ON) then
! implement anisotropy in 2D
@@ -5794,7 +5798,7 @@
! ************* add coupling with the acoustic side
! *********************************************************
- if(coupled_acoustic_poroelastic) then
+ if(coupled_acoustic_poro) then
! loop on all the coupling edges
do inum = 1,num_fluid_poro_edges
@@ -5889,7 +5893,7 @@
accelw_poroelastic(2,iglob) = accelw_poroelastic(2,iglob) + weight*nz*pressure*(1._CUSTOM_REAL-rhol_f/rhol_bar)*&
valence_poroelastic(iglob)
endif
-
+
if(isolver == 2) then
if(valence_acoustic(iglob) == valence_poroelastic(iglob)) then
! contribution to the solid phase
@@ -5918,13 +5922,13 @@
enddo ! do inum = 1,num_fluid_poro_edges
- endif ! if(coupled_acoustic_poroelastic)
+ endif ! if(coupled_acoustic_poro)
! ****************************************************************************
! ************* add coupling with the elastic side
! ****************************************************************************
- if(coupled_elastic_poroelastic) then
+ if(coupled_elastic_poro) then
! loop on all the coupling edges
do inum = 1,num_solid_poro_edges
@@ -6238,7 +6242,7 @@
enddo
- endif ! if(coupled_elastic_poroelastic)
+ endif ! if(coupled_elastic_poro)
! assembling accels_proelastic & accelw_poroelastic for poroelastic elements
@@ -6872,7 +6876,7 @@
simulation_title,npoin,npgeo,vpImin,vpImax,nrec,NSOURCE, &
colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
- nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+ nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges,&
fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -6908,7 +6912,7 @@
simulation_title,npoin,npgeo,vpImin,vpImax,nrec,NSOURCE, &
colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
- nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+ nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges,&
fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -6944,7 +6948,7 @@
simulation_title,npoin,npgeo,vpImin,vpImax,nrec,NSOURCE, &
colors,numbers,subsamp,imagetype,interpol,meshvect,modelvect, &
boundvect,assign_external_model,cutsnaps,sizemax_arrows,nelemabs,numat,pointsdisp, &
- nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poroelastic,coupled_elastic_poroelastic, &
+ nspec,ngnod,coupled_acoustic_elastic,coupled_acoustic_poro,coupled_elastic_poro, &
any_acoustic,any_poroelastic,plot_lowerleft_corner_only, &
fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge,num_fluid_solid_edges, &
fluid_poro_acoustic_ispec,fluid_poro_acoustic_iedge,num_fluid_poro_edges, &
@@ -7134,7 +7138,7 @@
endif
!
-!--- save last frame
+!--- save last frame
!
if(save_forward .and. isolver ==1 .and. any_elastic) then
if ( myrank == 0 ) then
Modified: seismo/2D/SPECFEM2D/trunk/spline_routines.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/spline_routines.f90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/spline_routines.f90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
Modified: seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt
===================================================================
--- seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/todo_list_please_dont_remove.txt 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,9 +1,10 @@
-The main developers of SPECFEM2D are:
+The main developers of SPECFEM2D version 6.0 are:
Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
Roland Martin, roland DOT martin aT univ-pau DOT fr
+ Christina Morency, cmorency aT princeton DOT edu
For more details on how to use this code, users can also refer to the manuals
of the 3D versions (SPECFEM3D_SESAME and SPECFEM3D_GLOBE), which contain far
@@ -23,18 +24,23 @@
---------------------------
+IMPORTANT KNOWN PROBLEM: the poroelastic solver only works for regular (non
+distorted) meshes, i.e., meshes composed of rectangles aligned with the X and
+Y axes. If the mesh is distorted the solver fails. You can contact
+Christina Morency <cmorency aT princeton DOT edu> for more details.
+
+Dimitri Komatitsch, August 22, 2009.
+
+---------------------------
+
- improving compiling with SCOTCH (issue with header file scotchf.h which is Fortran77 legal). Having our own scotchf.h file (without the comments) is not wise.
- comparing the different partitioning methods for METIS and SCOTCH, and finding a good default for SCOTCH.
- partitioning using weights for load-balancing.
-- choosing a way to use assign_external_model?
-
- checking for points with different normals for absorbing conditions, when the absorbing edges are not in the same elements (similar to what is done for the corners).
-- scripts to translate GID/CUBIT meshes into files for xmeshfem2D.
-
- user manual for unstructured meshes.
- Hi Jeroen, Perfect. I think talking to Jean-Paul Ampuero would be useful
Modified: seismo/2D/SPECFEM2D/trunk/write_seismograms.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/write_seismograms.F90 2009-08-22 02:07:04 UTC (rev 15576)
+++ seismo/2D/SPECFEM2D/trunk/write_seismograms.F90 2009-08-22 15:03:50 UTC (rev 15577)
@@ -1,16 +1,18 @@
!========================================================================
!
-! S P E C F E M 2 D Version 5.2
+! S P E C F E M 2 D Version 6.0
! ------------------------------
!
-! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France.
+! Copyright Universite de Pau et des Pays de l'Adour, CNRS and INRIA, France,
+! and Princeton University, USA.
! Contributors: Dimitri Komatitsch, dimitri DOT komatitsch aT univ-pau DOT fr
! Nicolas Le Goff, nicolas DOT legoff aT univ-pau DOT fr
! Roland Martin, roland DOT martin aT univ-pau DOT fr
+! Christina Morency, cmorency aT princeton DOT edu
!
! This software is a computer program whose purpose is to solve
-! the two-dimensional viscoelastic anisotropic wave equation
+! the two-dimensional viscoelastic anisotropic or poroelastic wave equation
! using a spectral-element method (SEM).
!
! This software is governed by the CeCILL license under French law and
More information about the CIG-COMMITS
mailing list