Scikit-fem

Latest version: v10.0.2

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

Scan your dependencies

Page 1 of 9

10.0.2

Fixed: Mesh.load returned incorrect orientation for tagged holes

10.0.1

- Fixed: Mesh.load returned incorrect orientation for some Gmsh meshes with tagged interfaces

10.0.0

- 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

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

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

9.0.0

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

Page 1 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.