Puncturedfem

Latest version: v0.5.0

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.3.3

- rename `setup.cgf` to `.flake8` (until `flake8` supports `pyproject.toml`)
- update `devtools/convert_examples.sh` to support being executed from any directory

0.3.2

- added support for `pytest`
- added `pytest` and dependencies to `requirements-dev.txt`
- added `pytest` parameters to `pyproject.toml`

0.3.1

- Reformatted with `black` and `isort`
- Linted with `flake8` and `pylint` (ongoing)
- Type-checked with `mypy` (ongoing)
- Added `requirements.txt` and `requirements-dev.txt`
- Added `CHECKLIST.md`
- Added `setup.cnf`, `pyproject.toml`

0.3.0

Major changes

* Added local function spaces (`locfunspace`) to `locfun/`
* Class containing a basis of the local Poisson space $V_p(K)$
* Added edge spaces (`edgespace`) to `locfun/`
* Added support for high order (including $p > 3$, unstable for some edges)
* Added barycentric coordinates and Legendre polynomials to `poly/`
* High order edge spaces obtained by traces of integrated Legendre polynomials
* Overhaul of `locfun` traces
* Local function traces are by default considered a list of `polynomial`s, one for each edge
* This list of `polynomial`s is stored in `trace_polys` attribute
* Trace values are computed only as needed
* Trace values can be set manually as before
* The flag `has_poly_trace` can be set to `False` if working functions with functions that do not have a trace that is the trace of a polynomial on each edge
* `locfun` objects are now initialized with the Laplacian polynomial, the list of polynomial traces, and an option
* Overhaul of Nystrom solver
* Replaced `nystrom` module with `nystrom_solver` class
* Overhead of constructing the Nystrom matrix is now consolidated into the constructor
* Harmonic conjugate computations are now handled as method of `nystrom_solver`
* Added `vert` class
* Vertices of a mesh
* Overhaul of `edge` class
* Added topological properties needed for mesh construction
* Parameterization values computed and stored only as needed
* Removed dependence on `copy` package
* Added `integrate_over_edge` method
* Added `global_orientation` attribute
* Overhaul of `cell` class
* Added topological properties needed for mesh construction
* Edge list replaced with `closed_contour` list
* Added `PlanarMesh` class
* Initialized as a collection of `edge` and `vert` objects
* `cell` objects are constructed in situ using topological information from `edge` objects
* Added `solver` class
* Handles all aspects of solving a PDE on a mesh
* Initialized with a `PlanarMesh` object and a `bilinear_form` object
* `solve` method solves the PDE on the mesh
* `plot` method plots the solution
* Added `bilinear_form` class
* Stores info about the PDE to be solved
* Also stores the right-hand side of the PDE as a polynomial
* Added `global_function_space` class to manage global function space
* Added `global_key` class to manage continuity across cells

Minor changes:

* Moved `quad` module to `mesh/` from `mesh/quad/`
* Added `polynomial` functionality
* Added division of a polynomial by a scalar
* Added powers of polynomials
* Added polynomial composition
* Changed directory management in Jupyter notebook examples
* Added `devtools/` directory
* Added `doc/` directory
* Added `.py` versions of examples
* Thanks to `nbconvert` for making this easy!
* Added `ex2-pacman-fem` example
* Updated tests and examples

0.2.5

* Moved examples to a dedicated `examples` directory
* Added "Examples used in publications" to `README`
* Introduced API for more convenient user experience
* Users call `pf.thing` rather than `pf.foo.bar.baz.thing`
* Updated all examples to reflect API change
* Restructured `puncturedfem` directory
* Polynomial overhaul
* Changed initialization method to something sensible
* `set()` method behaves as a re-initializer
* Added support for polynomial-scalar addition for `+`,`+=`,`-`,`-=` operators
* Added support for `*=` operator
* Moved `integrate_over_cell()` method to `locfun.int_poly`
* Unit tests
* Relocated `test` to parent directory
* Polynomials: `test_poly.py`
* Local functions: `test_locfun.py`

0.2.4

* Added `intval` module to `locfun` for computing interior values
* Added `get_conjugable_part()` method to `locfun` that returns the trace of $\psi$
* Renamed `is_in_interior()` method for `contour` to `is_in_interior_contour()`
* Added `is_in_interior_cell()` method to `cell`
* Added interior value demo to Punctured Square, Pac-Man, and Ghost examples

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.