[cig-commits] r6162 - short/3D/PyLith/trunk
brad at geodynamics.org
brad at geodynamics.org
Fri Mar 2 11:58:42 PST 2007
Author: brad
Date: 2007-03-02 11:58:42 -0800 (Fri, 02 Mar 2007)
New Revision: 6162
Modified:
short/3D/PyLith/trunk/TODO
Log:
Added list of stuff we need Sieve to do.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2007-03-02 19:06:27 UTC (rev 6161)
+++ short/3D/PyLith/trunk/TODO 2007-03-02 19:58:42 UTC (rev 6162)
@@ -1,9 +1,10 @@
-MAIN PRIORITIES
+======================================================================
+MAIN PRIORITIES (Brad)
+======================================================================
0. Create element families for materials.
a. Move quadrature component from Integrator to Material?
- [Integrator will hold quadrature; user configures quadrature w/material]
- [DONE]
+ [Integrator will hold material; user configures quadrature w/material]
b. In Formulation?, create an integrator for each "material"
[IN PROGRESS]
c. C++ Material (1 per element family)
@@ -36,7 +37,9 @@
PETSc from Python. May be easier to include in higher-level unit
test.
+======================================================================
SECONDARY PRIORITIES
+======================================================================
1. Implement MeshIOHDF5 & HDF5
a. C++ objects
@@ -52,14 +55,77 @@
c. bindings
d. unit tests at Python level
+======================================================================
UNRESOLVED ISSUES
+======================================================================
-1. Integration of nemesis (pylithic.py as mpi/python application)
+1. Integration of nemesis (pylithic.py as mpi/python application) [Leif?]
-QUESTIONS FOR MATT
+======================================================================
+THINGS WE NEED SIEVE TO DO (Matt)
+======================================================================
-1. How do we create element families?
- b. How do we create boundary conditions given group of vertices
- (list of labels of vertices) corresponding to vertices associated
- with faces? Note: this is unique if we don't allow groups to have
- multiple faces per element, which should be okay.
+1. Create PETSc mesh with associated boundary condition meshes.
+
+ In general we can only rely on mesh generators to provide vertices,
+ cells, attributes for vertices and cells (i.e., one value for each
+ vertex or cell), and groups of vertices and cells. As a result,
+ boundary conditions would be associated with groups of
+ vertices. This is nonunique if we require users to not allow
+ multiple surfaces be associated with a single group of vertices. In
+ other words, there is a unique set of faces for a group of
+ vertices. For our boundary conditions we will want the N-1 dimension
+ (where the mesh is N dimensions) representation of a subset of the
+ mesh (i.e., 2-D mesh of fault surface).
+
+ Inputs:
+ * PETSc mesh
+ * Group of vertices
+ Outputs:
+ * PETSc mesh with bc mesh
+
+ Note: Above would be repeated for each group of vertices.
+
+2. Create cohesive cells.
+
+ Inputs:
+ * PETSc mesh
+ * Surface meshes defining faults
+ Output:
+ * PETSc mesh with cohesive cells.
+
+ Note: Not sure whether this would be done with global or distributed mesh.
+
+3. Distribute mesh/bc in scalable manner.
+
+ Inputs:
+ * PETSc Mesh (with bc) (global on each processor)
+ * number of processors
+ Outputs:
+ * PETSc Mesh on each processor (restricted to processor)
+
+ Note: Called from topology.Mesh.py (need Python bindings for Sieve function).
+
+4. Global refinement of mesh.
+
+ Inputs:
+ * PETSc Mesh (original)
+ * refinement factor (limited to factor of 2?)
+ Outputs:
+ * PETSc Mesh (refined)
+
+5. Construct mesh with higher order cells from mesh with lower order cells.
+
+ Many mesh generators do not know how to construct higher order
+ elements, so we will need a general utility for doing this.
+
+ Inputs:
+ * PETSc Mesh
+ * some sort of map (Python object) defining how to construct
+ higher order reference cell from lower order reference cell.
+ Output:
+ * PETSc Mesh
+
+ Note: I think this would give us incredible flexibility in selecting
+ the appropriate discretization for a problem. For example, I think
+ it would allow us to use spectral elements.
More information about the cig-commits
mailing list