~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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
This is the old TODO list for DOLFIN.

Items on the TODO list is currently being moved to the FEniCS Bugzilla
database and should be flagged as "enhancement" if they are not bugs.

When this file is empty, we should remove it.

----------------------------------------------------------------------


Manual
------

* Fix incomplete sections
* Write section on coding style

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
* Compute number of nonzeros before assembly
* Parallel assembly

Mesh
----

o [jj] Schema for mesh XML format
* Geometry representation, including boundaries
* Mesh generation using triangle or tetgen?
* Seems to be something wrong with trimesh-32.xml.gz
* Compute normals of edges

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

Function
--------

* Input/output for time-series

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

* Improve script dolfin-convert
* Save edges in MATLAB format

Solvers
-------

ODE solvers
-----------

o [jj, logg] Enable use of direct solver for linear system
o [jj, logg] Is Newton working correctly for high-order methods?
o [jj, logg] Save solution for new solver
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
-------

* Adaptivity

Parameters
----------

o Load default parameters from file
o Add function to display all parameters

General
-------

* Remove target install from simple makefiles

* Write FAQ and put on web page:

  Q: What does DOLFIN mean?
  A: Dynamic Object-oriented Library for FINite element computation.

  Q: Is it fast?
  A: Yes.

  Q: Can I help?
  A: Yes.

* New repository dolfin-contrib?
* Replace unsigned int and int with uint when possible
* Replace stdio with iostream and fstream
* Fix setprecision() for cout
* Use symbolic links for meshes, see example src/demo/fem
* 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.

Dependencies
------------

Required
* Boost
* libxml2
* pkg-config

Optional
* PETSc
* FFC
* FIAT
* Hypre (through PETSc)
* UMFPACK
* curses

Postprocessing
* SciPy
* ParaView
* MayaVi