Recent Releases of scikit-fem

scikit-fem -

  • Added: Support for Python 3.13.
  • Added: skfem.autodiff module for linearizing nonlinear variational forms and solving them using the Newton method. This is done with the help of the new decorator NonlinearForm. There are currently two examples using this functionality: ex45 and ex51. The use of skfem.autodiff requires the optional dependency JAX.
  • Added: A corresponding set of helper functions skfem.autodiff.helpers for 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.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

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 -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 3 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 3 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 4 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 4 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 4 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 4 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 -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 4 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 5 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 5 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 5 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 5 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 5 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 5 years ago

scikit-fem -

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 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 -

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

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 6 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 7 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 8 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala almost 8 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 8 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala about 8 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 8 years ago

scikit-fem -

Scientific Software - Peer-reviewed - Python
Published by kinnala over 8 years ago