github kinnala/scikit-fem 12.0.0

8 hours ago
  • Changed: Mesh.with_defaults now uses np.isclose for finding facets matching left, right, top, bottom, etc. instead of direct floating point comparison. Tolerance for np.isclose is calculated automatically from the smallest element size. This may result in backwards-incompatible behaviour, i.e., more edge cases are now covered by the matching and it is more likely that Mesh.boundaries gets filled by the call.
  • Added: Basis.interpolator now supports interpolating vectorial and tensorial elements
  • Added: Basic support for assembling PETSc matrices via form.elemental(basis).topetsc(), see ex52. Requires the optional dependency petsc4py.
  • Added: Basic support for distributed assembly of PETSc matrices via decorator Dofs.decompose. Requires the optional dependencies petsc4py and pymetis. The decorator Dofs.decompose is applied on a function which returns 2-tuple with Mesh and Dofs objects. This will run METIS on the mesh and distribute the degrees-of-freedom according to the decomposition. It is then possible to use the standard objects in scikit-fem such as Basis and BilinearForm to assemble matrices for each of the subdomains in parallel, assuming the script is run using mpirun. These can be turned into distributed PETSc matrices via form.elemental(basis).topetsc(dofs). See ex53 and ex54 for examples.
  • Added: ElementTriN3, a third order Nedelec element for triangular meshes.
  • Added: Support for Python 3.14.
  • Removed: Support for Python 3.9.

Don't miss a new scikit-fem release

NewReleases is sending notifications on new releases.