Change Log¶
View release history on PyPI, GitHub, or Zenodo.
Note
SuperScreen
uses semantic versioning, with version numbers specified as
MAJOR.MINOR.PATCH
. In particular, note that:
Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
Version 1.0.0 defines the public API.
Version 0.8.0¶
Release date: 2022-12-15
Changes¶
Removed dependency on
optimesh
, as it is not longer open source.superscreen.Device.make_mesh()
andsuperscreen.Polygon.make_mesh()
now take an integer argument,smooth
, which specifies the number of Laplacian mesh smoothing iterations to perform.
Version 0.7.0¶
Release date: 2022-08-29
Changes¶
Added support for GPU-acceleration in
superscreen.solve()
, with JAX as an optional dependency (#75).Added
superscreen.TransportDevice
, a subclass ofsuperscreen.Device
on which one can define source/drain terminals for current biasing (#78).Updated
superscreen.Solution.field_at_position()
to use the 2D Biot-Savart directly, viasuperscreen.sources.biot_savart_2d()
(#78).Updated
superscreen.fluxoid.find_fluxoid_solution()
to use the mutual inductance matrix to solve for fluxoid states, which is much more efficient than the previous least-squares method, especially for multiple holes (#78).
Version 0.6.1¶
Release date: 2022-07-02
Changes¶
Fixed an off-by-one error in the \(k\)-space coordinates used to calculate the field from a Pearl vortex in
superscreen.sources.pearl_vortex()
(#74).
Version 0.6.0¶
Release date: 2022-05-20.
Note: On GitHub, this version was accidentally tagged as v0.6.6
rather than v0.6.0
(see here.)
Changes¶
Added
Solution.vector_potential_at_position()
(#73).
Version 0.5.0¶
Release date: 2022-04-13
Changes¶
Added \(\vec{\nabla}\Lambda(x, y)\) term and clarified documentation about the model in the context of inhomogeneous films (#72).
Version 0.4.0¶
Release date: 2022-03-15
Changes¶
Remove support for Python 3.6, which has reached end-of-life (#69).
Version 0.3.0¶
Release date: 2022-01-27
Changes¶
Use
__slots__
forLayers
,Polygons
, andParameters
(#57).Add affine transformations for
Polygon
andDevice
(#59, #60).Allow
Parameters
to return scalar or vector quantities (# 61).Allow explicitly setting
num_cpus
insolve_many()
(#62).Add
SheetCurrentField
source and move mesh generation into its own module to enablePolygon.make_mesh()
(#65).Use
scipy.linalg.lu_solve()
insuperscreen.solve()
instead ofnumpy.linalg.inv()
(#67).
Version 0.2.0 (initial development release)¶
Release date: 2021-11-28