v0.16.0: Add BasicCallableMapping abstract base class (#119)
yguclu
released this
21 Oct 08:47
Add new class to module `sympde.topology.mapping`:
- Require methods `__call__`, `jacobian`, `metric`, `metric_det`, all called with arguments `(*eta)`
- Require properties `ldim` and `pdim`
- Require method `jacobian_inv`, which should raise exception if Jacobian matrix is not invertible (e.g. when `ldim < pdim`)
- Make `CallableMapping` subclass it
- Spline and NURBS mappings in Psydac will subclass it
Add new method `set_callable_mapping` to symbolic `Mapping` class, in order to attach any object of type `BasicCallableMapping` to it. Psydac will use it to attach spline and NURBS mappings to MappedDomains with undefined Mapping
Further changes:
- Allow for mappings with `pdim > ldim` (fixes #70)
- Update library version to 0.16.0