-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
44 lines (37 loc) · 1.96 KB
/
TODO
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
known bugs:
* Using normalized test and trial spaces in the uniform grid version
of ASTI does not work, as it would need to use different spaces
for different directions.
* When calling the update() method of normalized spaces, we do not
update the gridviews associated with the GridViewFunctions in the
coefficients of the inner product that handles the normalization.
That is not a problem for constant or piecewise constant coefficients
but might lead to wrong evaluations for other GridViewFunctions.
* src/kernel_svds.cc does not work for non-wavelet kernels due to
changes in the scattering kernel functions.
janitorial tasks:
* ASTI: check that I handle the RHS correctly.
IIRC I handle scattering, bv, rhs etc all in one vector
represented in the test space basis. This probably has to change.
We might need to handle it in two different vectors represented in
different bases.
potential performance improvements:
* Using the Eigen::Map wrapper around Dune's matrix and vector classes
might spare us some temporary copies in the Cholesky decomposition
and in the wavelet code.
We need however to check that Map works with vectors of FieldVectors.
proposed features:
* Implement a multi-grid preconditioner so that we can replace the
UMFPACK solver with a CG solver.
See e.g. Roberts and Chan 2017
* In the ASTI code we can currently only use scattering kernels that
are uniform in space. For more complex benchmark problems it would be
useful if we could use different scattering kernels in different
regions of the spatial domain.
* The current interface of refined spaces, introduced in commit
bd31710ea5390cfed3c423cf150d9ee475880015, is really ugly and could
probably improved by creating a new class SubElementLocalView
used for objects that get generated by the localView. This way the
localView is only bound to an element and can be a const reference
again, while the SubElementLocalView handles all the subelement
specific stuff.