[cig-commits] r22170 - in short/3D/PyLith/trunk/playpen: . sidesets

willic3 at geodynamics.org willic3 at geodynamics.org
Thu May 30 18:17:03 PDT 2013


Author: willic3
Date: 2013-05-30 18:17:03 -0700 (Thu, 30 May 2013)
New Revision: 22170

Added:
   short/3D/PyLith/trunk/playpen/sidesets/
   short/3D/PyLith/trunk/playpen/sidesets/Exodus_sidesets.jpg
   short/3D/PyLith/trunk/playpen/sidesets/README
   short/3D/PyLith/trunk/playpen/sidesets/geometry.jou
   short/3D/PyLith/trunk/playpen/sidesets/mesh_hex8_1000m.jou
   short/3D/PyLith/trunk/playpen/sidesets/mesh_tet4_1000m.jou
Log:
Added playpen directory for sidesets using Cubit.
Example includes a hex8 and a tet4 example.



Added: short/3D/PyLith/trunk/playpen/sidesets/Exodus_sidesets.jpg
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/trunk/playpen/sidesets/Exodus_sidesets.jpg
___________________________________________________________________
Added: svn:mime-type
   + image/jpeg

Added: short/3D/PyLith/trunk/playpen/sidesets/README
===================================================================
--- short/3D/PyLith/trunk/playpen/sidesets/README	                        (rev 0)
+++ short/3D/PyLith/trunk/playpen/sidesets/README	2013-05-31 01:17:03 UTC (rev 22170)
@@ -0,0 +1,8 @@
+This directory contains simple examples based on 3d/hex8 to produce sidesets
+using Cubit. There are examples for both hex8 and tet4 meshes.
+
+The resulting Exodus II file then contains extra entries analogous to
+nodesets. The file first lists the cells associated with each face on the
+surface (elem_ssX), and then the face number for each face on the surface.
+The ordering of faces for Exodus II files is shown in the attached JPEG
+file.

Added: short/3D/PyLith/trunk/playpen/sidesets/geometry.jou
===================================================================
--- short/3D/PyLith/trunk/playpen/sidesets/geometry.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/playpen/sidesets/geometry.jou	2013-05-31 01:17:03 UTC (rev 22170)
@@ -0,0 +1,39 @@
+# ----------------------------------------------------------------------
+# Create block
+# ----------------------------------------------------------------------
+
+# Block is 6 km x 6 km x 4 km
+# -3 km <= x <= 3 km
+# -3 km <= y <= 3 km
+# -4 km <= z <= 0 km
+reset
+brick x 6000 y 6000 z 4000
+
+# Translate block so the top is at z=0
+volume 1 move x 0 y 0 z -2000
+
+# ----------------------------------------------------------------------
+# Create interface surfaces
+# ----------------------------------------------------------------------
+create planar surface with plane xplane offset 0
+surface 7 name "fault_surface"
+create planar surface with plane zplane offset -2000
+surface 8 name "material_interface"
+
+# ----------------------------------------------------------------------
+# Divide volumes using interface surfaces
+# ----------------------------------------------------------------------
+webcut volume 1 with plane surface fault_surface
+webcut volume 1 with plane surface material_interface
+webcut volume 4 with plane surface material_interface
+volume 1 name "elastic_xpos"
+volume 4 name "elastic_xneg"
+volume 5 name "visco_xpos"
+volume 6 name "visco_xneg"
+
+# ----------------------------------------------------------------------
+# Imprint all volumes, merging surfaces
+# ----------------------------------------------------------------------
+imprint all with volume all
+merge all
+delete body 2 3

Added: short/3D/PyLith/trunk/playpen/sidesets/mesh_hex8_1000m.jou
===================================================================
--- short/3D/PyLith/trunk/playpen/sidesets/mesh_hex8_1000m.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/playpen/sidesets/mesh_hex8_1000m.jou	2013-05-31 01:17:03 UTC (rev 22170)
@@ -0,0 +1,105 @@
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+volume all size 1000
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 4
+block 1 name "elastic"
+block 2 volume 5 6
+block 2 name "viscoelastic"
+
+# ----------------------------------------------------------------------
+# Create nodeset for fault
+# ----------------------------------------------------------------------
+group "fault" add node in fault_surface
+group "fault" add node in fault_surface at A
+nodeset 10 group fault
+nodeset 10 name "fault"
+
+# ----------------------------------------------------------------------
+# Create sideset for faces in fault
+# ----------------------------------------------------------------------
+group "fault_faces" add face in fault_surface
+group "fault_faces" add face in fault_surface at A
+sideset 10 group fault_faces
+sideset 10 name "fault_faces"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 20
+group "face_xpos" add node in surface 28
+nodeset 11 group face_xpos
+nodeset 11 name "face_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 30
+group "face_xneg" add node in surface 38
+nodeset 12 group face_xneg
+nodeset 12 name "face_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 21
+group "face_ypos" add node in surface 27
+group "face_ypos" add node in surface 33
+group "face_ypos" add node in surface 35
+nodeset 13 group face_ypos
+nodeset 13 name "face_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 23
+group "face_yneg" add node in surface 25
+group "face_yneg" add node in surface 31
+group "face_yneg" add node in surface 37
+nodeset 14 group face_yneg
+nodeset 14 name "face_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 12
+group "face_zneg" add node in surface 16
+nodeset 15 group face_zneg
+nodeset 15 name "face_zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face w/o fault
+# ----------------------------------------------------------------------
+group "face_zneg_nofault" add node in face_zneg
+group "face_zneg_nofault" remove node in fault
+nodeset 16 group face_zneg_nofault
+nodeset 16 name "face_zneg_nofault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 10
+group "face_zpos" add node in surface 17
+nodeset 17 group face_zpos
+nodeset 17 name "face_zpos"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "box_hex8_1000m.exo" dimension 3 overwrite
+
+

Added: short/3D/PyLith/trunk/playpen/sidesets/mesh_tet4_1000m.jou
===================================================================
--- short/3D/PyLith/trunk/playpen/sidesets/mesh_tet4_1000m.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/playpen/sidesets/mesh_tet4_1000m.jou	2013-05-31 01:17:03 UTC (rev 22170)
@@ -0,0 +1,105 @@
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size and mesh type
+# ----------------------------------------------------------------------
+volume all scheme tetmesh
+volume all size 1000
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 4
+block 1 name "elastic"
+block 2 volume 5 6
+block 2 name "viscoelastic"
+
+# ----------------------------------------------------------------------
+# Create nodeset for fault
+# ----------------------------------------------------------------------
+group "fault" add node in fault_surface
+group "fault" add node in fault_surface at A
+nodeset 10 group fault
+nodeset 10 name "fault"
+
+# ----------------------------------------------------------------------
+# Create sideset for faces in fault
+# ----------------------------------------------------------------------
+group "fault_faces" add face in fault_surface
+group "fault_faces" add face in fault_surface at A
+sideset 10 group fault_faces
+sideset 10 name "fault_faces"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 20
+group "face_xpos" add node in surface 28
+nodeset 11 group face_xpos
+nodeset 11 name "face_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 30
+group "face_xneg" add node in surface 38
+nodeset 12 group face_xneg
+nodeset 12 name "face_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 21
+group "face_ypos" add node in surface 27
+group "face_ypos" add node in surface 33
+group "face_ypos" add node in surface 35
+nodeset 13 group face_ypos
+nodeset 13 name "face_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 23
+group "face_yneg" add node in surface 25
+group "face_yneg" add node in surface 31
+group "face_yneg" add node in surface 37
+nodeset 14 group face_yneg
+nodeset 14 name "face_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 12
+group "face_zneg" add node in surface 16
+nodeset 15 group face_zneg
+nodeset 15 name "face_zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face w/o fault
+# ----------------------------------------------------------------------
+group "face_zneg_nofault" add node in face_zneg
+group "face_zneg_nofault" remove node in fault
+nodeset 16 group face_zneg_nofault
+nodeset 16 name "face_zneg_nofault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 10
+group "face_zpos" add node in surface 17
+nodeset 17 group face_zpos
+nodeset 17 name "face_zpos"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "box_tet4_1000m.exo" dimension 3 overwrite
+



More information about the CIG-COMMITS mailing list