Simple finite element assemblers
Fixed: ElementVector works also for split_bases/split_indices in case mesh.dim() != elem.dim
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
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