[cig-commits] [commit] devel: fixed an interface problem detected by David Luet (45885c7)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Oct 31 19:02:40 PDT 2014


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

On branch  : devel
Link       : https://github.com/geodynamics/specfem2d/compare/05640caca9284093b3532e8d34ca1b79fe03a70d...45885c74aa097e0e213ca64a34ea439404ecc385

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

commit 45885c74aa097e0e213ca64a34ea439404ecc385
Author: Dimitri Komatitsch <komatitsch at lma.cnrs-mrs.fr>
Date:   Sat Nov 1 02:34:39 2014 +0100

    fixed an interface problem detected by David Luet


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

45885c74aa097e0e213ca64a34ea439404ecc385
 src/meshfem2D/meshfem2D.F90      |  0
 src/specfem2D/compute_energy.f90 | 63 ++++++++++++++++++++++------------------
 src/specfem2D/specfem2D.F90      |  4 ++-
 3 files changed, 38 insertions(+), 29 deletions(-)

diff --git a/src/specfem2D/compute_energy.f90 b/src/specfem2D/compute_energy.f90
index 8ff4410..e727e8f 100644
--- a/src/specfem2D/compute_energy.f90
+++ b/src/specfem2D/compute_energy.f90
@@ -42,18 +42,19 @@
 !========================================================================
 
   subroutine compute_energy(displ_elastic,veloc_elastic, &
-                            displs_poroelastic,velocs_poroelastic, &
-                            displw_poroelastic,velocw_poroelastic, &
-                            xix,xiz,gammax,gammaz,jacobian,ibool, &
-                            elastic,poroelastic,hprime_xx,hprime_zz, &
-                            AXISYM,nglob,coord,is_on_the_axis,hprimeBar_xx, &
-                            nspec,nglob_acoustic,nglob_elastic,nglob_poroelastic, &
-                            assign_external_model,kmato,poroelastcoef,density,porosity,tortuosity, &
-                            vpext,vsext,rhoext,c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext, &
-                            anisotropic,anisotropy,wxgll,wzgll,numat, &
-                            pressure_element,vector_field_element,e1,e11, &
-                            potential_dot_acoustic,potential_dot_dot_acoustic, &
-                            ATTENUATION_VISCOELASTIC_SOLID,Mu_nu1,Mu_nu2,N_SLS,p_sv,kinetic_energy,potential_energy)
+                        displs_poroelastic,velocs_poroelastic, &
+                        displw_poroelastic,velocw_poroelastic, &
+                        xix,xiz,gammax,gammaz,jacobian,ibool,elastic,poroelastic,hprime_xx,hprime_zz, &
+                        AXISYM,nglob,coord,is_on_the_axis,hprimeBar_xx, &
+                        nspec,nglob_acoustic,nglob_elastic,nglob_poroelastic, &
+                        assign_external_model,kmato,poroelastcoef,density,porosity,tortuosity, &
+                        vpext,vsext,rhoext,c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext, &
+                        anisotropic,anisotropy,wxgll,wzgll,numat, &
+                        pressure_element,vector_field_element,e1,e11, &
+                        potential_dot_acoustic,potential_dot_dot_acoustic, &
+                        ATTENUATION_VISCOELASTIC_SOLID,Mu_nu1,Mu_nu2,N_SLS,p_sv,kinetic_energy,potential_energy, &
+                        potential_dot_gravitoacoustic,potential_dot_dot_gravitoacoustic,acoustic,gravitoacoustic, &
+                        gravityext,potential_dot_gravito,nglob_gravitoacoustic)
 
 ! compute kinetic and potential energy in the solid (acoustic elements are excluded)
 
@@ -77,6 +78,11 @@
   real(kind=CUSTOM_REAL), dimension(nglob_acoustic) :: &
     potential_dot_acoustic,potential_dot_dot_acoustic
 
+  integer :: nglob_gravitoacoustic
+  real(kind=CUSTOM_REAL), dimension(nglob_gravitoacoustic) :: potential_dot_gravitoacoustic,potential_dot_dot_gravitoacoustic, &
+                                                   potential_dot_gravito
+  logical, dimension(nspec) :: acoustic,gravitoacoustic
+
   logical :: ATTENUATION_VISCOELASTIC_SOLID,p_sv
 
   integer, dimension(NGLLX,NGLLZ,nspec) :: ibool
@@ -90,7 +96,7 @@
   double precision, dimension(numat) :: porosity,tortuosity
   double precision, dimension(6,numat) :: anisotropy
   double precision, dimension(4,3,numat) :: poroelastcoef
-  double precision, dimension(NGLLX,NGLLZ,nspec) :: vpext,vsext,rhoext
+  double precision, dimension(NGLLX,NGLLZ,nspec) :: vpext,vsext,rhoext,gravityext
   double precision, dimension(NGLLX,NGLLZ,nspec) ::  c11ext,c15ext,c13ext, &
     c33ext,c35ext,c55ext,c12ext,c23ext,c25ext
 
@@ -347,23 +353,24 @@
       ! and pressure is: p = - Chi_dot_dot  (Chi_dot_dot being the time second derivative of Chi).
 
       ! compute pressure in this element
-      call compute_pressure_one_element(pressure_element,potential_dot_dot_acoustic,displ_elastic, &
-                  displs_poroelastic,displw_poroelastic,elastic,poroelastic, &
-                  xix,xiz,gammax,gammaz,ibool,hprime_xx,hprime_zz,nspec, &
-                  AXISYM,nglob,coord,jacobian,is_on_the_axis,hprimeBar_xx, &
-                  nglob_acoustic,nglob_elastic,nglob_poroelastic,assign_external_model, &
-                  numat,kmato,density,porosity,tortuosity,poroelastcoef,vpext,vsext,rhoext, &
-                  c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext,anisotropic,anisotropy,ispec,e1,e11, &
-                  ATTENUATION_VISCOELASTIC_SOLID,Mu_nu1,Mu_nu2,N_SLS)
+      call compute_pressure_one_element(pressure_element,potential_dot_dot_acoustic, &
+              potential_dot_dot_gravitoacoustic,displ_elastic,&
+              displs_poroelastic,displw_poroelastic,acoustic,gravitoacoustic,elastic,poroelastic,&
+              xix,xiz,gammax,gammaz,ibool,hprime_xx,hprime_zz,nspec, &
+              AXISYM,nglob,coord,jacobian,is_on_the_axis,hprimeBar_xx, &
+              nglob_acoustic,nglob_gravitoacoustic,nglob_elastic,nglob_poroelastic,assign_external_model, &
+              numat,kmato,density,porosity,tortuosity,poroelastcoef,vpext,vsext,rhoext, &
+              c11ext,c13ext,c15ext,c33ext,c35ext,c55ext,c12ext,c23ext,c25ext,anisotropic,anisotropy,ispec,e1,e11, &
+              ATTENUATION_VISCOELASTIC_SOLID,Mu_nu1,Mu_nu2,N_SLS)
 
       ! compute velocity vector field in this element
-      call compute_vector_one_element(vector_field_element,potential_dot_acoustic, &
-                  veloc_elastic,velocs_poroelastic, &
-                  elastic,poroelastic,xix,xiz,gammax,gammaz, &
-                  ibool,hprime_xx,hprime_zz, &
-                  AXISYM,is_on_the_axis,hprimeBar_xx, &
-                  nspec,nglob_acoustic,nglob_elastic,nglob_poroelastic, &
-                  ispec,numat,kmato,density,rhoext,assign_external_model)
+      call compute_vector_one_element(vector_field_element,potential_dot_acoustic,potential_dot_gravitoacoustic, &
+                              potential_dot_gravito,veloc_elastic,velocs_poroelastic, &
+                              acoustic,gravitoacoustic,elastic,poroelastic,xix,xiz,gammax,gammaz, &
+                              ibool,hprime_xx,hprime_zz, &
+                              AXISYM,is_on_the_axis,hprimeBar_xx, &
+                              nspec,nglob_acoustic,nglob_gravitoacoustic,nglob_elastic,nglob_poroelastic, &
+                              ispec,numat,kmato,density,rhoext,gravityext,assign_external_model)
 
       ! get density of current spectral element
       lambdal_unrelaxed_elastic = poroelastcoef(1,1,kmato(ispec))
diff --git a/src/specfem2D/specfem2D.F90 b/src/specfem2D/specfem2D.F90
index d80f052..0f39cb5 100644
--- a/src/specfem2D/specfem2D.F90
+++ b/src/specfem2D/specfem2D.F90
@@ -8515,7 +8515,9 @@ if(coupled_elastic_poro) then
                         anisotropic,anisotropy,wxgll,wzgll,numat, &
                         pressure_element,vector_field_element,e1,e11, &
                         potential_dot_acoustic,potential_dot_dot_acoustic, &
-                        ATTENUATION_VISCOELASTIC_SOLID,Mu_nu1,Mu_nu2,N_SLS,p_sv,kinetic_energy,potential_energy)
+                        ATTENUATION_VISCOELASTIC_SOLID,Mu_nu1,Mu_nu2,N_SLS,p_sv,kinetic_energy,potential_energy, &
+                        potential_dot_gravitoacoustic,potential_dot_dot_gravitoacoustic,acoustic,gravitoacoustic, &
+                        gravityext,potential_dot_gravito,nglob_gravitoacoustic)
 
 #ifdef USE_MPI
       call MPI_REDUCE(kinetic_energy, kinetic_energy_total, 1, CUSTOM_MPI_TYPE, MPI_SUM, 0, MPI_COMM_WORLD, ier)



More information about the CIG-COMMITS mailing list