Skip to content

Releases: kinnala/scikit-fem

10.0.2

05 Sep 09:54
Compare
Choose a tag to compare

Fixed: Mesh.load returned incorrect orientation for tagged holes

10.0.1

06 Aug 09:18
Compare
Choose a tag to compare
  • Fixed: Mesh.load returned incorrect orientation for some Gmsh meshes with tagged interfaces

10.0.0

24 Jul 21:45
Compare
Choose a tag to compare
  • Fixed: Mesh.p2e returned incorrect incidence
  • Fixed: InteriorFacetBasis.get_dofs did not return all edge DOFs for 3D elements
  • Added: The lowest order, one point integration rule for tetrahedral elements
  • Added: asm will now wrap functions with three arguments using BilinearForm,
    functions with two arguments using LinearForm, etc.
  • Changed: Initializing Basis for ElementTetP0 without specifying
    intorder or quadrature will now automatically fall back to a one
    point integration rule
  • Changed: Default tags (left, right, top, ...) are no more
    added automatically during mesh initialization, as a workaround you
    can add them explicitly by calling mesh = mesh.with_defaults()
  • Changed: All indices within the library are now using np.int32 for
    around 10% boost in performance and the corresponding reduction in
    memory usage for larger meshes - theoretically, the largest possible
    tetrahedral tensor product mesh is now roughly 550 ** 3 = 166 M vertices
    and 993 M elements, without the facet indexing wrapping over 2 ** 32

9.1.1

24 Apr 11:26
Compare
Choose a tag to compare

Fixed: Tests now pass with numpy==2.0rc1
Fixed: MappingAffine now uses lazy evaluation also for element mappings, in addition to boundary mappings
Fixed: MeshTet.init_tensor uses significantly less memory for large meshes
Fixed: Mesh.load uses less memory when loading and matching tags
Added: Basis has new optional disable_doflocs kwarg which can be set to True to avoid computing Basis.doflocs, to reduce memory usage

9.0.1

12 Jan 15:28
Compare
Choose a tag to compare

Fixed: ElementVector works also for split_bases/split_indices in case mesh.dim() != elem.dim

9.0.0

23 Dec 22:22
Compare
Choose a tag to compare

Removed: Python 3.7 support
Removed: MappingMortar and MortarFacetBasis in favor of skfem.supermeshing
Deprecated: skfem.visuals.glvis; current version is broken and no replacement is being planned
Added: Python 3.12 support
Added: Mesh.load supports new keyword arguments ignore_orientation=True and ignore_interior_facets=True which will both speed up the loading of larger three-dimensional meshes by ignoring facet orientation and all tags not on the boundary, respectively.
Added: skfem.supermeshing (requires shapely>=2) for creating quadrature rules for interpolating between two 1D or 2D meshes.
Added: Mesh.remove_unused_nodes
Added: Mesh.remove_duplicate_nodes
Added: Mesh.remove_elements now supports passing any subdomain reference through Mesh.normalize_elements; subdomains and boundaries are also properly preserved
Fixed: MeshTet uniform refine was reindexing subdomains incorrectly
Fixed: MeshDG.draw did not work; now calls Basis.draw which works for any mesh topology
Fixed: FacetBasis now works with MeshTri2, MeshQuad2, MeshTet2 and MeshHex2
Fixed: ElementGlobal now uses outward normals to initialize DOFs on boundary facets

8.1.0

16 Jun 20:26
Compare
Choose a tag to compare

Added: ElementTriHHJ0 and ElementTriHHJ1 matrix finite elements for implementing the Hellan-Hermann-Johnson mixed method (see ex48.py)
Added: ElementHexSkeleton0, piecewise constant element on the skeleton of a hexahedral mesh
Added: ElementHexC1, C1-continuous hexahedral element
Added: Mesh.restrict now preserves subdomains and boundaries
Added: skfem.utils.mpc for setting multipoint constraints
Added: Basis.get_dofs now supports fetching DOFs at specific nodes through kwarg nodes
Added: DofsView.sort for sorting a set of DOFs returned by Basis.get_dofs
Added: CellBasis.with_elements as a shortcut for initiating a new Basis with subset of elements
Added: Mesh.refined now preserves subdomains in adaptive mesh refinement
Fixed: Mesh.refined used to modify the element connectivity of the original mesh

8.0.0

16 Dec 22:27
Compare
Choose a tag to compare
Bump up version number

7.0.1

03 Aug 12:02
Compare
Choose a tag to compare
Bump up version number and update changelog

6.0.0

15 Mar 21:20
Compare
Choose a tag to compare
Explicit Python 3.10 support