v8.0.0
[8.0.0] - 2024-03-18
Added
- Add axis of expansion in
mesh.expand(axis=-1)
(ignored forn=1
). - Add an optional mask-argument to select points for rotation in
mesh.rotate(mask=None)
. - Add Lagrange quad/hex cell-types in
ViewMesh
. - Add optional projection of stresses from quadrature-points to mesh.points in
SolidBody.plot(project=None)
, whereproject
has to be a callable likeproject(values, region)
. - Add optional projection of internel cell-data (Displacement, Logarithmic Strain and Deformation Gradient) from quadrature-points to mesh-points in
FieldContainer.plot(project=None)
, whereproject
has to be a callable likeproject(values, region)
.
Changed
- The internal
BasisField.basis
is now a subclassed arrayBasisArray
with agrad
-attribute. math.grad(x, **kwargs)
is enhanced to return gradients of fields (like before) and the gradient-attribute of basis-arrays (added).- The
grad_v
andgrad_u
arguments are removed from the form-expression decoratorForm
. This changes the required function signature of the weakform-callable toweakform(v, u, **kwargs)
. The tuple of optional arguments is also removed. Gradients ofv
andu
are now obtained bymath.grad(v)
orv.grad
. - Enforce quadrature schemes with minimal order for projections in
project()
forTriangle
,Tetra
as well as their MINI- and Quadratic-variants. - Fall-back to
extrapolate(mean=True)
inproject(mean=True)
. - Don't ravel the results of
res = extrapolate(values, region)
, i.e.values.shape = (3, 3, 4, 100)
will be returned asres.shape = (121, 3, 3)
instead ofres.shape = (121, 9)
. - Stack only a selection of meshes in
MeshContainer.stack([idx])
. - Enable list-based indexing in
MeshContainer[idx]
. - Add the
opacity=0.99
argument toMeshContainer.plot()
andMeshContainer.screenshot()
. - Pass the dpi-argument to the matplotlib figure in
imshow(dpi=None)
for solids, field- and mesh-containers. - Permute
GaussLegendre(order=2, dim=2)
according to the points of theBiQuadraticQuad
element by default. - Permute the 2- and 3-dimensional
GaussLegendre
quadrature schemes for order > 2 according to the VTK-Lagrange element formulations. That means for linear and quadratic quads and hexahedrons, the points ofGaussLegendre
are sorted according to the default VTK elements and for all higher-order elements according to the Lagrange-elements. - Enable default point-permutations in
RegionLagrange(permute=True)
by default. - Hide internal edges of higher-order cell-types in
ViewScene.plot()
by default. - Simplify
tools.topoints(values, region, average=True, mean=False)
. Remove all other arguments. If values of single quadrature-point per cells is given, then the values are broadcasted to the number of points-per-cell. If values are provided on more quadrature points than the number of points-per-cell, then the values are trimmed. E.g., this is required forQuadraticHexahedron
with 20 points and 27 quadrature-points.
Fixed
- Fix mesh-expansion with one layer
mesh.expand(n=1)
. This expands the dimension of the points-array. - Fix VTK-compatible cells in
CubeArbitraryOrderHexahedron
. - Fix Cauchy-stress evaluation of
SolidBody
andSolidBodyNearlyIncompressible
on a 2d-Field (plane stress): Automatic fall-back to Kirchhoff-stress and print a warning.
Removed
- Remove the deprecated old-style argument
move
indof.biaxial()
. - Remove the deprecated old-style arguments
move
,axis_compression
,axis_shear
andcompression
indof.shear()
.
What's Changed
- Simplify
Form
: Remove requiredgrad_v
andgrad_u
args and obtain the gradient byv.grad
orgrad(v)
by @adtzlr in #688 - Remove deprecated arguments in
dof.biaxial()
anddof.shear()
by @adtzlr in #689 - Fall-back to
tools.extrapolate(mean=True)
forproject(mean=True)
by @adtzlr in #691 - Fix single-layer
mesh.expand(n=1)
and add axis of expansionmesh.expand(axis=-1)
by @adtzlr in #697 - Enhance
imshow()
-methods of solid, field and mesh by @adtzlr in #699 - Add optional mask in
mesh.rotate(mask=None)
by @adtzlr in #700 - Make
ArbitraryOrderLagrangeElement
VTK-compatible by @adtzlr in #702 - Enhance
Scene.plot()
: Hide internal edges of quadratic celltypes by @adtzlr in #705 - Add optional projection of stresses in
SolidBody.plot(project=None)
by @adtzlr in #707 - Add
FieldContainer.plot(project=None)
by @adtzlr in #710 - Simplify
tools.topoints(values, region)
by @adtzlr in #712 - Enhance
topoints( values, region, average=True, mean=False)
by @adtzlr in #713 - Fix Cauchy-stress for 2d-Fields (plane stress) by @adtzlr in #714
Full Changelog: v7.19.1...v8.0.0