[cig-commits] r19958 - short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes

brad at geodynamics.org brad at geodynamics.org
Fri Apr 20 14:39:01 PDT 2012


Author: brad
Date: 2012-04-20 14:39:00 -0700 (Fri, 20 Apr 2012)
New Revision: 19958

Added:
   short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/createbc.jou
Modified:
   short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/geometry.jou
   short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/hex8_refined_20km.jou
   short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/tet4_graded_6.7km.exo.gz
   short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/tet4_graded_6.7km.jou
Log:
More cleanup of journal files (use units and make use of APREPRO).

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/createbc.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/createbc.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/createbc.jou	2012-04-20 21:39:00 UTC (rev 19958)
@@ -0,0 +1,83 @@
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 2 5 6
+block 1 name "elastic"
+block 2 volume 3 4 7 8
+block 2 name "viscoelastic"
+
+# ----------------------------------------------------------------------
+# Create fault nodeset
+# ----------------------------------------------------------------------
+group "fault" add node in fault_surface
+group "fault" add node in fault_surface at A
+group "fault" add node in fault_surface at D
+group "fault" add node in fault_surface at E
+group "fault" add node in fault_surface at B
+group "fault" add node in fault_surface at C
+group "fault" remove node with z_coord < {-4.0*lockingDepth-0.01*km}
+nodeset 10 fault
+nodeset 10 name "fault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 11 14 26 27
+nodeset 11 face_xpos
+nodeset 11 name "face_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 19 20 32 34
+nodeset 12 face_xneg
+nodeset 12 name "face_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 1 4 6 7
+nodeset 13 face_ypos
+nodeset 13 name "face_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 2 3 5 8
+nodeset 14 face_yneg
+nodeset 14 name "face_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 24 29 31 33
+nodeset 15 face_zneg
+nodeset 15 name "face_zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 10 15 17 22
+nodeset 17 face_zpos
+nodeset 17 name "face_zpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face without fault or x-boundaries
+# ----------------------------------------------------------------------
+group "face_yneg_nofault" add node in face_yneg
+group "face_yneg_nofault" remove node in fault
+group "face_yneg_nofault" remove node in face_xpos
+group "face_yneg_nofault" remove node in face_xneg
+nodeset 18 face_yneg_nofault
+nodeset 18 name "face_yneg_nofault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face without fault or x-boundaries
+# ----------------------------------------------------------------------
+group "face_ypos_nofault" add node in face_ypos
+group "face_ypos_nofault" remove node in fault
+group "face_ypos_nofault" remove node in face_xpos
+group "face_ypos_nofault" remove node in face_xneg
+nodeset 19 face_ypos_nofault
+nodeset 19 name "face_ypos_nofault"
+

Modified: short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/geometry.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/geometry.jou	2012-04-20 18:07:39 UTC (rev 19957)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/geometry.jou	2012-04-20 21:39:00 UTC (rev 19958)
@@ -1,61 +1,87 @@
+# -*- Python -*- (syntax highlighting)
+#
 # Description:
-# This journal creates defines the geometry for a mesh with dimensions of
-# 2000 km (x), 1000 km (y), and 400 km (z).  The volume is divided into 2
-# horizontal layers:
-# a top layer from 0 to 40 km, marking the surface elastic layer;
-# a bottom layer from 40 to 400 km, which approximates the viscoelastic
-# half-space.
-# The fault plane is also cut horizontally at 20 km depth, representing
-# the division between the upper locked section and the lower
-# creeping section.
-# The volume is cut vertically by the fault surface, which lies along the
-# x-axis, and by a symmetry plane, which lies along the y-axis.
-# The fault is restricted to the upper two (elastic) layers.
 #
+# This journal creates defines the geometry for a mesh with dimensions
+# of 2000 km (x), 1000 km (y), and 400 km (z).  The volume is divided
+# into 2 horizontal layers:
+#   (1) a top layer from 0 to 40 km, marking the surface elastic
+#   layer;
+#   (2) a bottom layer from 40 to 400 km, which approximates the
+# viscoelastic half-space.
+#
+# The fault plane is also cut horizontally at 20 km depth,
+# representing the division between the upper locked section and the
+# lower creeping section.  The volume is cut vertically by the fault
+# surface, which lies along the x-axis, and by a symmetry plane, which
+# lies along the y-axis.  The fault is restricted to the upper two
+# (elastic) layers.
+#
 # ----------------------------------------------------------------------
+# Set units to SI.
+# ----------------------------------------------------------------------
+#{Units('si')}
+#
+# ----------------------------------------------------------------------
+# Reset geometry.
+# ----------------------------------------------------------------------
+reset
+
+# Make sure undo is off to prevent errors in stitching volumes.
+undo off
+
+# ----------------------------------------------------------------------
 # Create outer block
 # ----------------------------------------------------------------------
-
 # Block is 2000 km x 1000 km x 400 km
 # -1000 km <= x <= 1000 km
 # -500 km <= y <= 500 km
 # -400 km <= z <= 0 km
-reset
-brick x 2000000 y 1000000 z 400000
+#
+#{blockWidth=1000.0*km}
+#{blockLength=2000.0*km}
+#{blockHeight=400.0*km}
+#{faultWidth=40.0*km}
+#{lockingDepth=20.0*km}
 
+brick x {blockLength} y {blockWidth} z {blockHeight}
+
 # Translate block so the top is at z=0
-volume 1 move x 0 y 0 z -200000
+volume 1 move x {-xoffset} y 0 z {-0.5*blockHeight}
 
 # ----------------------------------------------------------------------
 # Create interface surfaces
 # ----------------------------------------------------------------------
 create planar surface with plane xplane offset 0
-surface 7 name "fault_surface"
-create planar surface with plane zplane offset -40000
-surface 8 name "material_interface"
+#{sid=Id("surface")}
+surface {sid} name "fault_surface"
+
+create planar surface with plane zplane offset {-faultWidth}
+#{sid=Id("surface")}
+surface {sid} name "material_interface"
+
 create planar surface with plane yplane offset 0
-surface 9 name "symmetry_plane"
-create planar surface with plane zplane offset -20000
-surface 10 name "locking_transition"
+#{sid=Id("surface")}
+surface {sid} name "symmetry_plane"
 
+create planar surface with plane zplane offset {-lockingDepth}
+#{sid=Id("surface")}
+surface {sid} name "locking_transition"
+
 # ----------------------------------------------------------------------
 # Cut volume with interfaces.
 # ----------------------------------------------------------------------
-compress all
-webcut volume all with plane fault_surface
-webcut volume all with plane material_interface
-webcut volume all with plane symmetry_plane
+# Cut fault with locking transition (not needed in volume)
+webcut volume 1 with plane fault_surface
+webcut volume 1 6 with plane material_interface
+webcut volume 1 6 7 8 with plane symmetry_plane
 webcut volume 2 with plane locking_transition
-webcut volume 16 with plane locking_transition
+delete body 5
 
 # ----------------------------------------------------------------------
-# Remove surface bodies.
-# ----------------------------------------------------------------------
-delete body 3 4 5 7 8 9 11 12 14 17 18 20 21 23
-
-# ----------------------------------------------------------------------
 # Imprint all volumes, merging surfaces.
 # ----------------------------------------------------------------------
-imprint all with volume all
+imprint all
 merge all
-delete volume 2 16 25 26
+delete body 2 3 4 13
+compress all

Modified: short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/hex8_refined_20km.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/hex8_refined_20km.jou	2012-04-20 18:07:39 UTC (rev 19957)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/hex8_refined_20km.jou	2012-04-20 21:39:00 UTC (rev 19958)
@@ -1,132 +1,40 @@
-# Description:
-# This journal uses the geometry from file geometry.jou to create a mesh
-# with dimensions of 2000 km (x), 1000 km (y), and 400 km (z).  The mesh is
-# divided into 2 horizontal layers:
-# a surface layer from 0 to 40 km, marking elastic layer;
-# a bottom layer from 40 to 400 km, which approximates the viscoelastic
-# half-space.
-# The fault plane is also cut horizontally at 20 km depth, representing
-# the division between the upper locked section and the lower creeping
-# section.
-#
-# The mesh is cut vertically by the fault surface, which lies along the
-# x-axis, and by a symmetry plane, which lies along the y-axis.
-# The fault is restricted to the upper (elastic) layer.
-#
 # The volume is meshed at an initial resolution of 20 km.
+#
 # An inner volume with dimensions of 480 km (x), 240 km (y), and 100 km (z)
 # is then put through 1 level of refinement.
-# The final mesh contains 155061 vertices and 145584 cells.
 # ----------------------------------------------------------------------
 # Generate geometry
 # ----------------------------------------------------------------------
 playback 'geometry.jou'
 
 # ----------------------------------------------------------------------
-# Set interval size for outer surfaces to 20 km and generate initial mesh
+# Set discretization size to 20 km.
 # ----------------------------------------------------------------------
-volume all size 20000.0
+#{dx=20.0*km}
+volume all size {dx}
 mesh volume all
 
 # ----------------------------------------------------------------------
 # Refine region inside inner box.
 # ----------------------------------------------------------------------
-group "inner_box" add hex with x_coord > -240000.0 and with x_coord < 240000.0 and with y_coord > -120000.0 and with y_coord < 120000.0 and with z_coord > -100000.0
+group "inner_box" add hex with x_coord > {-240.0*km} and with x_coord < {240.0*km} and with y_coord > {-120.0*km} and with y_coord < {120.0*km} and with z_coord > {-100.0*km}
 refine hex in inner_box depth 0
 
 # ----------------------------------------------------------------------
 # Smooth mesh.
 # ----------------------------------------------------------------------
-set debug 91 on
 volume all smooth scheme condition number beta 2.2
 smooth volume all
 
 # ----------------------------------------------------------------------
-# Create blocks for materials
+# Generate geometry
 # ----------------------------------------------------------------------
-block 1 volume 1 6 15 19
-block 1 name "elastic"
-block 2 volume 10 13 22 24
-block 2 name "viscoelastic"
+playback 'createbc.jou'
 
 # ----------------------------------------------------------------------
-# Create fault nodeset
-# ----------------------------------------------------------------------
-group "fault" add node in fault_surface
-group "fault" add node in fault_surface at A
-group "fault" add node in fault_surface at D
-group "fault" add node in fault_surface at E
-group "fault" add node in surface 85
-group "fault" add node in surface 91
-group "fault" remove node with z_coord < -82000.0
-nodeset 10 fault
-nodeset 10 name "fault"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +x face
-# ----------------------------------------------------------------------
-group "face_xpos" add node in surface 61 55 89 87
-nodeset 11 face_xpos
-nodeset 11 name "face_xpos"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -x face
-# ----------------------------------------------------------------------
-group "face_xneg" add node in surface 73 75 97 104
-nodeset 12 face_xneg
-nodeset 12 name "face_xneg"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +y face
-# ----------------------------------------------------------------------
-group "face_ypos" add node in surface 29 45 35 47
-nodeset 13 face_ypos
-nodeset 13 name "face_ypos"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -y face
-# ----------------------------------------------------------------------
-group "face_yneg" add node in surface 43 31 49 33
-nodeset 14 face_yneg
-nodeset 14 name "face_yneg"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -z face
-# ----------------------------------------------------------------------
-group "face_zneg" add node in surface 103 92 96 84
-nodeset 15 face_zneg
-nodeset 15 name "face_zneg"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +z face
-# ----------------------------------------------------------------------
-group "face_zpos" add node in surface 78 62 70 54
-nodeset 17 face_zpos
-nodeset 17 name "face_zpos"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -y face without fault or x-boundaries
-# ----------------------------------------------------------------------
-group "face_yneg_nofault" add node in face_yneg
-group "face_yneg_nofault" remove node in fault
-group "face_yneg_nofault" remove node in face_xpos
-group "face_yneg_nofault" remove node in face_xneg
-nodeset 18 face_yneg_nofault
-nodeset 18 name "face_yneg_nofault"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +y face without fault or x-boundaries
-# ----------------------------------------------------------------------
-group "face_ypos_nofault" add node in face_ypos
-group "face_ypos_nofault" remove node in fault
-group "face_ypos_nofault" remove node in face_xpos
-group "face_ypos_nofault" remove node in face_xneg
-nodeset 19 face_ypos_nofault
-nodeset 19 name "face_ypos_nofault"
-
-# ----------------------------------------------------------------------
 # Export exodus file
 # ----------------------------------------------------------------------
 export mesh "hex8_refined_20km.exo" dimension 3 overwrite
 
 
+

Modified: short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/tet4_graded_6.7km.exo.gz
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/tet4_graded_6.7km.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/tet4_graded_6.7km.jou	2012-04-20 18:07:39 UTC (rev 19957)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/sceccrustdeform/savageprescott/meshes/tet4_graded_6.7km.jou	2012-04-20 21:39:00 UTC (rev 19958)
@@ -1,212 +1,188 @@
-# Description:
-# This journal uses the geometry from file geometry.jou to create a mesh
-# with dimensions of 2000 km (x), 1000 km (y), and 400 km (z).  The mesh is
-# divided into 2 horizontal layers:
-# a surface layer from 0 to 40 km, marking the elastic layer;
-# a bottom layer from 40 to 400 km, which approximates the viscoelastic
-# half-space.
-# The fault plane is also cut horizontally at 20 km depth, representing
-# the division between the upper locked section and the lower creeping
-# section.
-#
-# The mesh is cut vertically by the fault surface, which lies along the
-# x-axis, and by a symmetry plane, which lies along the y-axis.
-# The fault is restricted to the upper (elastic) layer.
-#
+# -*- Python -*- (syntax highlighting)
 # The volume is meshed at a variable resolution, with a maximum resolution
 # of 6.7 km at the upper center of the mesh, and a minimum resolution of
 # 20 km at the outer x-edges of the mesh.
-# The final mesh contains 97092 vertices and 547407 cells.
 # ----------------------------------------------------------------------
 # Generate geometry
 # ----------------------------------------------------------------------
 playback 'geometry.jou'
 
 # ----------------------------------------------------------------------
-# Set intervals for curves coincident with fault
+# Set discretization size and scheme
 # ----------------------------------------------------------------------
-curve 118 scheme bias fine size 6666.7 factor 1.02 start vertex 76
-curve 126 scheme bias fine size 6666.7 factor 1.02 start vertex 76
-curve 120 scheme bias fine size 6666.7 factor 1.02 start vertex 74
-curve 213 scheme bias fine size 6666.7 factor 1.02 start vertex 129
-curve 125 scheme bias fine size 6666.7 factor 1.02 start vertex 74
-curve 219 scheme bias fine size 6666.7 factor 1.02 start vertex 129
+#{dx=20.0*km/3.0}
 
 # ----------------------------------------------------------------------
-# Set intervals for curves at end of fault
+# Set vertex spacing with increasing spacing away from fault
 # ----------------------------------------------------------------------
-curve 221 223 size 10000.0
-curve 214 218 size 10000.0
+#{bias_factor=1.02}
 
-# ----------------------------------------------------------------------
-# Set intervals for outer x-edges
-# ----------------------------------------------------------------------
-surface 55 size 40000.0
-surface 61 size 40000.0
-surface 73 size 40000.0
-surface 75 size 40000.0
-surface 89 size 40000.0
-surface 87 size 40000.0
-surface 97 size 40000.0
-surface 104 size 40000.0
+# Function for computing discretization size at end of curve with bias
+#{fun_dx='dxStart*bias_factor**ceil( ln(1-curveL/dxStart*(1-bias_factor))/ln(bias_factor))'}
 
 # ----------------------------------------------------------------------
-# Set intervals for curves perpendicular to fault
+# Compute sizes at curve endpoints
 # ----------------------------------------------------------------------
-curve 113 scheme bias fine size 6666.7 factor 1.05 start vertex 74
-curve 115 scheme bias fine size 6666.7 factor 1.05 start vertex 76
-curve 147 scheme bias fine size 6666.7 factor 1.05 start vertex 74
-curve 149 scheme bias fine size 6666.7 factor 1.05 start vertex 76
-#curve 34 scheme bias fine size 52000.0 factor 1.05 start vertex 12
-#curve 64 scheme bias fine size 52000.0 factor 1.05 start vertex 45
-#curve 42 scheme bias fine size 52000.0 factor 1.05 start vertex 12
-#curve 94 scheme bias fine size 52000.0 factor 1.05 start vertex 45
-#curve 33 scheme bias fine size 52000.0 factor 1.05 start vertex 9
-#curve 66 scheme bias fine size 52000.0 factor 1.05 start vertex 46
-#curve 44 scheme bias fine size 52000.0 factor 1.05 start vertex 9
-#curve 92 scheme bias fine size 52000.0 factor 1.05 start vertex 46
-#surface 43 size 52000.0
-#surface 31 size 52000.0
-#surface 29 size 52000.0
-#surface 45 size 52000.0
-surface 29 sizing function type bias start curve 214 218 finish curve 67
-surface 45 sizing function type bias start curve 214 218 finish curve 96
-surface 31 sizing function type bias start curve 221 223 finish curve 68
-surface 43 sizing function type bias start curve 221 223 finish curve 95
+# dxA - size at vertex 9 28 22 12 29 21
+#{dxStart=dx}{curveL=Length(27)}{execute("dxA="//fun_dx)}
 
-# ----------------------------------------------------------------------
-# Set intervals in vertical direction
-# ----------------------------------------------------------------------
-curve 215 size 6666.7
-curve 217 size 6666.7
-curve 176 scheme bias fine size 6666.7 factor 1.02 start vertex 74
-curve 75 scheme bias fine size 10000.0 factor 1.02 start vertex 46
-curve 77 scheme bias fine size 10000.0 factor 1.02 start vertex 45
+# dxB - size at vertex 27
+#{dxStart=dx}{curveL=Length(41)}{execute("dxB="//fun_dx)}
 
-# ----------------------------------------------------------------------
-# Set intervals for bottom outer edges
-# ----------------------------------------------------------------------
-curve 36 scheme bias fine size 20000.0 coarse size 40000.0 start vertex 26
-curve 41 scheme bias fine size 20000.0 coarse size 40000.0 start vertex 26
-curve 35 scheme bias fine size 20000.0 coarse size 40000.0 start vertex 25
-curve 43 scheme bias fine size 20000.0 coarse size 40000.0 start vertex 25
+# dxC - size at vertex 10 11
+#{dxStart=dxB}{curveL=Length(47)}{execute("dxC="//fun_dx)}
 
-# ----------------------------------------------------------------------
-# Set intervals for bottom inner edges
-# ----------------------------------------------------------------------
-curve 177 scheme bias fine size 12000.0 coarse size 40000.0 start vertex 111
-curve 179 scheme bias fine size 12000.0 coarse size 20000.0 start vertex 111
-curve 190 scheme bias fine size 12000.0 coarse size 20000.0 start vertex 111
-curve 199 scheme bias fine size 12000.0 coarse size 40000.0 start vertex 111
+# dxD - size at vertex 28 19 23 26
+#{dxStart=dx}{curveL=Length(25)}{execute("dxD="//fun_dx)}
 
-# ----------------------------------------------------------------------
-# Set meshing scheme for all volumes
-# ----------------------------------------------------------------------
-volume all scheme tetmesh
+# dxE - size at vertex 17 20
+#{dxStart=dxD}{curveL=Length(43)}{execute("dxE="//fun_dx)}
 
-# ----------------------------------------------------------------------
-# Mesh the volume.
-# ----------------------------------------------------------------------
-mesh volume all
+# dxF - size at vertex 1 2 3 4 13 14 15 16
+#{dxStart=dxD}{curveL=Length(26)}{execute("dxF="//fun_dx)}
 
-# ----------------------------------------------------------------------
-# Smooth the mesh.
-# ----------------------------------------------------------------------
-set debug 91 on
-volume all smooth scheme condition number
-smooth volume all
-volume all smooth scheme condition number beta 1.9
-smooth volume all
-volume all smooth scheme condition number beta 1.8
-smooth volume all
-volume all smooth scheme condition number beta 1.7
-smooth volume all
+# dxG - size at vertex 5 6 7 8
+#{dxStart=dxF}{curveL=Length(16)}{execute("dxG="//fun_dx)}
 
 # ----------------------------------------------------------------------
-# Create blocks for materials
+# Reset sizes
 # ----------------------------------------------------------------------
-block 1 volume 1 6 15 19
-block 1 name "elastic"
-block 2 volume 10 13 22 24
-block 2 name "viscoelastic"
+curve all scheme default
+surface all sizing function none
+surface all scheme trimesh
 
+# Fault
+curve 56 57 size {dx}
+
+# fault to A
+curve 27 scheme bias fine size {dx} coarse size {dxA} start vertex 25
+curve 31 scheme bias fine size {dx} coarse size {dxA} start vertex 25
+curve 54 scheme bias fine size {dx} coarse size {dxA} start vertex 30
+curve 58 scheme bias fine size {dx} coarse size {dxA} start vertex 30
+curve 29 scheme bias fine size {dx} coarse size {dxA} start vertex 24
+curve 30 scheme bias fine size {dx} coarse size {dxA} start vertex 24
+
+# fault to B
+curve 41 scheme bias fine size {dx} coarse size {dxB} start vertex 24
+
+# fault to D
+curve 25 scheme bias fine size {dx} coarse size {dxD} start vertex 25
+curve 35 scheme bias fine size {dx} coarse size {dxD} start vertex 25
+curve 23 scheme bias fine size {dx} coarse size {dxD} start vertex 24
+curve 34 scheme bias fine size {dx} coarse size {dxD} start vertex 24
+
 # ----------------------------------------------------------------------
-# Create fault nodeset
-# ----------------------------------------------------------------------
-group "fault" add node in fault_surface
-group "fault" add node in fault_surface at D
-group "fault" add node in fault_surface at A
-group "fault" add node in fault_surface at E
-group "fault" add node in surface 85
-group "fault" add node in surface 91
-group "fault" remove node with z_coord < -82000.0
-nodeset 10 fault
-nodeset 10 name "fault"
+# bias starting at A
 
+# A to C
+curve 13 scheme bias fine size {dxA} coarse size {dxC} start vertex 22
+curve 15 scheme bias fine size {dxA} coarse size {dxC} start vertex 21
+
+# A to F
+curve 1 scheme bias fine size {dxA} coarse size {dxF} start vertex 9
+curve 8 scheme bias fine size {dxA} coarse size {dxF} start vertex 9
+curve 2 scheme bias fine size {dxA} coarse size {dxF} start vertex 12
+curve 6 scheme bias fine size {dxA} coarse size {dxF} start vertex 12
+
+curve 10 scheme bias fine size {dxA} coarse size {dxF} start vertex 22
+curve 17 scheme bias fine size {dxA} coarse size {dxF} start vertex 22
+curve 9 scheme bias fine size {dxA} coarse size {dxF} start vertex 21
+curve 18 scheme bias fine size {dxA} coarse size {dxF} start vertex 21
+
+# A to A
+curve 53 59 52 55 size {dxA}
+
 # ----------------------------------------------------------------------
-# Create nodeset for +x face
-# ----------------------------------------------------------------------
-group "face_xpos" add node in surface 61 55 89 87
-nodeset 11 face_xpos
-nodeset 11 name "face_xpos"
+# bias starting at B
 
+# B to C
+curve 44 scheme bias fine size {dxB} coarse size {dxC} start vertex 27
+curve 47 scheme bias fine size {dxB} coarse size {dxC} start vertex 27
+
+# B to E
+curve 42 scheme bias fine size {dxB} coarse size {dxE} start vertex 27
+curve 49 scheme bias fine size {dxB} coarse size {dxE} start vertex 27
+
 # ----------------------------------------------------------------------
-# Create nodeset for -x face
-# ----------------------------------------------------------------------
-group "face_xneg" add node in surface 73 75 97 104
-nodeset 12 face_xneg
-nodeset 12 name "face_xneg"
+# bias starting at C
 
+# C to G
+curve 3 scheme bias fine size {dxC} coarse size {dxG} start vertex 10
+curve 7 scheme bias fine size {dxC} coarse size {dxG} start vertex 10
+curve 4 scheme bias fine size {dxC} coarse size {dxG} start vertex 11
+curve 5 scheme bias fine size {dxC} coarse size {dxG} start vertex 11
+
 # ----------------------------------------------------------------------
-# Create nodeset for +y face
-# ----------------------------------------------------------------------
-group "face_ypos" add node in surface 29 45 35 47
-nodeset 13 face_ypos
-nodeset 13 name "face_ypos"
+# bias starting at D
 
+curve 26 scheme bias fine size {dxD} coarse size {dxF} start vertex 19
+curve 33 scheme bias fine size {dxD} coarse size {dxF} start vertex 19
+curve 37 scheme bias fine size {dxD} coarse size {dxF} start vertex 18
+curve 40 scheme bias fine size {dxD} coarse size {dxF} start vertex 18
+
+curve 32 scheme bias fine size {dxD} coarse size {dxE} start vertex 23
+curve 28 scheme bias fine size {dxD} coarse size {dxF} start vertex 23
+curve 38 scheme bias fine size {dxD} coarse size {dxF} start vertex 26
+curve 39 scheme bias fine size {dxD} coarse size {dxF} start vertex 26
+
+curve 43 scheme bias fine size {dxD} coarse size {dxF} start vertex 23
+curve 48 scheme bias fine size {dxD} coarse size {dxE} start vertex 26
+
+# D to D
+curve 24 36 size {dxD}
+
 # ----------------------------------------------------------------------
-# Create nodeset for -y face
-# ----------------------------------------------------------------------
-group "face_yneg" add node in surface 43 31 49 33
-nodeset 14 face_yneg
-nodeset 14 name "face_yneg"
+# bias starting at E
 
+# E to G
+curve 45 scheme bias fine size {dxE} coarse size {dxG} start vertex 20
+curve 46 scheme bias fine size {dxE} coarse size {dxG} start vertex 20
+curve 50 scheme bias fine size {dxE} coarse size {dxG} start vertex 17
+curve 51 scheme bias fine size {dxE} coarse size {dxG} start vertex 17
+
 # ----------------------------------------------------------------------
-# Create nodeset for -z face
-# ----------------------------------------------------------------------
-group "face_zneg" add node in surface 103 92 96 84
-nodeset 15 face_zneg
-nodeset 15 name "face_zneg"
+# bias starting at F
 
+curve 14 scheme bias fine size {dxF} coarse size {dxG} start vertex 15
+curve 16 scheme bias fine size {dxF} coarse size {dxG} start vertex 16
+curve 22 scheme bias fine size {dxF} coarse size {dxG} start vertex 14
+curve 21 scheme bias fine size {dxF} coarse size {dxG} start vertex 13
+
+# F to F
+curve 12 26 19 20 size {dxF}
+
 # ----------------------------------------------------------------------
-# Create nodeset for +z face
+# Generate the mesh.
 # ----------------------------------------------------------------------
-group "face_zpos" add node in surface 78 62 70 54
-nodeset 16 face_zpos
-nodeset 16 name "face_zpos"
+mesh surface all
+surface all smooth scheme condition number beta 1.3
+smooth surface all
 
+volume all scheme tetmesh
+mesh volume all
+
 # ----------------------------------------------------------------------
-# Create nodeset for -y face without fault or x-boundaries
+# Smooth mesh to improve quality
 # ----------------------------------------------------------------------
-group "face_yneg_nofault" add node in face_yneg
-group "face_yneg_nofault" remove node in fault
-group "face_yneg_nofault" remove node in face_xpos
-group "face_yneg_nofault" remove node in face_xneg
-nodeset 17 face_yneg_nofault
-nodeset 17 name "face_yneg_nofault"
+#{condnum=2.0}
+#{loop(4)}
+cleanup volume all
+volume all smooth scheme condition number beta {condnum} cpu 10
+smooth volume all
+#{condnum=condnum-0.1}
+#{endloop}
 
 # ----------------------------------------------------------------------
-# Create nodeset for +y face without fault or x-boundaries
+# Setup boundary conditions.
 # ----------------------------------------------------------------------
-group "face_ypos_nofault" add node in face_ypos
-group "face_ypos_nofault" remove node in fault
-group "face_ypos_nofault" remove node in face_xpos
-group "face_ypos_nofault" remove node in face_xneg
-nodeset 18 face_ypos_nofault
-nodeset 18 name "face_ypos_nofault"
+playback 'createbc.jou'
 
 # ----------------------------------------------------------------------
 # Export exodus file
 # ----------------------------------------------------------------------
 export mesh "tet4_graded_6.7km.exo" dimension 3 overwrite
 
+
+
+
+



More information about the CIG-COMMITS mailing list