Skip to content

v7.5.0

Compare
Choose a tag to compare
@adtzlr adtzlr released this 20 Jul 20:18
· 1959 commits to main since this release

[7.5.0] - 2023-07-20

Added

  • Add ViewSolid, which enables view = ViewSolid(field, solid=None) the view of cauchy stresses, e.g. view.plot("Principal Values of Cauchy Stress").show().
  • Add constitutive models to top-level namespace, e.g. yeoh() from constitution.yeoh(). This makes typing hyperelastic material formulations shorter: Hyperelastic(yeoh, C10=0.5, C20=-0.1, C30=0.02).
  • Add CharacteristicCurve.plot(swapaxes=False).
  • Add MaterialAD: A user-defined material definition with Automatic Differentiation. Only the first Piola-Kirchhoff stress tensor must be provided.

Changed

  • Add optional point- and cell-data args for ViewMesh(mesh, point_data=None, cell_data=None) like already implemented in ViewField.
  • Enforce contiguous arrays in UserMaterialHyperelastic (enhance performance).
  • View: Switch from ViewField to ViewSolid.
  • View: Always plot the undeformed mesh with opacity=0.2 and show_edges=False.
  • Rename UserMaterial to Material, UserMaterialStrain to MaterialStrain, UserMaterialHyperelastic to Hyperelastic (keep old alias names until next major release).
  • Use consistent indices in einsum() for (elementwise operating) trailing axes: q for quadrature point and c for cell.
  • Rename internal IntegralFormMixed to IntegralForm, which is now consistent internally and in the top-level namespace. The previous internal base-class for a single-field IntegralForm is renamed to WeakForm.
  • Don't plot x- and y-labels in CharacteristicCurve.plot(xlabel=None, ylabel=None) if they are not specified.

Fixed

  • Don't warp the mesh in ViewMesh.plot().
  • Warp the mesh in case no name is passed in View.plot(name=None).
  • Don't modify a given label in Scene.plot(label=None).
  • Fix the second invariant of the distortional part of the right Cauchy-Green deformation tensor in hyperelastic material formulations using tensortrax, i.e. fix the implementations of mooney_rivlin(), third_order_deformation() and van_der_waals().

Removed

  • Remove internal (unused) imports of the assembly submodule.

What's Changed

  • Enhance View: Add optional point- and cell-data to ViewMesh by @adtzlr in #475
  • Add ViewSolid(field, solid=None) and set View = ViewSolid by @adtzlr in #479
  • Warp the mesh for View.plot(name=None) by @adtzlr in #481
  • Rename UserMaterial... to shorter names by @adtzlr in #483
  • Add constitutive material formulations to top-level namespace by @adtzlr in #485
  • Docs: Add Example Inflation by @adtzlr in #484
  • Consistent idx in einsum(), Enhance FieldsMixed(n=1) by @adtzlr in #489
  • Basis: Rename idx in einsum() by @adtzlr in #490
  • Rename internal IntegralFormMixed to IntegralForm by @adtzlr in #491
  • Remove unused imports of the assembly submodule by @adtzlr in #492
  • Don't modify a given label in Scene.plot(label=None) by @adtzlr in #495
  • Enhance plotting in a characteristic-curve job by @adtzlr in #498
  • Fix mooney_rivlin(), third_order_deformation() and van_der_waals() by @adtzlr in #502
  • Add MaterialAD: PK1-based Material w/ Automatic Differentiation by @adtzlr in #493

Full Changelog: v7.4.1...v7.5.0