| 1 | Externalpackages: out into astrid-r1b |
| 2 | |
| 3 | Get a wiki together. OpenAD. Get ISSM website together. |
| 4 | https://trac.mcs.anl.gov/projects/ADIC/wiki/ADIC/ISSM |
| 5 | |
| 6 | Switch to metis 5.0 |
| 7 | |
| 8 | == Hard stuff: == |
| 9 | wrap MatSetValues and MatAssembly into one routine. |
| 10 | To do so, store Ke matrices into elements, do not add to global. |
| 11 | Once all the Ke are built, loop through them and do all the MatSetValues |
| 12 | at once, followed by MatAssembly. |
| 13 | Do the same for VecSet and VecAssembly. |
| 14 | |
| 15 | Wrap all Petsc data types Matrix and Vector objects, and map all operations |
| 16 | onto these new objects. Make this preprocessable for configuration using autotools. |
| 17 | We will probably duplicate data, ex: |
| 18 | |
| 19 | Matrix{ |
| 20 | ifdef PETSC_WRAPPER |
| 21 | Mat pmatrix; |
| 22 | endif |
| 23 | ifdef DOUBLE_WRAPPER |
| 24 | double* pmatrix; |
| 25 | endif |
| 26 | adouble* amatrix; |
| 27 | } |
| 28 | |
| 29 | amatrix will be used in adolc. pmatrix will be used in Petsc routines. Matrix will |
| 30 | have routines to map one into the other. |
| 31 | |
| 32 | == Ad: == |
| 33 | Eric: |
| 34 | Create ISSM namespace. |
| 35 | Make Matrix Assembly one homogeneous block. |
| 36 | Make Validation suite for Jean for his prognostic capabilities. |
| 37 | Jean: |
| 38 | typedef all double to ISSM_DOUBLE |
| 39 | |
| 40 | Create an alloc layer with template functions for new and delete. |
| 41 | Check that the new code is modular --without-kml, options are up to date. |
| 42 | |
| 43 | Replace memcpy, realloc with x layers. Replace all calls to malloc and free in the code. |
| 44 | |
| 45 | == Questions: == |
| 46 | set of active IssmDouble variables different from set of independent variables activated with <<=? |
| 47 | same thing dependent variables? |