[cig-commits] r7408 - short/3D/PyLith/trunk/examples/twocells/twotet4

willic3 at geodynamics.org willic3 at geodynamics.org
Fri Jun 22 19:25:37 PDT 2007


Author: willic3
Date: 2007-06-22 19:25:37 -0700 (Fri, 22 Jun 2007)
New Revision: 7408

Added:
   short/3D/PyLith/trunk/examples/twocells/twotet4/README
   short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg
   short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.spatialdb
   short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg
   short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_disp.spatialdb
   short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_slip.spatialdb
   short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliprate.spatialdb
   short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliptime.spatialdb
   short/3D/PyLith/trunk/examples/twocells/twotet4/matprops.spatialdb
   short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg
   short/3D/PyLith/trunk/examples/twocells/twotet4/twotet4.mesh
Log:
Axial and dislocation tests for twotet4 example.
Problems run, but the stresses are ridiculously high.



Added: short/3D/PyLith/trunk/examples/twocells/twotet4/README
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/README	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/README	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,45 @@
+This directory contains a set of 2 elastic plane strain example
+problems. All problems share the same mesh and material properties,
+with the only differences being in the boundary conditions.  The mesh
+consists of two tetrahedral elements.  The information describing the
+examples may be divided into four groups:
+
+1.  Global mesh information:  described in file twoquad4.mesh
+
+2.  Parameter settings common to all examples:  described in file
+pylithapp.cfg.
+
+3.  Material properties common to all examples:  described in the
+database file matprops.cfg.
+
+4.  Example-specific parameters and boundary condition specifications.
+
+The examples and associated files are:
+
+1.  axialdisp:  Axial displacements are applied to the left and right
+corners of the mesh.
+  a.  axialdisp.cfg:  Parameter settings for this problem.
+  b.  axialdisp.spatialdb:  Boundary condition database for this
+      problem.
+
+2.  dislocation:  Fault displacements are applied between the two
+elements, while the left and right corners are fixed in x, y, and z.
+  a.  dislocation.cfg:  Parameter settings for this problem.
+  b.  dislocation.spatialdb:  Boundary condition database for this
+      problem.
+  c.  dislocation_disp.spatialdb:  Fault slip database for this problem.
+  d.  dislocation_sliprate.spatialdb:  Fault slip rate database for this
+      problem.
+  e.  dislocation_sliptime.spatialdb:  Fault slip time database for this
+      problem.
+
+All of the files are documented.  The 'pylithapp.cfg' file is read
+automatically when running PyLith.  To add to or override these
+settings, you may place an additional .cfg file on the command line.
+To run the examples, you can type:
+pylith axialdisp.cfg
+pylith dislocation.cfg
+
+Each of these commands will produce a corresponding VTK file, which may be viewed with visualization packages such as ParaView or Mayavi.  The
+jpeg files in this directory show results for the different examples
+visualized using ParaView.

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.cfg	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,55 @@
+# -*- Python -*-
+
+# The settings in this file (axialdisp.cfg) will be read if it is
+# specified on the command line:
+# 'pylith axialdisp.cfg'
+
+# If this file is given, the settings in this file will override all
+# others except for parameters specified directly on the command line.
+
+# These setting define an implicit problem with Dirichlet (displacement)
+# boundary conditions extending the rectangular mesh along the x-axis.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# Specify the problem settings.
+# This is a time-dependent problem so we use that facility.
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+
+# We want an implicit formulation.
+formulation = pylith.problems.Implicit
+
+# This is a container for a boundary condition specified at a point.
+bc = pylith.bc.BCSingle
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# Provide information on the boundary conditions.
+# ----------------------------------------------------------------------
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.bc]
+
+# We are fixing the 0 (x), 1 (y) and 2 (z) degrees of freedom.
+fixed_dof = [0, 1, 2]
+
+# The nodes associated with this boundary condition have the name
+# 'end points' in the mesh file.
+label = end points
+
+# We are assigning the label 'Dirichlet BC' to the database.
+db.label = Dirichlet BC
+
+# The name of the file containing the spatial database for the BC
+# specification.
+db.iohandler.filename = axialdisp.spatialdb
+
+# ----------------------------------------------------------------------
+# output
+# Give basename for vtk output.
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.output]
+filename = axialdisp.vtk

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.spatialdb	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/axialdisp.spatialdb	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,45 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the boundary conditions for the axial
+// displacement example.
+
+// This follows the format for a Simple DB (the only type presently available).
+SimpleDB {
+
+  // There are 3 values specified in the database, corresponding to the
+  // constraint values for the x (dof-0), y (dof-1) and z (dof-2) degrees of
+  // freedom.
+  num-values = 3
+  value-names =  dof-0 dof-1 dof-2
+
+  // The constraint values (displacements) have units of meters.
+  value-units =  m  m  m
+
+  // The values are specified at two spatial locations.
+  num-locs = 2
+
+  // The dimension of the spatial distribution is 1, since data is being
+  // specified at points.
+  data-dim = 1
+
+  // The spatial dimension of the database is 3.
+  space-dim = 3
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 3D Cartesian coordinate system.
+    space-dim = 3
+  }
+}
+
+// This is where the data is specified.
+// As described in axialdisp.cfg, this database will be used to specify
+// data at a point (pylith.bc.BCSingle).
+// The entries are:
+// X-coord, Y-coord, Z-coord,  dof-0, dof-1, dof-2.
+-1.0  0.0  0.0  -0.01  0.0  0.0
+ 1.0  0.0  0.0   0.01  0.0  0.0

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation.cfg	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,99 @@
+# -*- Python -*-
+
+# The settings in this file (dislocation.cfg) will be read if it is
+# specified on the command line:
+# 'pylith dislocation.cfg'
+
+# If this file is given, the settings in this file will override all
+# others except for parameters specified directly on the command line.
+
+# These settings define an implicit problem using a fault with
+# kinematically-specified slip.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# Journal settings in addition to those given in 'pylithapp.cfg'
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+quadrature2d = 1
+faultcohesivekin = 1
+
+# ----------------------------------------------------------------------
+# problem
+# Specify the problem settings.
+# This is a time-dependent problem so we use that facility.
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+
+# We want an implicit formulation.
+formulation = pylith.problems.Implicit
+
+# This is a container for uniform boundary conditions.
+bc = pylith.bc.BCSingle
+
+# This is a container for a single fault.
+interfaces = pylith.faults.SingleFault
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# Provide information on the boundary conditions.
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.bc]
+
+# We are fixing the 0 (x), 1 (y), and 2 (z) degrees of freedom.
+fixed_dof = [0, 1, 2]
+
+# The nodes associated with this boundary condition have the name
+# 'end points' in the mesh file.
+label = end points
+
+# We are assigning the label 'Dirichlet BC' to the database.
+db.label = Dirichlet BC
+
+# The name of the file containing the spatial database for the BC
+# specification.
+db.iohandler.filename = dislocation_disp.spatialdb
+
+# ----------------------------------------------------------------------
+# faults
+# Provide information on the fault (interface).
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces]
+
+# This fault is a cohesive element fault with kinematically-specified slip.
+fault = pylith.faults.FaultCohesiveKin
+
+# Define fault properties.
+[pylithapp.timedependent.interfaces.fault]
+
+# The nodes associated with this fault have the name 'fault' in the mesh file.
+label = fault
+
+# We need the material database for the fault to properly condition the
+# system of equations.
+mat_db.iohandler.filename = matprops.spatialdb
+
+# The quadrature for a 3D fault is 2D.
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell.shape = triangle
+
+# Give the spatial databases specifying the fault slip.
+[pylithapp.timedependent.interfaces.fault.eq_src.slip_function]
+
+# Database specifying fault slip (0.01 m of left-lateral slip).
+slip.iohandler.filename = dislocation_slip.spatialdb
+
+# Database specifying fault slip rate (1.0e+6 m/s).
+slip_rate.iohandler.filename = dislocation_sliprate.spatialdb
+
+# Database specifying time at which fault slips (-1.0 s).
+slip_time.iohandler.filename = dislocation_sliptime.spatialdb
+
+# ----------------------------------------------------------------------
+# output
+# Give basename for vtk output.
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.output]
+filename = dislocation.vtk

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_disp.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_disp.spatialdb	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_disp.spatialdb	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,44 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the boundary conditions for the
+// dislocation (kinematic fault) example.
+
+// This follows the format for a Simple DB (the only type presently available).
+SimpleDB {
+
+  // There are 3 values specified in the database, corresponding to the
+  // constraint values for the x (dof-0), y (dof-1), and z (dof-2) degrees of
+  // freedom.
+  num-values = 3
+  value-names =  dof-0 dof-1 dof-2
+
+  // The constraint values (displacements) have units of meters.
+  value-units =  m  m  m
+
+  // The values are specified at one spatial location.
+  num-locs = 1
+
+  // The dimension of the spatial distribution is 0, since the data
+  // is uniform over the mesh.
+  data-dim = 0
+
+  // The spatial dimension of the database is 3.
+  space-dim = 3
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 3D Cartesian coordinate system.
+    space-dim = 3
+  }
+}
+
+// This is where the data is specified.
+// As described in dislocation.cfg, this database will be used to specify
+// data along an edge (pylith.bc.BCFourSides).
+// The entries are:
+// X-coord, Y-coord, Z-coord, dof-0, dof-1, dof-2.
+ 0.0  0.0  0.0     0.0  0.0  0.0

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_slip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_slip.spatialdb	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_slip.spatialdb	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,42 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the fault slip for the
+// dislocation (kinematic fault) example.
+SimpleDB {
+
+  // There are 3 values specified in the database, corresponding to the
+  // slip values for the left-lateral, reverse-slip, and fault-opening
+  // components.
+  num-values = 3
+  value-names =  left-lateral-slip reverse-slip  fault-opening
+
+  // The fault slip values have units of meters.
+  value-units =  m  m  m
+
+  // The values are specified at one spatial location.
+  num-locs = 1
+
+  // The dimension of the spatial distribution is 0, since the same data
+  // is specified for all points in the set.
+  data-dim = 0
+
+  // The spatial dimension of the database is 3.
+  space-dim = 3
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 3D Cartesian coordinate system.
+    space-dim = 3
+  }
+}
+
+// This is where the data is specified.
+// As described in dislocation.cfg, this database will be used to specify
+// uniform data for a fault (pylith.faults.SingleFault).
+// The entries are:
+// X-Coord, Y-Coord, Z-Coord, left-lateral slip, reverse-slip, fault-opening slip
+0.0  0.0  0.0   0.01  0.0  0.0

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliprate.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliprate.spatialdb	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliprate.spatialdb	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,41 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the fault slip rate for the
+// dislocation (kinematic fault) example.
+SimpleDB {
+
+  // There is one value specified in the database, corresponding to the
+  // slip rate.
+  num-values = 1
+  value-names =  slip-rate
+
+  // The fault slip rate has units of meters/second.
+  value-units =  m/s
+
+  // The value is specified at one spatial location.
+  num-locs = 1
+
+  // The dimension of the spatial distribution is 0, since the same data
+  // is specified for all points in the set.
+  data-dim = 0
+
+  // The spatial dimension of the database is 3.
+  space-dim = 3
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 3D Cartesian coordinate system.
+    space-dim = 3
+  }
+}
+
+// This is where the data is specified.
+// As described in dislocation.cfg, this database will be used to specify
+// uniform data for a fault (pylith.faults.SingleFault).
+// The entries are:
+// X-Coord, Y-Coord, Z-Coord,  slip rate
+0.0  0.0  0.0  1.0e+6

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliptime.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliptime.spatialdb	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/dislocation_sliptime.spatialdb	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,41 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the fault slip time for the
+// dislocation (kinematic fault) example.
+SimpleDB {
+
+  // There is one value specified in the database, corresponding to the
+  // time at which fault slip begins.
+  num-values = 1
+  value-names =  slip-time
+
+  // The fault slip time has units of meters.
+  value-units =  s
+
+  // The value is specified at one spatial location.
+  num-locs = 1
+
+  // The dimension of the spatial distribution is 0, since the same data
+  // is specified for all points in the set.
+  data-dim = 0
+
+  // The spatial dimension of the database is 3.
+  space-dim = 3
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 3D Cartesian coordinate system.
+    space-dim = 3
+  }
+}
+
+// This is where the data is specified.
+// As described in dislocation.cfg, this database will be used to specify
+// uniform data for a fault (pylith.faults.SingleFault).
+// The entries are:
+// X-Coord, Y-Coord, Z-Coord, slip time
+0.0  0.0  0.0   -1.0

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/matprops.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/matprops.spatialdb	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/matprops.spatialdb	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,46 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the material properties for all of the
+// examples in this directory.
+
+// This follows the format for a Simple DB (the only type presently available).
+SimpleDB {
+
+  // There are 4 values specified in the database, corresponding to density,
+  // S-velocity, P-velocity, and viscosity (values for shear modulus and Lame's
+  // constant are computed from the density and seismic velocities).
+  num-values = 4
+  value-names =  density vs vp viscosity
+
+  // These are the units used to specify density, vs, and vp.
+  value-units =  kg/m^3  m/s  m/s  Pa*s
+
+  // Values are only specified at a single point since they are constant
+  // throughout the mesh.
+  num-locs = 1
+
+  // The dimension of the spatial distribution is 0, since it is constant
+  // throughout the mesh.
+  data-dim = 0
+
+  // The spatial dimension of the database is 3.
+  space-dim = 3
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 3D Cartesian coordinate system.
+    space-dim = 3
+  }
+}
+// This is where the data is specified.
+// We only need to specify a single point, since the properties are uniform.
+// The values given here will give a shear modulus and Lame's constant both
+// equal to 30 GPa (Poisson's ratio = 0.25).
+// The entries are:
+// X-coord, Y-coord, density, Vs, Vp viscosity.
+
+0.0  0.0   2700.0  3333.333333333333  5773.502691896258  1.0e18

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/pylithapp.cfg	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,97 @@
+# -*- Python -*-
+
+# The settings in this file (pylithapp.cfg) will be read automatically
+# by pylith, as long as the file is placed in the run directory.
+
+# The settings in this file will override any settings in:
+# PREFIX/etc/pylithapp.cfg
+# $HOME/.pyre/pylithapp/pylithapp.cfg
+
+# The settings in this file will be overridden by any .cfg file given
+# on the command line or by any command line settings.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# The settings below turn on journal info for the specified components.
+# If you want less output to stdout, you can turn these off.
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+timedependent = 1
+explicit = 1
+implicit = 1
+petsc = 1
+solverlinear = 1
+meshioascii = 1
+homogeneous = 1
+implicitelasticity = 1
+quadrature2d = 1
+fiatsimplex = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# The settings below control the mesh generation (importing mesh info).
+# ----------------------------------------------------------------------
+# Turn on debugging output for mesh generation.
+[pylithapp.mesh_generator]
+debug = 1
+
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.importer]
+filename = twotet4.mesh
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# Specify the problem settings.
+# This is a time-dependent problem, so we select this as our problem type.
+# We select a total time of 1 sec, and a time step size of 1 sec, so we
+# are performing a single time step.
+# The spatial dimension for this problem is 2.
+# For an implicit formulation (using implicit.cfg), we will perform 1
+# implicit time step from t = -1.0 to t = 0.0 (elastic solution step).
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+total_time = 0.0*s
+default_dt = 1.0*s
+dimension = 3
+
+# ----------------------------------------------------------------------
+# materials
+# Specify the material information for the problem.
+# ----------------------------------------------------------------------
+# The material type is 3D isotropic Maxwell viscoelastic.
+[pylithapp.timedependent.materials]
+material = pylith.materials.MaxwellIsotropic3D
+
+[pylithapp.timedependent.materials.material]
+
+# We give a label of 'Maxwell viscoelastic material' to this material.
+label = Maxwell viscoelastic material
+
+# The cells associated with this material are given a material ID of 1
+# in the mesh file.
+id = 1
+
+# The properties for this material are given in the spatial database file
+# 'matprops.spatialdb'.
+db.iohandler.filename = matprops.spatialdb
+
+# We are doing 3D quadrature for a tetrahedron.
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell.shape = tetrahedron
+
+# ----------------------------------------------------------------------
+# PETSc
+# We are using all of the default settings for PETSc except for specifying
+# the Jacobi preconditioner.
+# Additional PETSc command-line arguments may be found in the PETSc
+# documentation.
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+pc_type = jacobi
+# start_in_debugger = true
+# debugger_timeout = 100

Added: short/3D/PyLith/trunk/examples/twocells/twotet4/twotet4.mesh
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twotet4/twotet4.mesh	2007-06-23 02:01:33 UTC (rev 7407)
+++ short/3D/PyLith/trunk/examples/twocells/twotet4/twotet4.mesh	2007-06-23 02:25:37 UTC (rev 7408)
@@ -0,0 +1,110 @@
+// Global mesh object.
+// This defines a mesh composed of two tetrahedral elements.
+mesh = {
+
+  // This is a 3D mesh.
+  dimension = 3
+
+  // We are using zero-indexing (default) rather than one-indexing.
+  use-index-zero = true
+
+  // Describe the vertices (nodes) defining the mesh.
+  vertices = {
+
+    // The vertices are defined in a 3D coordinate system.
+    dimension = 3
+
+    // There are 5 vertices.
+    count = 5
+
+    // List the coordinates as:
+    // Vertex number (starting from zero), x-coord, y-coord, z-coord
+    // Use coordinate units that are consistent with the other units used.
+    coordinates = {
+             0     -1.0  0.0  0.0
+             1      0.0 -1.0  0.0
+             2      0.0  0.0  1.0
+             3      0.0  1.0  0.0
+             4      1.0  0.0  0.0
+    }
+  }
+
+  // Describe the cells (elements) composing the mesh.
+  cells = {
+
+    // There are 2 cells.
+    count = 2
+
+    // These are linear tetrahedral cells, so there are 4 corners per cell.
+    num-corners = 4
+
+    // List the vertices composing each cell (see manual for ordering).
+    // List the information as:
+    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
+    simplices = {
+             0       1  2  3  0
+             1       1  3  2  4
+    }
+
+    // List the material ID's associated with each cell.
+    // Different ID's may be used to specify a different material type, or
+    // to use a different spatial database for each material ID.
+    // In this example, cells 0 and 1 both are associated with material ID 1.
+    material-ids = {
+             0   1
+             1   1
+    }
+  }
+
+  // Here we list different groups (cells or vertices) that we want to associate
+  // with a particular name (ID).
+
+  // This group of vertices may be used to define a fault.
+  // There are 3 vertices corresponding to indices 1, 2 and 3.
+  group = {
+    name = fault
+    type = vertices
+    count = 3
+    indices = {
+      1
+      2
+      3
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 0 and 4.
+  group = {
+    name = end points
+    type = vertices
+    count = 2
+    indices = {
+      0
+      4
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 0, 1.
+  group = {
+    name = edge 1
+    type = vertices
+    count = 2
+    indices = {
+      0
+      1
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 2, 4.
+  group = {
+    name = edge 1
+    type = vertices
+    count = 2
+    indices = {
+      2
+      4
+    }
+  }
+}



More information about the cig-commits mailing list