[cig-commits] r18020 - in short/3D/PyLith/trunk: . libsrc/problems

brad at geodynamics.org brad at geodynamics.org
Thu Mar 3 11:20:56 PST 2011


Author: brad
Date: 2011-03-03 11:20:56 -0800 (Thu, 03 Mar 2011)
New Revision: 18020

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc
Log:
Upadted TODO.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2011-03-03 18:54:07 UTC (rev 18019)
+++ short/3D/PyLith/trunk/TODO	2011-03-03 19:20:56 UTC (rev 18020)
@@ -2,35 +2,53 @@
 CURRENT ISSUES/PRIORITIES (1.6.0)
 ======================================================================
 
-* Memory model
+* Memory model [MATT and BRAD]
 
-  Memory is not being tracked for distribution.
+  (1) The memory logging for distribution logs Creation and Stratification
+  as Creation. Because we set the logging stages in PyLith and these
+  are lumped together within the same Sieve routine, we cannot
+  separate them.
 
-* GenMaxwellQpQs
+  (2) When we deallocate the distributed mesh, we do not deallocate all of
+  the memory. This suggests some object is leaking memory.
 
-  How to define viscosity and combinations?????
+  (3) The memory used by the distributed mesh is much greater than
+  that predicted by the memory model. MATT- Could this be related to
+  each processor having lots of gaps in the range of cells and
+  vertices it has?
 
-* Fault preconditioner
+* Field split with nonlinear solver [MATT]
 
-  FaultCohesiveLagrange::calcPreconditioner() [need unit test]
+  The custom preconditioner is not being used in the nonlinear
+  solve. The error appears to be in SolverNonlinear.cc::solve where we
+  set the KSP operator. The _precondMatrix in SolverNonlinear::solve
+  matches the one used in the linear solve.
 
-  propagate use of field split from SolverLinear to SolverNonlinear [MATT]
-    custom fault preconditioner is not being computed
-
 * Unform global refinement
 
   hex8, level 2 [Need to update overlap]
 
-* Output to HDF5 files.
+* Output to HDF5 files. [BRAD and MATT]
 
-    Add time dataset to vertex_fields and cell_fields.
+  (1) The PETSc Vec is not created correctly for DirichletBC. If the
+  x-dof is fixed the unconstrained (y-dof) values end up in the x-dof
+  with zeros for the y-dof, the opposite of the correct behavior.
 
-    Add creation of .xmf metadata file for ParaView/Visit. 
-    Will this work for [#timesteps, #points, fiberDim]?
+  (2) Add time dataset to vertex_fields and cell_fields. [BRAD]
 
+  (3) Add creation of .xmf metadata file for ParaView/Visit.  [BRAD]
 
-* Reimplement Fields to use a single section.
 
+* Fault preconditioner [BRAD]
+
+  FaultCohesiveLagrange::calcPreconditioner() [need unit test]
+
+* GenMaxwellQpQs [BRAD]
+
+  Need to redo Maxwell time calculation. Use ratio.
+
+* Reimplement Fields to use a single section. [BRAD]
+
     Fields
     FieldsNew -> CombinedFields
     SolutionFields

Modified: short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc	2011-03-03 18:54:07 UTC (rev 18019)
+++ short/3D/PyLith/trunk/libsrc/problems/SolverNonlinear.cc	2011-03-03 19:20:56 UTC (rev 18020)
@@ -167,6 +167,12 @@
     err = PCFieldSplitGetSubKSP(pc, &num, &ksps); CHECK_PETSC_ERROR(err);
     assert(solutionSection->getNumSpaces() == num);
 
+#if 0 // debugging
+    std::cout << "Preconditioner Matrix" << std::endl;
+    MatView(_precondMatrix, PETSC_VIEWER_STDOUT_WORLD);
+#endif
+
+
     MatStructure flag;
     err = KSPGetOperators(ksps[num-1], &A, 
 			  PETSC_NULL, &flag); CHECK_PETSC_ERROR(err);



More information about the CIG-COMMITS mailing list