wiki:ADtodo

Version 1 (modified by Mathieu Morlighem, 13 years ago) ( diff )

--

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?

Note: See TracWiki for help on using the wiki.