[cig-commits] r13026 - seismo/3D/SPECFEM3D/branches/update_temporary
nlegoff at geodynamics.org
nlegoff at geodynamics.org
Tue Oct 14 13:26:26 PDT 2008
Author: nlegoff
Date: 2008-10-14 13:26:26 -0700 (Tue, 14 Oct 2008)
New Revision: 13026
Modified:
seismo/3D/SPECFEM3D/branches/update_temporary/specfem3D.f90
Log:
added detection of inner elements.
Modified: seismo/3D/SPECFEM3D/branches/update_temporary/specfem3D.f90
===================================================================
--- seismo/3D/SPECFEM3D/branches/update_temporary/specfem3D.f90 2008-10-14 18:01:00 UTC (rev 13025)
+++ seismo/3D/SPECFEM3D/branches/update_temporary/specfem3D.f90 2008-10-14 20:26:26 UTC (rev 13026)
@@ -480,6 +480,10 @@
real(kind=CUSTOM_REAL), dimension(:), allocatable :: store_val_uz_all_external_mesh
integer :: ii,jj,kk
+! for communications overlapping
+ logical, dimension(:), allocatable :: ispec_is_inner_ext_mesh
+ logical, dimension(:), allocatable :: iglob_is_inner_ext_mesh
+
! ************** PROGRAM STARTS HERE **************
! sizeprocs returns number of processes started
@@ -699,6 +703,28 @@
allocate(request_recv_scalar_ext_mesh(ninterfaces_ext_mesh))
close(27)
+! locate inner and outer elements
+ allocate(ispec_is_inner_ext_mesh(NSPEC_AB))
+ allocate(iglob_is_inner_ext_mesh(NGLOB_AB))
+ ispec_is_inner_ext_mesh(:) = .true.
+ iglob_is_inner_ext_mesh(:) = .true.
+ do iinterface = 1, ninterfaces_ext_mesh
+ do i = 1, nibool_interfaces_ext_mesh(iinterface)
+ iglob = ibool_interfaces_ext_mesh(i,iinterface)
+ iglob_is_inner_ext_mesh(iglob) = .false.
+ enddo
+ enddo
+ do ispec = 1, NSPEC_AB
+ do k = 1, NGLLZ
+ do j = 1, NGLLY
+ do i = 1, NGLLX
+ iglob = ibool(i,j,k,ispec)
+ ispec_is_inner_ext_mesh(ispec) = iglob_is_inner_ext_mesh(iglob) .and. ispec_is_inner_ext_mesh(ispec)
+ enddo
+ enddo
+ enddo
+ enddo
+
else
! read arrays created by the mesher
More information about the cig-commits
mailing list