Mercurial > repos > public > sbplib_julia
view TODO.md @ 312:c1fcc35e19cb
Make Laplace consist of tuples of SecondDerivatives. Begin cleanup of functionallity which should be moved to separate files. WIP
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Wed, 09 Sep 2020 21:18:28 +0200 |
parents | 81e8968e222c |
children | 0c8d4a734c4f |
line wrap: on
line source
# TODO ## Skämskudde - [ ] Ändra namn på variabler och funktioner så att det följer style-guide - [ ] Skriv tester ## Coding - [ ] Add new Laplace opertor to DiffOps, probably named WaveEqOp(?!!?) - [ ] Add 1D operators (D1, D2, e, d ... ) as TensorOperators - [ ] Create a struct that bundles the necessary Tensor operators for solving the wave equation. - [ ] Use traits like IndexStyle, IndexLinear, IndexCartesian to differentiate TensorMappings that are flexible in size and those that are fixed in size - [ ] Use traits for symmetric tensor mappings such that apply_transpoe = apply for all such mappings - [x] Move Laplace tensor operator to different package - [x] Remove grid as a property of the Laplace tensor operator - [ ] Update how dependencies are handled for tests. This was updated in Julia v1.2 and would allow us to use test specific dev packages. ## Reasearch and thinking - [ ] Redo all Tensor applys to take Vararg instead of tuple of Index? Have we been down that road before? Is there any reason not to do this? - [ ] Check how the native julia doc generator works - [ ] Check if Vidars design docs fit in there - [ ] Formalize how range_size() and domain_size() are supposed to work in TensorMappings where dim(domain) != dim(range) (add tests or document) - [x] Should there be some kind of collection struct for SBP operators (as TensorOperators), providing easy access to all parts (D2, e, d , -> YES! H.. H_gamma etc.) - [x] Is "missing" a good value for unknown dimension sizes (of `e*g` for example) - [ ] Create a macro @lazy which replaces a binary op (+,-) by its lazy equivalent? Would be a neat way to indicate which evaluations are lazy without cluttering/confusing with special characters. # Wrap up task - [ ] Kolla att vi har @inbounds och @propagate_inbounds på rätt ställen - [ ] Kolla att vi gör boundschecks överallt och att de är markerade med @boundscheck - [ ] Kolla att vi har @inline på rätt ställen - [ ] Profilera # Old stuff todos (Are these still relevant?) Borde det finns motsvarande apply_stencil för apply_quadrature, apply_boundary_value och apply_normal_derivative? Borde man alltid skicka in N som parameter i apply_2nd_derivative, t.ex som i apply_quadrature? Just nu agerar apply_normal_derivative, apply_boundary_value på inte på v som en vektor, utan randvärdet plockas ut utanför. Känns inte konsistent med övrig design Specificera operatorer i TOML eller något liknande?