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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1222
5f677cd6f0b6 Start refactoring
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 # Grids refactor
5f677cd6f0b6 Start refactoring
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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
1157f889bf50 Clear out some TBDs
Jonatan Werpers <jonatan@werpers.com>
parents: 1277
diff changeset
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
6753b210d0ab Add todos
Jonatan Werpers <jonatan@werpers.com>
parents: 1287
diff changeset
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
6753b210d0ab Add todos
Jonatan Werpers <jonatan@werpers.com>
parents: 1287
diff changeset
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
5f677cd6f0b6 Start refactoring
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 ## Frågor
5f677cd6f0b6 Start refactoring
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
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.