[cig-commits] r12492 - seismo/2D/SPECFEM2D/trunk

nlegoff at geodynamics.org nlegoff at geodynamics.org
Tue Jul 29 17:00:35 PDT 2008


Author: nlegoff
Date: 2008-07-29 17:00:34 -0700 (Tue, 29 Jul 2008)
New Revision: 12492

Modified:
   seismo/2D/SPECFEM2D/trunk/specfem2D.F90
Log:
fixed a bug concerning absorbing condition and Cuthill-McKee : it is now okay to use absorbing conditions along
 with a Cuthill-McKee reordering of the elements.

Modified: seismo/2D/SPECFEM2D/trunk/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/specfem2D.F90	2008-07-29 23:41:00 UTC (rev 12491)
+++ seismo/2D/SPECFEM2D/trunk/specfem2D.F90	2008-07-30 00:00:34 UTC (rev 12492)
@@ -268,6 +268,7 @@
   integer, dimension(NGLLX,NEDGES) :: ivalue,jvalue,ivalue_inverse,jvalue_inverse
   integer, dimension(:), allocatable :: fluid_solid_acoustic_ispec,fluid_solid_acoustic_iedge, &
                                         fluid_solid_elastic_ispec,fluid_solid_elastic_iedge
+  integer :: fluid_solid_acoustic_ispec_read, fluid_solid_elastic_ispec_read
   integer :: num_fluid_solid_edges,ispec_acoustic,ispec_elastic, &
              iedge_acoustic,iedge_elastic,ipoin1D,iglob2
   logical :: any_acoustic,any_acoustic_glob,any_elastic,any_elastic_glob,coupled_acoustic_elastic
@@ -831,7 +832,16 @@
      allocate(fluid_solid_elastic_iedge(num_fluid_solid_edges))
 endif
      do inum = 1, num_fluid_solid_edges
-        read(IIN,*) fluid_solid_acoustic_ispec(inum), fluid_solid_elastic_ispec(inum)
+        read(IIN,*) fluid_solid_acoustic_ispec_read, fluid_solid_elastic_ispec_read
+        if(ipass == 1) then
+          fluid_solid_acoustic_ispec(inum) = fluid_solid_acoustic_ispec_read
+          fluid_solid_elastic_ispec(inum) = fluid_solid_elastic_ispec_read
+        else if(ipass == 2) then
+          fluid_solid_acoustic_ispec(inum) = perm(antecedent_list(fluid_solid_acoustic_ispec_read))
+          fluid_solid_elastic_ispec(inum) = perm(antecedent_list(fluid_solid_elastic_ispec_read))
+        else
+          call exit_MPI('error: maximum number of passes is 2')
+        endif
      enddo
   else
 if(ipass == 1) then



More information about the cig-commits mailing list