[cig-commits] r19624 - in seismo/3D/FAULT_SOURCE: . branches/new_fault_db/decompose_mesh_SCOTCH
ampuero at geodynamics.org
ampuero at geodynamics.org
Tue Feb 14 09:15:06 PST 2012
Author: ampuero
Date: 2012-02-14 09:15:05 -0800 (Tue, 14 Feb 2012)
New Revision: 19624
Modified:
seismo/3D/FAULT_SOURCE/TO_DO
seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/Makefile
seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90
Log:
temporarily commented out parallel fault
Modified: seismo/3D/FAULT_SOURCE/TO_DO
===================================================================
--- seismo/3D/FAULT_SOURCE/TO_DO 2012-02-14 15:47:28 UTC (rev 19623)
+++ seismo/3D/FAULT_SOURCE/TO_DO 2012-02-14 17:15:05 UTC (rev 19624)
@@ -8,10 +8,12 @@
. repeat the loop above to handle triple junctions
- in fault_solver.f90:
. assemble B and the fault normal vectors during initialization
- . assemble internal forces before and after fault solver
+ . make sure internal forces are assembled across processors before fault solver
+ No need to re-assemble after fault solver because B is already assembled
. parallelize outputs
+ close fault edges in CUBIT
++ simplify meshing: maybe split nodes in Scotch/SESAME instead of in CUBIT
+ mesh coarsening in CUBIT
+ add snapshot outputs to kinematic solver
@@ -20,3 +22,7 @@
+ eliminate fault edge nodes (sticky, same ibulk) ?
++ better documentation
++ write methodological paper
++ merge with main SESAME branch
++ public release
Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/Makefile
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/Makefile 2012-02-14 15:47:28 UTC (rev 19623)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/Makefile 2012-02-14 17:15:05 UTC (rev 19624)
@@ -6,9 +6,8 @@
F90 = gfortran # use -Wall
## modify to match your library paths
+# SCOTCH library path
SCOTCH_LIBS = -L/cluster/home/erdw/gpercy/scotch/scotch_5.1/lib/ -lscotch -lscotcherr
-#(SCOTCH library address .Change it in case
-#your SCOTH is install in another address)
#############################################################
Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90 2012-02-14 15:47:28 UTC (rev 19623)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/decompose_mesh_SCOTCH.f90 2012-02-14 17:15:05 UTC (rev 19624)
@@ -392,7 +392,7 @@
if (allocated(faults)) then
call save_nodes_coords(nodes_coords,nnodes)
call close_faults(nodes_coords,elmnts,nspec,nnodes,esize)
- call reorder_fault_elements(nodes_coords,nnodes)
+!JPA parallel fault call reorder_fault_elements(nodes_coords,nnodes)
end if
end subroutine read_mesh_files
Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90 2012-02-14 15:47:28 UTC (rev 19623)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/decompose_mesh_SCOTCH/fault_scotch.f90 2012-02-14 17:15:05 UTC (rev 19624)
@@ -19,7 +19,8 @@
double precision, parameter :: FAULT_GAP_TOLERANCE = 1.0d0
public :: read_fault_files, fault_repartition, close_faults, write_fault_database, &
- save_nodes_coords, nodes_coords_open, faults, reorder_fault_elements
+ save_nodes_coords, nodes_coords_open, faults
+!JPA parallel fault , reorder_fault_elements
CONTAINS
!==========================================================================================
@@ -204,41 +205,42 @@
end subroutine close_fault_single
!===================================================================================================
- subroutine reorder_fault_elements(nodes_coords,nnodes)
-!JPA ...
- do iflt=1,size(faults)
- call reorder_fault_elements_single(faults(iflt),&
- elmnts,nodes_coords,nnodes,esize,nelmnts)
- enddo
+!JPA parallel fault
+! subroutine reorder_fault_elements(nodes_coords,nnodes)
+!!JPA ...
+! do iflt=1,size(faults)
+! call reorder_fault_elements_single(faults(iflt),&
+! elmnts,nodes_coords,nnodes,esize,nelmnts)
+! enddo
+!
+! end subroutine reorder_fault_elements
+!
+!! ---------------------------------------------------------------------------------------------------
+! subroutine reorder_fault_elements_single(f)
+!
+! ! compute element-face centers for fault side 1
+! do i=1,f%nspec
+! e = f%ispec1(i)
+! do k=1,4
+! iglob = f%inodes1(k,e)
+! xyz(:,k) = nodes_coords(:,iglob)
+! enddo
+! xyz_c(:,k) = ! ... average of xyz
+! enddo
+! ! reorder
+! call lex_order(xyz_c,new_index_list)
+! f%ispec1 = f%ispec1(new_index_list)
+!
+! ! repeat for fault side 2
+! ! ....
+!
+! end subroutine reorder_fault_elements_single
+!
+!! ---------------------------------------------------------------------------------------------------
+! subroutine lex_order()
+!! JPA lexicographic ordering inspired from src/get_global.f90
+! end subroutine lex_order
- end subroutine reorder_fault_elements
-
-! ---------------------------------------------------------------------------------------------------
- subroutine reorder_fault_elements_single(f)
-
- ! compute element-face centers for fault side 1
- do i=1,f%nspec
- e = f%ispec1(i)
- do k=1,4
- iglob = f%inodes1(k,e)
- xyz(:,k) = nodes_coords(:,iglob)
- enddo
- xyz_c(:,k) = ! ... average of xyz
- enddo
- ! reorder
- call lex_order(xyz_c,new_index_list)
- f%ispec1 = f%ispec1(new_index_list)
-
- ! repeat for fault side 2
- ! ....
-
- end subroutine reorder_fault_elements_single
-
-! ---------------------------------------------------------------------------------------------------
- subroutine lex_order()
-! JPA lexicographic ordering inspired from src/get_global.f90
- end subroutine lex_order
-
!===================================================================================================
!--------------------------------------------------
! Repartitioning : two coupled faultside1/side2 elements are transfered to the same partition
@@ -334,31 +336,31 @@
end subroutine fault_repartition
! ---------------------------------------------------------------------------------------------------
-! JPA need to call this one now
- subroutine fault_repartition_parallel (nelmnts, nnodes, elmnts, nsize, &
- nproc, part, esize)
+! JPA parallel fault
+! subroutine fault_repartition_parallel (nelmnts, nnodes, elmnts, nsize, &
+! nproc, part, esize)
+!
+!!JPA loop over all faults
+!!JPA loop over all fault element pairs
+!!JPA assign the pair of elements to the processor with lowest rank among them
+!
+! do i=1,2 !JPA repeated to handle triple junctions
+!
+! do iflt=1,size(faults)
+! do e=1,faults(iflt)%nspec
+! e1 = faults(iflt)%ispec1(e)
+! e2 = faults(iflt)%ispec2(e)
+! proc1 = part(e1)
+! proc2 = part(e2)
+! part(e1) = min(proc1,proc2)
+! part(e2) = part(e1)
+! end do
+! end do
+!
+! end do
+!
+! end subroutine fault_repartition_parallel
-!JPA loop over all faults
-!JPA loop over all fault element pairs
-!JPA assign the pair of elements to the processor with lowest rank among them
-
- do i=1,2 !JPA repeated to handle triple junctions
-
- do iflt=1,size(faults)
- do e=1,faults(iflt)%nspec
- e1 = faults(iflt)%ispec1(e)
- e2 = faults(iflt)%ispec2(e)
- proc1 = part(e1)
- proc2 = part(e2)
- part(e1) = min(proc1,proc2)
- part(e2) = part(e1)
- end do
- end do
-
- end do
-
- end subroutine fault_repartition_parallel
-
! ---------------------------------------------------------------------------------------------------
! See subroutine write_boundaries_database in part_decompose_mesh_SCOTCH.f90
!
More information about the CIG-COMMITS
mailing list