Skip to content

v3.0.0

Compare
Choose a tag to compare
@adtzlr adtzlr released this 28 Apr 12:51
· 2986 commits to main since this release

Changelog since [2.0.1] - 2022-01-11

Added

  • Add sym argument to Bilinearform.integrate() and Bilinearform.assemble().
  • Add FieldsMixed which creates a FieldMixed of length n based on a template region.
  • Add function to mirror a Mesh mesh.mirror().
  • Add a new parallel assembly that uses a threaded version of np.einsum instead (einsumt).
  • Add parallel versions of math helpers (dya, cdya, dot, ddot) using einsumt.
  • Add parallel keyword to constitutive models (NeoHooke, LinearElasticTensorNotation and ThreeFieldVariation).
  • Add RegionBoundary along with template regions for Quad and Hexahedron and GaussLegendreBoundary.
  • Add optional normal vector argument for function and gradient methods of AreaChange.
  • Add a new Mesh-tool triangulate(), applicable on Quad and Hexahedron meshes.
  • Add a new Mesh-method Mesh.as_meshio().
  • Add a function decorator @Form(...) for linear and bilinear form objects.

Changed

  • Enforce consistent arguments for functions inside mesh (points, cells, cell_data or Mesh).
  • Rename Numba-parallel assembly to jit.
  • Move single element shape functions and their derivatives from region.h to region.element.h and region.dhdr to region.element.dhdr.
  • Repeat element shape functions and their derivatives for each cell (as preparation for an upcoming RegionBoundary).
  • Improve mesh.convert() by using the function decorator @mesh_or_data.
  • Allow an array to be passed as the expansion arguments of mesh.expand() and mesh.revolve().
  • Allow optional keyword args to be passed to Mesh.save(**kwargs), acts as a wrapper for Mesh.as_meshio(**kwargs).write().

Fixed

  • Fix area normal vectors of RegionBoundary.
  • Fix integration and subsequent assembly of BilinearForm if field and mesh dimensions are not equal.

Auto-Generated Release-Notes

What's Changed

  • Add sym argument to Bilinearform.integrate() and Bilinearform.assemble() by @adtzlr in #186
  • Add FieldsMixed by @adtzlr in #190
  • Update coverage.yml: Add Python 3.10 by @adtzlr in #182
  • Rename keyword parallel to jit, introduce new parallel, improved Mesh-tools by @adtzlr in #195
  • Preparations for RegionBoundary by @adtzlr in #196
  • Add a region on the boundary faces/edges on a mesh by @adtzlr in #197
  • Improve AreaChange by @adtzlr in #198
  • Add axisymmetric argument to FieldsMixed by @adtzlr in #199
  • Add Mesh-Tool: triangulate() by @adtzlr in #202
  • Improve Mesh-tool convert() by @adtzlr in #203
  • Improve Mesh by @adtzlr in #204
  • Fix dimensions of value-array in assembly of BilinearForm by @adtzlr in #206
  • Add function decorator for weakforms by @adtzlr in #208
  • Change Forms How-To by @adtzlr in #209
  • Simplify How-To on Forms by @adtzlr in #210

Full Changelog: v2.0.1...v3.0.0