[cig-commits] [commit] baagaard/add-examples-debugging, baagaard/add-missing-files-dist, baagaard/add-release-2.0.2, baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-error-messages, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/fix-meshing-examples-trelis, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/fix-dm-composition, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Improve subduction meshing example. Make Trelis compatible. (b1df679)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Nov 5 15:41:06 PST 2014


Repository : https://github.com/geodynamics/pylith

On branches: baagaard/add-examples-debugging,baagaard/add-missing-files-dist,baagaard/add-release-2.0.2,baagaard/add-release-2.0.3,baagaard/add-release-2.1.0,baagaard/dynrup-new-lagrange,baagaard/feature-output-station-names,baagaard/feature-progress-monitor,baagaard/fix-custom-faultpc,baagaard/fix-error-messages,baagaard/fix-faults-intersect,baagaard/fix-friction-initial-state,baagaard/fix-meshing-examples-trelis,baagaard/update-autoconf,knepley/feature-petsc-fe,knepley/fix-dm-composition,knepley/upgrade-petsc-3.5,knepley/upgrade-petsc-master,maint,master,next,willic3/fix-plasticity
Link       : https://github.com/geodynamics/pylith/compare/f33c75b19fd60eedb2a3405db76a1fee333bb1d7...5b6d812b1612809fea3bd331c4e5af98c25a536a

>---------------------------------------------------------------

commit b1df6790e93822bc022c7840386d218c91b252da
Author: Brad Aagaard <baagaard at usgs.gov>
Date:   Thu Jun 19 16:15:50 2014 -0700

    Improve subduction meshing example. Make Trelis compatible.


>---------------------------------------------------------------

b1df6790e93822bc022c7840386d218c91b252da
 .../surface_nurbs/subduction/interface_netsurf.py  | 74 ++++++++++-----------
 examples/meshing/surface_nurbs/subduction/mesh.jou |  3 +-
 .../surface_nurbs/subduction/splay_skinsurf.py     | 50 +++++++--------
 .../surface_nurbs/subduction/topobath_netsurf.py   | 75 +++++++++++-----------
 4 files changed, 99 insertions(+), 103 deletions(-)

diff --git a/examples/meshing/surface_nurbs/subduction/interface_netsurf.py b/examples/meshing/surface_nurbs/subduction/interface_netsurf.py
index 01c351c..41f8bf7 100644
--- a/examples/meshing/surface_nurbs/subduction/interface_netsurf.py
+++ b/examples/meshing/surface_nurbs/subduction/interface_netsurf.py
@@ -27,56 +27,56 @@ journalFile = "interface_netsurf.jou"
 acisFile = "interface_surf.sat"
 
 # Journal file formatting, etc.
-separator = "# ----------------------------------------------------------\n"
-journalBeg = \
-           "# CUBIT journal file generated by interface_netsurf.py.\n" + \
-           "#\n" + \
-           "# Create an ACIS NURBS surface from intersecting lines.\n" + \
-           "#\n" + separator + \
-           "reset\n"
-lineBeg = "create curve spline"
-splineFmt = " location %10.2e %10.2e %10.2e"
-netFmt = "create surface net u curve %d to %d v curve %d to %d\n"
-delCmd = "delete curve all\n"
-expCmd = "export Acis '" + acisFile + "'\n"
-
 
 # Read coordinates and reshape them.
 intCoords = numpy.loadtxt(interfaceFile, dtype=numpy.float64).reshape(numContours, pointsPerContour, 3)
 
 j = open(journalFile, 'w')
-j.write(journalBeg)
+j.write("# CUBIT journal file generated by interface_netsurf.py.\n" + \
+            "#\n" + \
+            "# Create an ACIS NURBS surface from intersecting lines.\n" + \
+            "#\n" \
+            "# ----------------------------------------------------------\n" + \
+            "reset\n")
 
 # Loop over contours (u-lines).
-for contour in range(numContours):
-    points = intCoords[contour,:,:]
-    j.write(lineBeg)
-    for pointNum in range(pointsPerContour):
-        point = points[pointNum,:]
-        j.write(splineFmt % (point[0], point[1], point[2]))
-
-    j.write("\n")
+for iContour in range(numContours):
+    points = intCoords[iContour,:,:]
+    for iPoint in range(pointsPerContour):
+        point = points[iPoint,:]
+        j.write("create vertex x %10.2e y %10.2e z %10.2e\n" % \
+                    (point[0], point[1], point[2]))
+        if 0 == iPoint:
+            j.write("#{idBeg=Id('vertex')}\n")
+    j.write("#{idEnd=Id('vertex')}\n")
+    j.write("create curve spline vertex {idBeg} to {idEnd}\n")
+    if 0 == iContour:
+        j.write("#{idCBeg=Id('curve')}\n")
+j.write("#{idCEnd=Id('curve')}\n\n")
+j.write("delete vertex all\n")
 
 # Loop over profiles (v-lines).
-for profile in range(pointsPerContour):
-    points = intCoords[:,profile,:]
-    j.write(lineBeg)
-    for pointNum in range(numContours):
-        point = points[pointNum,:]
-        j.write(splineFmt % (point[0], point[1], point[2]))
-
-    j.write("\n")
+for iProfile in range(pointsPerContour):
+    points = intCoords[:,iProfile,:]
+    for iPoint in range(numContours):
+        point = points[iPoint,:]
+        j.write("create vertex x %10.2e y %10.2e z %10.2e\n" % \
+                    (point[0], point[1], point[2]))
+        if 0 == iPoint:
+            j.write("#{idBeg=Id('vertex')}\n")
+    j.write("#{idEnd=Id('vertex')}\n")
+    j.write("create curve spline vertex {idBeg} to {idEnd}\n")
+    if 0 == iProfile:
+        j.write("#{idPBeg=Id('curve')}\n")
+j.write("#{idPEnd=Id('curve')}\n\n")
+j.write("delete vertex all\n")
 
 # Create net surface.
-uline1 = 1
-uline2 = numContours
-vline1 = numContours + 1
-vline2 = vline1 + pointsPerContour - 1
-j.write(netFmt % (uline1, uline2, vline1, vline2))
+j.write("create surface net u curve {idCBeg} to {idCEnd} v curve {idPBeg} to {idPEnd}\n")
 
 # Delete spline curves and export Acis file.
-j.write(delCmd)
-j.write(expCmd)
+j.write("delete curve all\n")
+j.write("export Acis '%s' overwrite\n" % acisFile)
 j.close()
 
 # End of file
diff --git a/examples/meshing/surface_nurbs/subduction/mesh.jou b/examples/meshing/surface_nurbs/subduction/mesh.jou
index 5ebe8e0..9979e01 100644
--- a/examples/meshing/surface_nurbs/subduction/mesh.jou
+++ b/examples/meshing/surface_nurbs/subduction/mesh.jou
@@ -37,7 +37,7 @@ mesh surface all
 mesh volume all
 
 # ----------------------------------------------------------------------
-# Smooth mesh to imporve quality.
+# Smooth mesh to improve quality.
 # ----------------------------------------------------------------------
 cleanup volume all
 volume all smooth scheme condition number beta 2.0 cpu 4
@@ -51,7 +51,6 @@ playback 'bc.jou'
 # ----------------------------------------------------------------------
 # Export exodus file.
 # ----------------------------------------------------------------------
-set large exodus off
 export mesh "mesh.exo" dimension 3 overwrite
 
 
diff --git a/examples/meshing/surface_nurbs/subduction/splay_skinsurf.py b/examples/meshing/surface_nurbs/subduction/splay_skinsurf.py
index 5ff9a14..682629a 100644
--- a/examples/meshing/surface_nurbs/subduction/splay_skinsurf.py
+++ b/examples/meshing/surface_nurbs/subduction/splay_skinsurf.py
@@ -26,43 +26,41 @@ pointsPerProfile = 4
 journalFile = "splay_skinsurf.jou"
 acisFile = "splay_surf.sat"
 
-# Journal file formatting, etc.
-separator = "# ----------------------------------------------------------\n"
-journalBeg = \
-           "# CUBIT journal file generated by splay_skinsurf.py.\n" + \
-           "#\n" + \
-           "# Create an ACIS NURBS surface from a set of profiles.\n" + \
-           "#\n" + separator + \
-           "reset\n"
-lineBeg = "create curve spline"
-splineFmt = " location %10.2e %10.2e %10.2e"
-skinCmd = "create surface skin curve all\n"
-delCmd = "delete curve all\n"
-expCmd = "export Acis '" + acisFile + "'\n"
-
 
 # Read coordinates and reshape them.
 splayCoords = numpy.loadtxt(splayFile, dtype=numpy.float64).reshape(numProfiles, pointsPerProfile, 3)
 
 j = open(journalFile, 'w')
-j.write(journalBeg)
+j.write("# CUBIT journal file generated by splay_skinsurf.py.\n" + \
+            "#\n" + \
+            "# Create an ACIS NURBS surface from a set of profiles.\n" + \
+            "#\n" \
+            "# ----------------------------------------------------------\n" + \
+            "reset\n")
 
-# Loop over profiles.
-for profile in range(numProfiles):
-    points = splayCoords[profile,:,:]
-    j.write(lineBeg)
-    for pointNum in range(pointsPerProfile):
-        point = points[pointNum,:]
-        j.write(splineFmt % (point[0], point[1], point[2]))
 
-    j.write("\n")
+# Loop over profiles.
+for iProfile in range(numProfiles):
+    points = splayCoords[iProfile,:,:]
+    for iPoint in range(pointsPerProfile):
+        point = points[iPoint,:]
+        j.write("create vertex x %10.2e y %10.2e z %10.2e\n" % \
+                    (point[0], point[1], point[2]))
+        if 0 == iPoint:
+            j.write("#{idBeg=Id('vertex')}\n")
+    j.write("#{idEnd=Id('vertex')}\n")
+    j.write("create curve spline vertex {idBeg} to {idEnd}\n")
+    if 0 == iProfile:
+        j.write("#{idCBeg=Id('curve')}\n")
+j.write("#{idCEnd=Id('curve')}\n\n")
+j.write("delete vertex all\n")
 
 # Create skin surface.
-j.write(skinCmd)
+j.write("create surface skin curve {idCBeg} to {idCEnd}\n")
 
 # Delete spline curves and export Acis file.
-j.write(delCmd)
-j.write(expCmd)
+j.write("delete curve all\n")
+j.write("export Acis '%s' overwrite\n" % acisFile)
 j.close()
 
 # End of file
diff --git a/examples/meshing/surface_nurbs/subduction/topobath_netsurf.py b/examples/meshing/surface_nurbs/subduction/topobath_netsurf.py
index e45cebb..6e25cfa 100644
--- a/examples/meshing/surface_nurbs/subduction/topobath_netsurf.py
+++ b/examples/meshing/surface_nurbs/subduction/topobath_netsurf.py
@@ -26,57 +26,56 @@ pointsPerProfile = 3
 journalFile = "topobath_netsurf.jou"
 acisFile = "topobath_surf.sat"
 
-# Journal file formatting, etc.
-separator = "# ----------------------------------------------------------\n"
-journalBeg = \
-           "# CUBIT journal file generated by topobath_netsurf.py.\n" + \
-           "#\n" + \
-           "# Create an ACIS NURBS surface from intersecting lines.\n" + \
-           "#\n" + separator + \
-           "reset\n"
-lineBeg = "create curve spline"
-splineFmt = " location %10.2e %10.2e %10.2e"
-netFmt = "create surface net u curve %d to %d v curve %d to %d\n"
-delCmd = "delete curve all\n"
-expCmd = "export Acis '" + acisFile + "'\n"
-
 
 # Read coordinates and reshape them.
 demCoords = numpy.loadtxt(demFile, dtype=numpy.float64).reshape(numProfiles, pointsPerProfile, 3)
 
 j = open(journalFile, 'w')
-j.write(journalBeg)
+j.write("# CUBIT journal file generated by topobath_netsurf.py.\n" + \
+            "#\n" + \
+            "# Create an ACIS NURBS surface from intersecting lines.\n" + \
+            "#\n" \
+            "# ----------------------------------------------------------\n" + \
+            "reset\n")
 
 # Loop over profiles (u-lines).
-for profile in range(numProfiles):
-    points = demCoords[profile,:,:]
-    j.write(lineBeg)
-    for pointNum in range(pointsPerProfile):
-        point = points[pointNum,:]
-        j.write(splineFmt % (point[0], point[1], point[2]))
-
-    j.write("\n")
+for iProfile in range(numProfiles):
+    points = demCoords[iProfile,:,:]
+    for iPoint in range(pointsPerProfile):
+        point = points[iPoint,:]
+        j.write("create vertex x %10.2e y %10.2e z %10.2e\n" % \
+                    (point[0], point[1], point[2]))
+        if 0 == iPoint:
+            j.write("#{idBeg=Id('vertex')}\n")
+    j.write("#{idEnd=Id('vertex')}\n")
+    j.write("create curve spline vertex {idBeg} to {idEnd}\n")
+    if 0 == iProfile:
+        j.write("#{idPBeg=Id('curve')}\n")
+j.write("#{idPEnd=Id('curve')}\n\n")
+j.write("delete vertex all\n")
 
 # Loop over contours (v-lines).
-for contour in range(pointsPerProfile):
-    points = demCoords[:,contour,:]
-    j.write(lineBeg)
-    for pointNum in range(numProfiles):
-        point = points[pointNum,:]
-        j.write(splineFmt % (point[0], point[1], point[2]))
-
-    j.write("\n")
+for iContour in range(pointsPerProfile):
+    points = demCoords[:,iContour,:]
+    for iPoint in range(numProfiles):
+        point = points[iPoint,:]
+        j.write("create vertex x %10.2e y %10.2e z %10.2e\n" % \
+                    (point[0], point[1], point[2]))
+        if 0 == iPoint:
+            j.write("#{idBeg=Id('vertex')}\n")
+    j.write("#{idEnd=Id('vertex')}\n")
+    j.write("create curve spline vertex {idBeg} to {idEnd}\n")
+    if 0 == iContour:
+        j.write("#{idCBeg=Id('curve')}\n")
+j.write("#{idCEnd=Id('curve')}\n\n")
+j.write("delete vertex all\n")
 
 # Create net surface.
-uline1 = 1
-uline2 = numProfiles
-vline1 = numProfiles + 1
-vline2 = vline1 + pointsPerProfile - 1
-j.write(netFmt % (uline1, uline2, vline1, vline2))
+j.write("create surface net u curve {idCBeg} to {idCEnd} v curve {idPBeg} to {idPEnd}\n")
 
 # Delete spline curves and export Acis file.
-j.write(delCmd)
-j.write(expCmd)
+j.write("delete curve all\n")
+j.write("export Acis '%s' overwrite\n" % acisFile)
 j.close()
 
 # End of file



More information about the CIG-COMMITS mailing list