Mercurial > repos > public > sbplib_julia
comparison Notes.md @ 875:067a322e4f73 laplace_benchmarks
Merge with feature/laplace_opset
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 27 Jan 2022 10:55:08 +0100 |
parents | 1784b1c0af3e |
children | f885e1de6dc4 1ba8a398af9c |
comparison
equal
deleted
inserted
replaced
874:7e9ebd572deb | 875:067a322e4f73 |
---|---|
51 implemented through keyword arguments that are sent through all the layers of | 51 implemented through keyword arguments that are sent through all the layers of |
52 operator creation. | 52 operator creation. |
53 | 53 |
54 * Remove order as a table name and put it as a variable. | 54 * Remove order as a table name and put it as a variable. |
55 | 55 |
56 ### Parsing of stencil sets | |
57 At the moment the only parsing that can be done at the top level is conversion | |
58 from the toml file to a dict of strings. This forces the user to dig through | |
59 the dictionary and apply the correct parsing methods for the different parts, | |
60 e.g. `parse_stencil` or `parse_tuple`. While very flexible there is a tight | |
61 coupling between what is written in the file and what code is run to make data | |
62 in the file usable. While this coupling is hard to avoid it should be made | |
63 explicit. This could be done by putting a reference to a parsing function in | |
64 the operator-storage format or somehow specifying the type of each object. | |
65 This mechanism should be extensible without changing the package. Perhaps | |
66 there could be a way to register parsing functions or object types for the | |
67 toml. | |
68 | |
69 If possible the goal should be for the parsing to get all the way to the | |
70 stencils so that a user calls `read_stencil_set` and gets a | |
71 dictionary-structure containing stencils, tuples, scalars and other types | |
72 ready for input to the methods creating the operators. | |
56 | 73 |
57 ## Variable second derivative | 74 ## Variable second derivative |
58 | 75 |
59 2020-12-08 after discussion with Vidar: | 76 2020-12-08 after discussion with Vidar: |
60 We will have to handle the variable second derivative in a new variant of | 77 We will have to handle the variable second derivative in a new variant of |
319 We should make these test simple to run for any solver. | 336 We should make these test simple to run for any solver. |
320 | 337 |
321 See [this talk](https://www.youtube.com/watch?v=vPsfZUqI4_0) for some simple ideas for defining effecive memory usage and some comparison with peak performance. | 338 See [this talk](https://www.youtube.com/watch?v=vPsfZUqI4_0) for some simple ideas for defining effecive memory usage and some comparison with peak performance. |
322 | 339 |
323 | 340 |
341 ## Adjoint as a trait on the sbp_operator level? | |
342 | |
343 It would be nice to have a way of refering to adjoints with resepct to the sbp-inner-product. | |
344 If it was possible you could reduce the number of times you have to deal with the inner product matrix. | |
345 | |
346 Since the LazyOperators package is sort of implementing matrix-free matrices there is no concept of inner products there at the moment. It seems to complicate large parts of the package if this was included there. | |
347 | |
348 A different approach would be to include it as a trait for operators so that you can specify what the adjoint for that operator is. | |
349 | |
350 | |
351 ## Name of the `VolumeOperator` type for constant stencils | |
352 It seems that the name is too general. The name of the method `volume_operator` makes sense. It should return different types of `TensorMapping` specialized for the grid. A suggetion for a better name is `ConstantStencilVolumeOperator` |