Index: /issm/trunk-jpl/src/ad/todo
===================================================================
--- /issm/trunk-jpl/src/ad/todo	(revision 11119)
+++ /issm/trunk-jpl/src/ad/todo	(revision 11120)
@@ -6,8 +6,25 @@
 Switch to metis 5.0
 
-Wrap MatSet and MatAssembly.
-Wrapper around Petsc data types and Petsc calls to separate derivative data 
-and normal data understood by Petsc.
+Hard stuff: 
+wrap MatSetValues and MatAssembly into one routine. 
+To do so, store Ke matrices into elements, do not add to global. 
+Once all the Ke are built, loop through them and do all the MatSetValues
+at once, followed by MatAssembly. 
+Do the same for VecSet and VecAssembly.
 
-Preprocessing configuration of the data type wrappers to petsc or adouble or double* 
+Wrap all Petsc data types Matrix and Vector objects, and map all operations 
+onto these new objects.  Make this preprocessable for configuration using autotools.
+We will probably duplicate data, ex: 
 
+Matrix{
+	ifdef  PETSC_WRAPPER
+	Mat pmatrix; 
+	endif
+	ifdef  DOUBLE_WRAPPER
+	double* pmatrix; 
+	endif
+	adouble* amatrix;
+}
+
+amatrix will be used in adolc. pmatrix will be used in Petsc routines. Matrix will 
+have routines to map one into the other.
