wiki:ADtodo

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?
Last modified 12 years ago Last modified on 08/16/12 10:37:08
Note: See TracWiki for help on using the wiki.