comparison Notes.md @ 1643:e551fe1fff14

More notes on operator representations
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 26 Jun 2024 10:20:32 +0200
parents 8141c184cc2f
children 3714a391545a
comparison
equal deleted inserted replaced
1638:14eb0ce96147 1643:e551fe1fff14
18 difference_operator(::Laplace, grid, stencil_set) = ... # Returns a plain LazyTensor. Replaces the current `laplace()` function. 18 difference_operator(::Laplace, grid, stencil_set) = ... # Returns a plain LazyTensor. Replaces the current `laplace()` function.
19 sat_tensors(::Laplace, grid, stencil_set, bc) = ... 19 sat_tensors(::Laplace, grid, stencil_set, bc) = ...
20 20
21 sat(::DifferentialOperator, grid, stencil_set, bc) = ... 21 sat(::DifferentialOperator, grid, stencil_set, bc) = ...
22 ``` 22 ```
23
24
25 ### Update 2024-06-26
26 We will run into trouble if we start assuming things about the coupling
27 between the continuous and discrete setting. We could add representations of
28 continuous operators but we will also need representations of discrete
29 operators. Ideally it should be possible to ignore the continuous
30 representations and only work with the discrete operators without losing
31 functionality. The discrete representations does not have to be LazyTensors.
32 The could be used as inputs to methods for `sat`, `difference_operator` and so
33 on.
34
35 To see need for a fully functional discrete layer we can consider the
36 optimization of material parameters or something similar. In this case we do
37 not necessarily want to handle continuous objects.
23 38
24 ## Reading operators 39 ## Reading operators
25 40
26 Jonatan's suggestion is to add methods to `Laplace`, `SecondDerivative` and 41 Jonatan's suggestion is to add methods to `Laplace`, `SecondDerivative` and
27 similar functions that take in a filename from which to read stencils. These 42 similar functions that take in a filename from which to read stencils. These