emg3d
emg3d copied to clipboard
Improve jvec/jtvec
e4d6ac8c4bcc99f65d62f8ff6fa4b0a3ff662180 introduced jvec and jtvec. There are a couple of things that need improvements down the road. An issue to keep track of it:
- [ ] Restructure the internal layout of
gradient/_bcompute/_get_rfield/_jvec/_jtvec - [ ] Expand documentation, adding the derivation for
jvecandjtvecin more detail - [ ] Optimize the entire gradient-chain for speed
- [ ] Add an example to the gallery using SimPEG(emg3d)
Also, testing should be improved:
- [x] Add adjoint tests and derivative tests using
discretize- [x] src-rec
- [x] mapping
- [x] interpolation
- [x] jvec/jtvec (overall)
More work is required to make it possible to have automatic gridding ('gridding' != 'same').
- [ ]
SimPEG@emg3d-solverneeds adjustments to work with different inversion and computational grids - [ ]
jvec:vectorshould probably be aModel(needs adjustments inSimPEG@emg3d-solver) - [x]
jtvec:vectorshould probably be aDataArray~(needs adjustments inSimPEG@emg3d-solver)~ (both is already possible,ndarrayorDataArray) - [x] Check interpolations;
maps.interp_edges_to_vol_averages;grid.get_edge_inner_product_deriv - [x] Automatic gridding
SimPEG@emg3d-solver: Which model is used when to create grids? Needs work
Current relevant branches:
- emg3d:
- ~https://github.com/emsig/emg3d/tree/dev-simpeg-autogridding~
- ~https://github.com/emsig/emg3d/tree/gradient-variants~
-
mainoremg3d>=v1.5.0
- SimPEG:
- ~https://github.com/simpeg/simpeg/tree/emg3d-solver~
- https://github.com/simpeg/simpeg/tree/emg3d-solver-new