Mercurial > repos > public > sbplib_julia
annotate grid_refactor.md @ 1342:c0c1189c5f2e refactor/grids
Clean up grid_refactor.md
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 12 May 2023 15:50:09 +0200 |
parents | 5761f4060f2b |
children | fa3695f634de |
rev | line source |
---|---|
1222 | 1 # Grids refactor |
2 | |
1277
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
3 ## Goals before merging |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
4 * A somewhat clear path towards multi-block grids and their grid functions. |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
5 * A somewhat clear path towards implementations of div() and rot() or the elastic operator (See Notes.md) |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
6 |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
7 ## Change summary |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
8 * `EquidistantGrid` is now only a 1D thing. |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
9 * Higher dimensions are supported through `TensorGrid`. |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
10 * The old behavior of `EquidistantGrid` has been moved to the function `equidistant_grid`. |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
11 * Grids embedded in higher dimensions are now supported through tensor products with `ZeroDimGrid`s. |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
12 * Vector valued grid functions are now supported and the default element type is `SVector`. |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
13 * Grids are now expected to support Julia's indexing and iteration interface. |
1279 | 14 * `eval_on` can be called with both `f(x,y,...)` and `f(x̄)`. |
1277
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
15 |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
16 |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
17 ## TODO |
1292 | 18 * Add benchmarks or allocation tests for eval_on and indexing grids. |
1335
cca45af5e724
Some docs for EquidistantGrid
Jonatan Werpers <jonatan@werpers.com>
parents:
1329
diff
changeset
|
19 * Add benchmarks for range type in EquidistantGrid. (LinRange vs StepRange) |
1325
797b4ee51edf
Add todo and update manifests
Jonatan Werpers <jonatan@werpers.com>
parents:
1292
diff
changeset
|
20 * Write about the design choices in the docs. |
1292 | 21 * Merge and run benchmarks |
1277
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
22 |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
23 * Clean out Notes.md of any solved issues |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
24 * Delete this document, move remaining notes to Notes.md |
79647b60a73b
Add and delete notes
Jonatan Werpers <jonatan@werpers.com>
parents:
1275
diff
changeset
|
25 |
1222 | 26 ## Frågor |
27 | |
1342
c0c1189c5f2e
Clean up grid_refactor.md
Jonatan Werpers <jonatan@werpers.com>
parents:
1341
diff
changeset
|
28 ### Implement the tensor product operator for grids? |
c0c1189c5f2e
Clean up grid_refactor.md
Jonatan Werpers <jonatan@werpers.com>
parents:
1341
diff
changeset
|
29 Yes! |
c0c1189c5f2e
Clean up grid_refactor.md
Jonatan Werpers <jonatan@werpers.com>
parents:
1341
diff
changeset
|
30 This could be a useful way to create grids with mixes of different kinds of 1d grids. An example could be a grid which is periodic in one direction and bounded in one. |