~njansson/dolfin/hpc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
This list functions as a project plan for the development of DOLFIN.

It works as follows: Pick something from the list, notify one of the
maintainers that you're working on it. When a task is done, it will
be deleted from this list and moved to the ChangeLog.

Ideally, each task should be assigned to a developer, including an
estimate of when the task should be ready.

Send suggestions, comments, and corrections to dolfin@fenics.org.

Assembly
--------

* Use MatSetOption(A, MAT_ROWS_SORTED), MatSetOption(A, MAT_COLUMNS_SORTED)?
* Use MatSetOption(A, MAT_USE_HASH_TABLE)?
* Make two forms share the same map and only update the map
* Update DOLFIN with latest output from FFC
* Compute number of nonzeros before assembly
* Boundary conditions for other than linear elements
* Parallel assembly

Mesh
----

* Make MeshInit sort nodes locally
* Speed up uniform mesh refinement
* Optimize mesh refinement
o [jj] Schema for mesh XML format
* Connectivity, automate computation of all 16 connections
* Geometry representation, including boundaries
* Mesh generation using triangle or tetgen?
* Clean up iterators?
* Seems to be something wrong with trimesh-32.xml.gz

Linear Algebra
--------------

o [jj] Add wrapper for PETSc preconditioners
* Cleanup and PETSc linear algebra wrappers


Function
--------

o [hoffman, jj, logg] General function representations
* Optimize NewFunction::project()
* Fix NewFunction for vector valued functions

Input/Output
------------

* Save edges in MATLAB format

Multi-adaptive solver
---------------------

o [jj, logg] Is Newton working correctly for high-order methods?
o [jj, logg] Save solution for new solver
o [jj, logg] Implement preconditioner for multi-adaptive Newton
o [jj, logg] Save dual solution backwards
o [jj, logg] Error estimates
o [jj, logg] Automatic computation of stability factors as function of time T
o [jj, logg] Use two files for matlab format

Modules
-------

* Move all modules to new format
o [hoffman] Navier-Stokes module
o [harald] Euler module?
o [foufas] Finance module?

General
-------

* Add complex to LogStream
* Replace ::show() with ::disp() for all classes
* Replace unsigned int and int with uint when possible
* Replace Array and List with NewArray and NewList everywhere
* Use libtool?
* Cleanup Parameter and ParameterList
* Update manual
* Replace stdio with iostream and fstream
* Fix setprecision() for cout
* Use symbolic links for meshes, see example src/demo/fem
* Automatically load parameters from dolfin.xml
* Collect diagnostic and error messages into one file? Translations?

Some suggestions for PETSc
--------------------------

Use namespaces, don't define macros like restrict which prevents
users of PETSc to declare functions with that name.