Mercurial > repos > public > sbplib_julia
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. |