[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