From a3e74ada7a1bf8b42cc79b7b11cfc333b1284854 Mon Sep 17 00:00:00 2001 From: Andreas Dutzler Date: Mon, 21 Oct 2024 13:46:00 +0200 Subject: [PATCH 1/2] Add optional kwargs in `math.transpose(**kwargs)` --- CHANGELOG.md | 1 + src/felupe/math/_tensor.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f6c804..5e2be686 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. The format - Add the hessian of the element shape functions for a quadratic quad element `QuadraticQuad.hessian()`. - Add the `order`-argument to `FieldContainer.extract(order="C")` as well as for `Field`, `FieldAxisymmetric`, `FieldPlaneStrain` to return C-contiguous arrays by default. - Add an optional multiplier to `Laplace(multiplier=1.0)`. +- Add optional keyword-arguments to `math.transpose(**kwargs)` to support optional `out` and `order`-keywords. ### Changed - Change default `np.einsum(..., order="K")` to `np.einsum(..., order="C")` in the methods of `Field`, `FieldAxisymmetric`, `FieldPlaneStrain` and `FieldContainer`. diff --git a/src/felupe/math/_tensor.py b/src/felupe/math/_tensor.py index 35e63fef..b5fd9edf 100644 --- a/src/felupe/math/_tensor.py +++ b/src/felupe/math/_tensor.py @@ -819,12 +819,12 @@ def eigvalsh(A, shear=False): return eigvals(A, shear=shear, eigvals=np.linalg.eigvalsh) -def transpose(A, mode=1): +def transpose(A, mode=1, **kwargs): "Transpose (mode=1) or major-transpose (mode=2) of matrix A." if mode == 1: - return np.einsum("ij...->ji...", A) + return np.einsum("ij...->ji...", A, **kwargs) elif mode == 2: - return np.einsum("ijkl...->klij...", A) + return np.einsum("ijkl...->klij...", A, **kwargs) else: raise ValueError("Unknown value of mode.") From 12d4a162f537f1803ba751132203e3670e1f6ad6 Mon Sep 17 00:00:00 2001 From: Andreas Dutzler Date: Mon, 21 Oct 2024 13:46:07 +0200 Subject: [PATCH 2/2] format black --- src/felupe/mesh/_dual.py | 2 +- src/felupe/mesh/_geometry.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/felupe/mesh/_dual.py b/src/felupe/mesh/_dual.py index ae039e8d..3650ae4d 100644 --- a/src/felupe/mesh/_dual.py +++ b/src/felupe/mesh/_dual.py @@ -75,7 +75,7 @@ def dual( Examples -------- .. pyvista-plot:: - + >>> import felupe as fem >>> >>> mesh = fem.Rectangle(n=5).add_midpoints_edges() diff --git a/src/felupe/mesh/_geometry.py b/src/felupe/mesh/_geometry.py index 3079da27..6c550ec6 100644 --- a/src/felupe/mesh/_geometry.py +++ b/src/felupe/mesh/_geometry.py @@ -35,7 +35,7 @@ class Point(Mesh): Examples -------- .. pyvista-plot:: - + >>> import felupe as fem >>> >>> mesh = fem.Point(a=-2.1) @@ -44,10 +44,10 @@ class Point(Mesh): Number of points: 1 Number of cells: vertex: 1 - + >>> mesh.points array([[-2.1]]) - + >>> mesh.cells array([[0]]) """