Recent Releases of scikit-fem
scikit-fem -
- Added: Support for Python 3.13.
- Added:
skfem.autodiffmodule for linearizing nonlinear variational forms and solving them using the Newton method. This is done with the help of the new decoratorNonlinearForm. There are currently two examples using this functionality: ex45 and ex51. The use ofskfem.autodiffrequires the optional dependency JAX. - Added: A corresponding set of helper functions
skfem.autodiff.helpersfor defining nonlinear variational forms. - Removed: Support for Python 3.8.
Scientific Software - Peer-reviewed
- Python
Published by kinnala 12 months ago
scikit-fem -
Fixed: Mesh.load returned incorrect orientation for tagged holes
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 1 year ago
scikit-fem -
- Fixed: Mesh.load returned incorrect orientation for some Gmsh meshes with tagged interfaces
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 1 year ago
scikit-fem - 10.0.0
- Fixed:
Mesh.p2ereturned incorrect incidence - Fixed:
InteriorFacetBasis.get_dofsdid not return all edge DOFs for 3D elements - Added: The lowest order, one point integration rule for tetrahedral elements
- Added:
asmwill now wrap functions with three arguments usingBilinearForm, functions with two arguments usingLinearForm, etc. - Changed: Initializing
BasisforElementTetP0without specifyingintorderorquadraturewill 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.int32for 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
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 1 year ago
scikit-fem - 9.1.1
Scientific Software - Peer-reviewed
- Python
Published by kinnala almost 2 years ago
scikit-fem -
Fixed: ElementVector works also for splitbases/splitindices in case mesh.dim() != elem.dim
Scientific Software - Peer-reviewed
- Python
Published by kinnala about 2 years ago
scikit-fem -
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 ignoreorientation=True and ignoreinteriorfacets=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.removeunusednodes Added: Mesh.removeduplicatenodes Added: Mesh.removeelements 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
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 2 years ago
scikit-fem -
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.getdofs now supports fetching DOFs at specific nodes through kwarg nodes Added: DofsView.sort for sorting a set of DOFs returned by Basis.getdofs 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
Scientific Software - Peer-reviewed
- Python
Published by kinnala almost 3 years ago
scikit-fem -
Fixed pickling of MappingIsoparametric.
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 4 years ago
scikit-fem -
Highlights from the changelog:
- Added: Mesh.save/Mesh.load now exports/imports Mesh.subdomains and
Mesh.boundaries
- Added: asm will now accept a list of bases, assemble the same form using
all of the bases and sum the result (useful for jump terms and mixed meshes, see Example 41)
- Added: MeshTri1DG, MeshQuad1DG, MeshHex1DG, MeshLine1DG; new mesh
types for describing meshes with a discontinuous topology, e.g., periodic
meshes (see Example 42)
- Added: ElementTriSkeletonP0 and ElementTriSkeletonP1 for defining
Lagrange multipliers on the skeleton mesh (see Example 40)
- Added: TrilinearForm for assembling a sparse 3-tensor, e.g., when dealing
with unknown material data
- Added: partial support for MeshWedge1 and ElementWedge1, the lowest order
wedge mesh and element
- Added: ElementTriP3, cubic triangular Lagrange element
- Added: ElementTriP4, quartic triangular Lagrange element
- Added: ElementTri15ParamPlate, 15-parameter nonconforming triangular element for plates
- Added: ElementTriBDM1, the lowest order Brezzi-Douglas-Marini element
- Added: Mesh.draw().show() will now visualize any mesh interactively (requires vedo)
- Added: Adaptive refinement for MeshTet1
- Fixed: MappingIsoparametric is now about 2x faster for large meshes thanks
to additional caching
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 4 years ago
scikit-fem -
NOTE! This release accidentally had an extra dependency. This was fixed in 2.2.3.
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 5 years ago
scikit-fem -
NOTE! This release accidentally had an extra dependency. This was fixed in 2.2.3.
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 5 years ago
scikit-fem -
NOTE! This release accidentally included the tests. This was fixed in 2.2.1. NOTE! This release accidentally had an extra dependency. This was fixed in 2.2.3.
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 5 years ago
scikit-fem -
Release for JOSS paper.
Scientific Software - Peer-reviewed
- Python
Published by kinnala over 5 years ago