[cig-commits] r20985 - seismo/3D/FAULT_SOURCE/branches/new_fault_db/EXAMPLES/tpv15

percygalvez at geodynamics.org percygalvez at geodynamics.org
Sun Nov 4 09:11:42 PST 2012


Author: percygalvez
Date: 2012-11-04 09:11:42 -0800 (Sun, 04 Nov 2012)
New Revision: 20985

Modified:
   seismo/3D/FAULT_SOURCE/branches/new_fault_db/EXAMPLES/tpv15/tpv15.py
Log:
adding tested tpv15.py

Modified: seismo/3D/FAULT_SOURCE/branches/new_fault_db/EXAMPLES/tpv15/tpv15.py
===================================================================
--- seismo/3D/FAULT_SOURCE/branches/new_fault_db/EXAMPLES/tpv15/tpv15.py	2012-11-02 19:12:34 UTC (rev 20984)
+++ seismo/3D/FAULT_SOURCE/branches/new_fault_db/EXAMPLES/tpv15/tpv15.py	2012-11-04 17:11:42 UTC (rev 20985)
@@ -115,12 +115,12 @@
 surface2="create surface curve 3 10 11"
 cubit.cmd(surface2)
 
-cubit.cmd("sweep surface 1  vector 0  0 -1 distance "+str(15*km)) 
-cubit.cmd("sweep surface 2  vector 0  0 -1 distance "+str(15*km)) 
+cubit.cmd("sweep surface 1  vector 0  0 -1 distance "+str(30*km)) 
+cubit.cmd("sweep surface 2  vector 0  0 -1 distance "+str(30*km)) 
 
 
 ######## Chuncks ########################################
-L= 28*km
+L= 42*km
 
 xchunk = []
 ychunk = []
@@ -165,10 +165,10 @@
 cubit.cmd('delete volume 3') 
 
 #######  lateral faces of chuncks  #### 
-cubit.cmd('create surface skin curve 15 87')   
-cubit.cmd('create surface skin curve 29 88')   
-cubit.cmd('create surface skin curve 27 92')   
-cubit.cmd('create surface skin curve 25 90')   
+cubit.cmd('create surface skin curve 15 90')   
+cubit.cmd('create surface skin curve 25 92')   
+cubit.cmd('create surface skin curve 27 93')   
+cubit.cmd('create surface skin curve 29 91')   
 
 ### webcutting 4 chuncks ####
 cubit.cmd("create body loft surface 45 48")
@@ -176,28 +176,25 @@
 cubit.cmd("create body loft surface 47 46")
 cubit.cmd("create body loft surface 46 45")
 
-#### base chunck ### (Not applicable , fault bottom is open)
-#cubit.cmd("create body loft surface 58 70")
-
 #####################################################
 cubit.cmd('delete volume 4')
 
 cubit.cmd('imprint all') 
 cubit.cmd('merge all') 
 
-### meshing inner solids ###
+## meshing inner solids ###
 h_size = 300
 
-### forcing aristas to have 300 m ##
+## forcing aristas to have 300 m ##
 
 cubit.cmd("surface 1 2 size "+str(h_size))
 cubit.cmd("volume 1 2 size "+str(h_size))
 cubit.cmd("surface 1 2 scheme pave")
 cubit.cmd("mesh surface 1 2")
 cubit.cmd("mesh volume 1 2")
- 
+
 bia=1.03
-inter=30
+inter= 40
 
 ## Meshing Aristas #####
 cubit.cmd('curve 95 97 99 101 103 105 107 109 interval '+str(inter))
@@ -206,25 +203,21 @@
 
 ### meshing chuncks #######
 ### CHUNCK 1
-cubit.cmd('volume 12 scheme Sweep  source surface 11 target surface 71 rotate off')
+cubit.cmd('volume 12 scheme Sweep  source surface 8 13 3 target surface 71 rotate off')
 cubit.cmd('volume 12 sweep smooth Auto')
 cubit.cmd('mesh volume 12')
-### CHUNCK 2
-cubit.cmd('volume 9 scheme Sweep  source surface 8 13 3 target surface 53 rotate off')
+#### CHUNCK 2
+cubit.cmd('volume 9 scheme Sweep  source surface 11 target surface 53 rotate off')
 cubit.cmd('volume 9 sweep smooth Auto')
 cubit.cmd('mesh volume 9')
-### CHUNCK 3
-cubit.cmd('volume 10 scheme Sweep  source surface 9 target surface 59 rotate off')
+#### CHUNCK 3
+cubit.cmd('volume 10 scheme Sweep  source surface 10 target surface 59 rotate off')
 cubit.cmd('volume 10 sweep smooth Auto')
 cubit.cmd('mesh volume 10')
-### CHUNCK 4
-cubit.cmd('volume 11 scheme Sweep  source surface 10 target surface 65 rotate off')
+#### CHUNCK 4
+cubit.cmd('volume 11 scheme Sweep  source surface 9 target surface 65 rotate off')
 cubit.cmd('volume 11 sweep smooth Auto')
 cubit.cmd('mesh volume 11')
-### CHUNCK 5
-cubit.cmd('volume 13 scheme Sweep  source surface 1 2 target surface 76 rotate off')
-cubit.cmd('volume 13 sweep smooth Auto')
-cubit.cmd('mesh volume 13')
 
 ########### Fault elements and nodes ###############
 
@@ -235,13 +228,39 @@
 Ad = [5,14]  # A_down
 
 faultA = fault_input(1,Au,Ad)
+quads_Aup,quads_Adp = save_cracks(faultA.name,faultA.surface_u,faultA.surface_d)
+#Unpacking list.
+quads_Au=unpack_list(quads_Aup)
+quads_Ad=unpack_list(quads_Adp)
 
+print 'len(Au):',len(quads_Au)
+print 'len(Ad):',len(quads_Ad)
+
+if not (len(quads_Au)==len(quads_Ad)):
+    print 'Number of elements for each fauld side up and down do not concide'
+    sys.exit('goodbye')
+   
+save_elements_nodes(faultA.name,quads_Au,quads_Ad)
+
 ####### Branch Fault##############################################################################
 Bu = [4]   # B_up
 Bd = [15]  # B_down
 
 faultB = fault_input(2,Bu,Bd)
+quads_Bup,quads_Bdp = save_cracks(faultB.name,faultB.surface_u,faultB.surface_d)
+#Unpacking list.
+quads_Bu=unpack_list(quads_Bup)
+quads_Bd=unpack_list(quads_Bdp)
 
+print 'len(Au):',len(quads_Bu)
+print 'len(Ad):',len(quads_Bd)
+
+if not (len(quads_Bu)==len(quads_Bd)):
+    print 'Number of elements for each fauld side up and down do not concide'
+    sys.exit('goodbye')
+   
+save_elements_nodes(faultB.name,quads_Bu,quads_Bd)
+
 ##  FOR THE BULK (Seismic wave propagation part for SESAME)
 
 ####### This is boundary_definition.py of GEOCUBIT 
@@ -305,14 +324,6 @@
 cubit.cmd('block 6 attribute index 4 2670')   # rho 
 cubit.cmd('block 6 attribute index 5 13')     # Q flag (see constants.h: IATTENUATION_ ... ) 
 
-cubit.cmd('block 7 name "elastic 7" ')        # material region  
-cubit.cmd('block 7 attribute count 5') 
-cubit.cmd('block 7 attribute index 1 1')      # flag for fault side 1 
-cubit.cmd('block 7 attribute index 2 6000')   # vp 
-cubit.cmd('block 7 attribute index 3 3464')    # vs 
-cubit.cmd('block 7 attribute index 4 2670')   # rho 
-cubit.cmd('block 7 attribute index 5 13')     # Q flag (see constants.h: IATTENUATION_ ... ) 
-
 #### Export to SESAME format using cubit2specfem3d.py of GEOCUBIT 
  
 cubit2specfem3d.export2SESAME('MESH')  



More information about the CIG-COMMITS mailing list