- 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: {{{ #!c 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?