comparison grid_refactor.md @ 1343:fa3695f634de refactor/grids

More clean up of todos and notes
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 15 May 2023 22:37:33 +0200
parents c0c1189c5f2e
children c2012db881cb
comparison
equal deleted inserted replaced
1342:c0c1189c5f2e 1343:fa3695f634de
1 # Grids refactor 1 # Grids refactor
2
3 ## Goals before merging
4 * A somewhat clear path towards multi-block grids and their grid functions.
5 * A somewhat clear path towards implementations of div() and rot() or the elastic operator (See Notes.md)
6 2
7 ## Change summary 3 ## Change summary
8 * `EquidistantGrid` is now only a 1D thing. 4 * `EquidistantGrid` is now only a 1D thing.
9 * Higher dimensions are supported through `TensorGrid`. 5 * Higher dimensions are supported through `TensorGrid`.
10 * The old behavior of `EquidistantGrid` has been moved to the function `equidistant_grid`. 6 * The old behavior of `EquidistantGrid` has been moved to the function `equidistant_grid`.
11 * Grids embedded in higher dimensions are now supported through tensor products with `ZeroDimGrid`s. 7 * Grids embedded in higher dimensions are now supported through tensor products with `ZeroDimGrid`s.
12 * Vector valued grid functions are now supported and the default element type is `SVector`. 8 * Vector valued grid functions are now supported and the default element type is `SVector`.
13 * Grids are now expected to support Julia's indexing and iteration interface. 9 * Grids are now expected to support Julia's indexing and iteration interface.
14 * `eval_on` can be called with both `f(x,y,...)` and `f(x̄)`. 10 * `eval_on` can be called with both `f(x,y,...)` and `f(x̄)`.
15 11
16
17 ## TODO 12 ## TODO
18 * Add benchmarks or allocation tests for eval_on and indexing grids.
19 * Add benchmarks for range type in EquidistantGrid. (LinRange vs StepRange)
20 * Write about the design choices in the docs.
21 * Merge and run benchmarks
22
23 * Clean out Notes.md of any solved issues 13 * Clean out Notes.md of any solved issues
24 * Delete this document, move remaining notes to Notes.md 14 * Delete this document, move remaining notes to Notes.md
25
26 ## Frågor
27
28 ### Implement the tensor product operator for grids?
29 Yes!
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.