Index: sm/trunk-jpl/src/ad/todo
===================================================================
--- /issm/trunk-jpl/src/ad/todo	(revision 18051)
+++ 	(revision )
@@ -1,65 +1,0 @@
-Externalpackages: out into astrid-r1b
-
-Get a wiki together. OpenAD. Get ISSM website together.
-https://trac.mcs.anl.gov/projects/ADIC/wiki/ADIC/ISSM
-
-Switch to metis 5.0
-
-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.
-
-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.
-
-
-Ad: 
-Eric: 
-Create ISSM namespace.
-Make Matrix Assembly one homogeneous block.
-Make Validation suite for Jean for his prognostic capabilities.
-Jean: 
-typedef all double to ISSM_DOUBLE 
-
-Create an alloc layer with template functions for new and delete.
-Check that the new code  is modular --without-kml, options are up to date.
-
-Replace memcpy, realloc with x layers.  Replace all calls to malloc and free in the code.
-
-
-
-Questions: 
-set of active IssmDouble variables different from set of independent variables activated with <<=? 
-same thing dependent variables? 
-
-
-
-Bullet points: 
-- nightly run on with adolc compiled, running from test2000 on.  once a day.
-- run valgrind on new adolc or old adolc. send a text on how to run it. 
-- make gdb wrapper.
-- think about ModelProcessor setup. need to keep track, before we partition, on cpu 0, of the independent declarations. 
-
-
-MPI: what's missing that equivalent of MPI.h -> no well defined api.  
-What's exposed is the internals of it.
-
-Wanted to look at changing the way for the matrices and vertices would be implemented.
-
Index: sm/trunk-jpl/src/ad/wrappers.txt
===================================================================
--- /issm/trunk-jpl/src/ad/wrappers.txt	(revision 18051)
+++ 	(revision )
@@ -1,146 +1,0 @@
-A typical prognostic solution calls the following routines: 
-
-		femmodel->SetCurrentConfiguration
-		femmodel->parameters->FindParam
-
-		solver_linear
-				femmodel->parameters->FindParam
-				UpdateConstraintsx
-						parameters->FindParam
-						SpcNodesx
-								constraint->ConstrainNode(nodes,parameters);
-						NodesDofx
-								nodes->NumberOfNodes
-										MPI_Allreduce 
-								nodes->FlagClones
-										this->NumberOfNodes
-										Ranks
-										MPI_Allreduce 
-										node->SetClone
-								nodes->DistributeDofs
-										node->InAnalysis
-										node->DistributeDofs
-										MPI_Gather
-										MPI_Bcast
-										node->OffsetDofs
-										this->MaxNumDofs
-										this->NumberOfNodes
-										node->ShowTrueDofs
-										MPI_Allreduce 
-										node->UpdateCloneDofs
-				SystemMatricesx
-						parameters->FindParam
-						nodes->NumberOfDofs
-						nodes->MaxNumDofs
-						NewMat
-						NewVec
-						element->CreateKMatrix
-						element->CreatePVector
-						load->CreateKMatrix
-						load->CreatePVector
-						MatAssemblyBegin
-						MatAssemblyEnd
-						MatCompress
-						VecAssemblyBegin
-						VecAssemblyEnd
-						MatNorm
-			CreateNodalConstraintsx
-						nodes->NumberOfDofs
-						ys=NewVec
-						node->CreateNodalConstraints
-						VecAssemblyBegin
-						VecAssemblyEnd
-			Reduceloadx
-						MatGetSize
-						MatGetLocalSize
-						NewVec
-						VecDuplicate
-						VecSet
-						VecAssemblyBegin
-						VecAssemblyEnd
-						MatMultPatch
-						MatMultPatch
-						VecAXPY(pf,a,Kfsy_s);  
-						VecFree
-			Solverx
-						MatGetSize
-						PetscOptionsGetString
-						VecDuplicate
-						MatGetLocalSize
-						PetscOptionsDetermineSolverType
-						MatConvert
-						KSPCreate
-						KSPSetOperators
-						KSPSetFromOptions
-						KSPGetPC
-						PCFactorSetMatSolverPackage
-						KSPSolve
-						KSPGetIterationNumber
-						KSPFree
-			Mergesolutionfromftogx
-						parameters->FindParam
-						nodes->NumberOfDofs
-						VecSet(ys,0.0);
-						NewVec
-						VecMergex
-						VecMergex
-			InputUpdateFromSolutionx
-						VecToMPISerial
-						InputUpdateFromSolutionx
-						element->InputUpdateFromSolution
-			VecFree
-
-		InputToResultx
-						element->InputToResult(enum_type,step,time);
-
-
-
-
-
-The resulting MPI routines that are called are the following: 
-
-MPI_Allreduce 
-MPI_Allreduce 
-MPI_Gather
-MPI_Bcast
-MPI_Allreduce 
-
-The resulting PETSC routines that are called are the following:
-
-MatAssemblyBegin
-MatAssemblyEnd
-MatSetValues
-MatCompress
-MatNorm
-MatGetSize
-MatGetLocalSize
-MatConvert
-
-VecDuplicate
-VecSet
-VecAssemblyBegin
-VecAssemblyEnd
-VecAXPY
-
-KSPCreate
-KSPSetOperators
-KSPSetFromOptions
-KSPGetPC
-KSPSetUp
-KSPSolve
-KSPGetIterationNumber
-PCFactorSetMatSolverPackage
-VecSet
-
-
-The resulting routines are wrappers to PETSC routines, with essentially a PETSC flavor to it: 
-
-NewMat
-NewVec
-MatMultPatch
-PetscOptionsGetString
-PetscOptionsDetermineSolverType
-VecMergex
-VecToMPISerial
-VecFree
-KSPFree
