From 57e213eda0345e4624dc396ab2077bfc09cebf2e Mon Sep 17 00:00:00 2001 From: lachlangrose Date: Thu, 29 Oct 2026 12:41:06 +1030 Subject: [PATCH 1/3] prototype: BaseStructuredSupport extends StructuredGrid3DGeometry The support base re-implemented the grid geometry that StructuredGrid3DGeometry already provides. Make it inherit that class and keep only the support-specific parts (constructor taking cell counts, onGeometryChange hook, interpolator link, position-to-cell corner/vertex helpers, element size, vtk). - the geometry setters call a no-op _on_geometry_change() hook; the support maps it to onGeometryChange(), so setter behaviour is unchanged - BoundingBox.structured_grid imports loop_common.supports lazily (supports now import geometry, so the module-level import would be circular) - drop neighbour_global_indexes from the geometry class: it is a finite-difference stencil helper that StructuredGrid already defines for itself, and inheriting it would have added a method that does not apply to TetMesh/P2TetMesh _3d_base_structured.py shrinks by about 330 lines. Co-Authored-By: Claude Sonnet 5.5 --- .../src/loop_common/geometry/_bounding_box.py | 4 +- .../geometry/_structured_grid_3d.py | 28 +- .../supports/_3d_base_structured.py | 362 ++---------------- 3 files changed, 33 insertions(+), 361 deletions(-) diff --git a/packages/loop_common/src/loop_common/geometry/_bounding_box.py b/packages/loop_common/src/loop_common/geometry/_bounding_box.py index 65d584fb2..b1a284a6e 100644 --- a/packages/loop_common/src/loop_common/geometry/_bounding_box.py +++ b/packages/loop_common/src/loop_common/geometry/_bounding_box.py @@ -8,7 +8,6 @@ # from LoopStructural.utils.exceptions import LoopValueError from loop_common.math import rng -from loop_common.supports import StructuredGrid logger = getLogger(__name__) @@ -701,6 +700,9 @@ def structured_grid( name: str = "bounding_box", local_coordinates: bool = False, ): + # imported here because loop_common.supports builds on loop_common.geometry + from loop_common.supports import StructuredGrid + # python is passing a reference to the cell_data, vertex_data dicts so we need to # copy them to make sure that different instances of StructuredGrid are not sharing the same # underlying objects diff --git a/packages/loop_common/src/loop_common/geometry/_structured_grid_3d.py b/packages/loop_common/src/loop_common/geometry/_structured_grid_3d.py index a151dfb50..4dd39258c 100644 --- a/packages/loop_common/src/loop_common/geometry/_structured_grid_3d.py +++ b/packages/loop_common/src/loop_common/geometry/_structured_grid_3d.py @@ -39,6 +39,9 @@ def __init__(self, origin=None, nsteps=None, step_vector=None, rotation_xy=None) self._rotation_xy[2, 2] = 1 self.rotation_xy = rotation_xy + def _on_geometry_change(self): + """Hook called after origin, step_vector, nsteps or maximum change; subclasses override.""" + @property def volume(self): return np.prod(self.maximum - self.origin) @@ -69,6 +72,7 @@ def nsteps(self, nsteps): change_factor = nsteps / self.nsteps self._step_vector /= change_factor self._nsteps = nsteps + self._on_geometry_change() @property def nsteps_cells(self): @@ -99,6 +103,7 @@ def step_vector(self, step_vector): newsteps = self._nsteps / change_factor self._nsteps = np.ceil(newsteps).astype(int) self._step_vector = step_vector + self._on_geometry_change() @property def origin(self): @@ -115,6 +120,7 @@ def origin(self, origin): logger.error(f"Cannot resize the grid. The proposed number of steps is {self._nsteps}, these must be all > 0") raise ValueError("Cannot resize the grid.") self._origin = origin + self._on_geometry_change() @property def maximum(self): @@ -130,6 +136,7 @@ def maximum(self, maximum): if np.any(~(self._nsteps > 0)): logger.error(f"Cannot resize the grid. The proposed number of steps is {self._nsteps}, these must be all > 0") raise ValueError("Cannot resize the grid.") + self._on_geometry_change() @property def n_nodes(self): @@ -211,27 +218,6 @@ def check_position(self, pos: np.ndarray) -> np.ndarray: raise ValueError("Position array needs to be a list of points or a point") return pos - def neighbour_global_indexes(self, mask=None, **kwargs): - indexes = None - if "indexes" in kwargs: - indexes = kwargs["indexes"] - if "indexes" not in kwargs: - gi = np.arange(self.n_nodes) - indexes = self.global_index_to_node_index(gi) - edge_mask = ( - (indexes[:, 0] > 0) & (indexes[:, 0] < self.nsteps[0] - 1) - & (indexes[:, 1] > 0) & (indexes[:, 1] < self.nsteps[1] - 1) - & (indexes[:, 2] > 0) & (indexes[:, 2] < self.nsteps[2] - 1) - ) - indexes = indexes[edge_mask, :].T - if indexes.ndim != 2: - logger.error("indexes.ndim = %s, expected 2", indexes.ndim) - return - if mask is None: - mask = np.array([[-1, 0, 1, -1, 0, 1, -1, 0, 1], [1, 1, 1, 0, 0, 0, -1, -1, -1]]) - neighbours = indexes[:, None, :] + mask[:, :, None] - return (neighbours[0, :, :] + self.nsteps[0, None, None] * neighbours[1, :, :]).astype(np.int64) - def cell_corner_indexes(self, cell_indexes: np.ndarray) -> np.ndarray: corner_indexes = np.zeros((cell_indexes.shape[0], 8, 3), dtype=np.int64) xcorner = np.array([0, 1, 0, 1, 0, 1, 0, 1]) diff --git a/packages/loop_common/src/loop_common/supports/_3d_base_structured.py b/packages/loop_common/src/loop_common/supports/_3d_base_structured.py index 56f653f95..262009ffb 100644 --- a/packages/loop_common/src/loop_common/supports/_3d_base_structured.py +++ b/packages/loop_common/src/loop_common/supports/_3d_base_structured.py @@ -2,6 +2,7 @@ import numpy as np +from loop_common.geometry import StructuredGrid3DGeometry from loop_common.logging import get_logger as getLogger from . import SupportType @@ -16,8 +17,14 @@ class LoopException(Exception): -class BaseStructuredSupport(BaseSupport): - """ """ +class BaseStructuredSupport(StructuredGrid3DGeometry, BaseSupport): + """A structured grid used as an interpolation support. + + The grid geometry (origin, step vector, node counts, rotation, node and cell indexing) + comes from :class:`loop_common.geometry.StructuredGrid3DGeometry`; this class adds the + interpolation machinery. Note the constructor takes the number of **cells** + (``nsteps``) whereas the geometry class takes the number of nodes. + """ dimension = 3 @@ -33,71 +40,29 @@ def __init__( Parameters ---------- origin - 3d list or numpy array - nsteps - 3d list or numpy array of ints + nsteps - 3d list or numpy array of ints, the number of cells in each direction step_vector - 3d list or numpy array of int """ - # the geometry in the mesh can be calculated from the - # nsteps, step vector and origin - # we use property decorators to update these when different parts of - # the geometry need to change - # inisialise the private attributes - # cast to numpy array, to allow list like input - if origin is None: - origin = np.zeros(3) if nsteps is None: nsteps = np.array([10, 10, 10]) - if step_vector is None: - step_vector = np.ones(3) - origin = np.array(origin) nsteps = np.array(nsteps) - step_vector = np.array(step_vector) - - self.type = SupportType.BaseStructured - if np.any(step_vector == 0): - logger.warning(f"Step vector {step_vector} has zero values") if np.any(nsteps == 0): raise LoopException("nsteps cannot be zero") if np.any(nsteps < 0): raise LoopException("nsteps cannot be negative") - # if np.any(nsteps < 3): - # raise LoopException( - # "step vector cannot be less than 3. Try increasing the resolution of the interpolator" - # ) - self._nsteps = np.array(nsteps, dtype=int) + 1 - self._step_vector = np.array(step_vector) - self._origin = np.array(origin) + StructuredGrid3DGeometry.__init__( + self, + origin=origin, + nsteps=nsteps.astype(int) + 1, + step_vector=step_vector, + rotation_xy=rotation_xy, + ) + self.type = SupportType.BaseStructured self.supporttype = "Base" - self._rotation_xy = np.zeros((3, 3)) - self._rotation_xy[0, 0] = 1 - self._rotation_xy[1, 1] = 1 - self._rotation_xy[2, 2] = 1 - self.rotation_xy = rotation_xy self.interpolator = None - @property - def volume(self): - return np.prod(self.maximum - self.origin) - - def set_nelements(self, nelements) -> int: - box_vol = self.volume - ele_vol = box_vol / nelements - # calculate the step vector of a regular cube - step_vector = np.zeros(3) - - step_vector[:] = ele_vol ** (1.0 / 3.0) - - # number of steps is the length of the box / step vector - nsteps = np.ceil((self.maximum - self.origin) / step_vector).astype(int) - self.nsteps = nsteps - return self.n_elements - - def to_dict(self): - return { - "origin": self.origin, - "nsteps": self.nsteps, - "step_vector": self.step_vector, - "rotation_xy": self.rotation_xy, - } + def _on_geometry_change(self): + self.onGeometryChange() @abstractmethod def onGeometryChange(self): @@ -106,119 +71,19 @@ def onGeometryChange(self): def associateInterpolator(self, interpolator): self.interpolator = interpolator - @property - def nsteps(self): - return self._nsteps - - @nsteps.setter - def nsteps(self, nsteps): - # if nsteps changes we need to change the step vector - change_factor = nsteps / self.nsteps - self._step_vector /= change_factor - self._nsteps = nsteps - self.onGeometryChange() - @property - def nsteps_cells(self): - return self.nsteps - 1 - @property - def rotation_xy(self): - return self._rotation_xy - - @rotation_xy.setter - def rotation_xy(self, rotation_xy): - if rotation_xy is None: - return - if isinstance(rotation_xy, (float, int)): - rotation_xy = np.array( - [ - [ - np.cos(np.deg2rad(rotation_xy)), - -np.sin(np.deg2rad(rotation_xy)), - 0, - ], - [ - np.sin(np.deg2rad(rotation_xy)), - np.cos(np.deg2rad(rotation_xy)), - 0, - ], - [0, 0, 1], - ] - ) - rotation_xy = np.array(rotation_xy) - if rotation_xy.shape != (3, 3): - raise ValueError(f"Rotation matrix should be 3x3, not {rotation_xy.shape}") - self._rotation_xy = rotation_xy - @property - def step_vector(self): - return self._step_vector - - @step_vector.setter - def step_vector(self, step_vector): - change_factor = step_vector / self._step_vector - newsteps = self._nsteps / change_factor - self._nsteps = np.ceil(newsteps).astype(int) - self._step_vector = step_vector - self.onGeometryChange() - @property - def origin(self): - return self._origin - - @origin.setter - def origin(self, origin): - origin = np.array(origin) - length = self.maximum - origin - length /= self.step_vector - self._nsteps = np.ceil(length).astype(np.int64) - self._nsteps[self._nsteps == 0] = ( - 3 # need to have a minimum of 3 elements to apply the finite difference mask - ) - if np.any(~(self._nsteps > 0)): - logger.error( - f"Cannot resize the interpolation support. The proposed number of steps is {self._nsteps}, these must be all > 0" - ) - raise ValueError("Cannot resize the interpolation support.") - self._origin = origin - self.onGeometryChange() - @property - def maximum(self): - return self.origin + self.nsteps_cells * self.step_vector - @maximum.setter - def maximum(self, maximum): - """ - update the number of steps to fit new boundary - """ - maximum = np.array(maximum, dtype=float) - length = maximum - self.origin - length /= self.step_vector - self._nsteps = np.ceil(length).astype(np.int64) - self._nsteps[self._nsteps == 0] = 3 - if np.any(~(self._nsteps > 0)): - logger.error( - f"Cannot resize the interpolation support. The proposed number of steps is {self._nsteps}, these must be all > 0" - ) - raise ValueError("Cannot resize the interpolation support.") - self.onGeometryChange() - @property - def n_nodes(self): - return np.prod(self.nsteps) - @property - def n_elements(self): - return np.prod(self.nsteps_cells) - @property - def elements(self): - global_index = np.arange(self.n_elements) - cell_indexes = self.global_index_to_cell_index(global_index) - return self.global_node_indices(self.cell_corner_indexes(cell_indexes)) + + + def __str__(self): return ( @@ -230,67 +95,12 @@ def __str__(self): f"Degrees of freedon {self.n_nodes}" ) - @property - def nodes(self): - max = self.origin + self.nsteps_cells * self.step_vector - if np.any(np.isnan(self.nsteps)): - raise ValueError("Cannot resize mesh nsteps is NaN") - if np.any(np.isnan(self.origin)): - raise ValueError("Cannot resize mesh origin is NaN") - - x = np.linspace(self.origin[0], max[0], self.nsteps[0]) - y = np.linspace(self.origin[1], max[1], self.nsteps[1]) - z = np.linspace(self.origin[2], max[2], self.nsteps[2]) - xx, yy, zz = np.meshgrid(x, y, z, indexing="ij") - return np.array([xx.flatten(order="F"), yy.flatten(order="F"), zz.flatten(order="F")]).T - - def rotate(self, pos): - """ """ - return np.einsum("ijk,ik->ij", self.rotation_xy[None, :, :], pos) - - def position_to_cell_index(self, pos: np.ndarray) -> tuple[np.ndarray, np.ndarray]: - """Get the indexes (i,j,k) of a cell - that a point is inside - Parameters - ---------- - pos : np.array - Nx3 array of xyz locations - - Returns - ------- - np.ndarray - N,3 i,j,k indexes of the cell that the point is in - """ - pos = self.check_position(pos) - inside = self.inside(pos) - cell_indexes = np.zeros((pos.shape[0], 3), dtype=int) - - x = pos[:, 0] - self.origin[None, 0] - y = pos[:, 1] - self.origin[None, 1] - z = pos[:, 2] - self.origin[None, 2] - cell_indexes[inside, 0] = np.floor(x[inside] / self.step_vector[None, 0]).astype(int) - cell_indexes[inside, 1] = np.floor(y[inside] / self.step_vector[None, 1]).astype(int) - cell_indexes[inside, 2] = np.floor(z[inside] / self.step_vector[None, 2]).astype(int) - - # Boundary points at maximum extents belong to the last cell. - cell_indexes[inside, 0] = np.clip(cell_indexes[inside, 0], 0, self.nsteps_cells[0] - 1) - cell_indexes[inside, 1] = np.clip(cell_indexes[inside, 1], 0, self.nsteps_cells[1] - 1) - cell_indexes[inside, 2] = np.clip(cell_indexes[inside, 2], 0, self.nsteps_cells[2] - 1) - - return cell_indexes, inside def position_to_cell_global_index(self, pos): _ix, _iy, _iz = self.position_to_cell_index(pos) - def inside(self, pos): - # check whether point is inside box - pos = self.check_position(pos) - extent = np.maximum(np.abs(self.maximum - self.origin), 1.0) - tol = np.finfo(float).eps * 32.0 * extent - inside = np.all((pos >= (self.origin - tol)) & (pos <= (self.maximum + tol)), axis=1) - return inside def check_position(self, pos: np.ndarray) -> np.ndarray: """[summary] @@ -325,63 +135,7 @@ def check_position(self, pos: np.ndarray) -> np.ndarray: raise ValueError("Position array needs to be a list of points or a point") return pos - def _global_indicies(self, indexes: np.ndarray, nsteps: np.ndarray) -> np.ndarray: - """ - Convert from cell indexes to global cell index - - Parameters - ---------- - indexes - - Returns - ------- - - """ - if len(indexes.shape) == 1: - raise ValueError("Cell indexes needs to be Nx3") - if indexes.shape[-1] != 3: - raise ValueError("Last dimensions should be ijk indexing") - original_shape = indexes.shape - indexes = indexes.reshape(-1, 3) - gi = ( - indexes[:, 0] - + nsteps[None, 0] * indexes[:, 1] - + nsteps[None, 0] * nsteps[None, 1] * indexes[:, 2] - ) - return gi.reshape(original_shape[:-1]) - - def cell_corner_indexes(self, cell_indexes: np.ndarray) -> np.ndarray: - """ - Returns the indexes of the corners of a cell given its location xi, - yi, zi - - Parameters - ---------- - x_cell_index - y_cell_index - z_cell_index - - Returns - ------- - - """ - - corner_indexes = np.zeros((cell_indexes.shape[0], 8, 3), dtype=int) - - xcorner = np.array([0, 1, 0, 1, 0, 1, 0, 1]) - ycorner = np.array([0, 0, 1, 1, 0, 0, 1, 1]) - zcorner = np.array([0, 0, 0, 0, 1, 1, 1, 1]) - corner_indexes[:, :, 0] = ( - cell_indexes[:, None, 0] + corner_indexes[:, :, 0] + xcorner[None, :] - ) - corner_indexes[:, :, 1] = ( - cell_indexes[:, None, 1] + corner_indexes[:, :, 1] + ycorner[None, :] - ) - corner_indexes[:, :, 2] = ( - cell_indexes[:, None, 2] + corner_indexes[:, :, 2] + zcorner[None, :] - ) - return corner_indexes def position_to_cell_corners(self, pos): """Get the global indices of the vertices (corners) of the cell containing each point. @@ -438,79 +192,9 @@ def node_indexes_to_position(self, node_indexes: np.ndarray) -> np.ndarray: xyz = xyz.reshape(original_shape) return xyz - def global_index_to_cell_index(self, global_index): - """ - Convert from global indexes to xi,yi,zi - Parameters - ---------- - global_index - Returns - ------- - """ - # determine the ijk indices for the global index. - # remainder when dividing by nx = i - # remained when dividing modulus of nx by ny is j - cell_indexes = np.zeros((global_index.shape[0], 3), dtype=int) - cell_indexes[:, 0] = global_index % self.nsteps_cells[0, None] - cell_indexes[:, 1] = global_index // self.nsteps_cells[0, None] % self.nsteps_cells[1, None] - cell_indexes[:, 2] = ( - global_index // self.nsteps_cells[0, None] // self.nsteps_cells[1, None] - ) - return cell_indexes - - def global_index_to_node_index(self, global_index): - """ - Convert from global indexes to xi,yi,zi - - Parameters - ---------- - global_index - - Returns - ------- - - """ - # determine the ijk indices for the global index. - # remainder when dividing by nx = i - # remained when dividing modulus of nx by ny is j - original_shape = global_index.shape - global_index = global_index.reshape(-1) - local_indexes = np.zeros((global_index.shape[0], 3), dtype=int) - local_indexes[:, 0] = global_index % self.nsteps[0, None] - local_indexes[:, 1] = global_index // self.nsteps[0, None] % self.nsteps[1, None] - local_indexes[:, 2] = global_index // self.nsteps[0, None] // self.nsteps[1, None] - return local_indexes.reshape(*original_shape, 3) - - def global_node_indices(self, indexes) -> np.ndarray: - """ - Convert from node indexes to global node index - - Parameters - ---------- - indexes - - Returns - ------- - - """ - return self._global_indicies(indexes, self.nsteps) - - def global_cell_indices(self, indexes) -> np.ndarray: - """ - Convert from cell indexes to global cell index - - Parameters - ---------- - indexes - - Returns - ------- - - """ - return self._global_indicies(indexes, self.nsteps_cells) @property def element_size(self): From f783c2bfd1280e9ae73514857a6d8b9db4187da2 Mon Sep 17 00:00:00 2001 From: lachlangrose Date: Thu, 29 Oct 2026 13:03:24 +1030 Subject: [PATCH 2/3] test: pin the structured supports' behaviour against a pre-refactor reference Records geometry, node/element arrays, point location (including exact boundary points), value/gradient evaluation, regularisation operators, every geometry setter, onGeometryChange call counts and constructor validation for StructuredGrid, TetMesh and P2TetMesh on three grids, and compares them with a reference generated from master before BaseStructuredSupport was changed to extend StructuredGrid3DGeometry. Mutating the setter hook, the inside() boundary rule or the cell-index clipping each makes the test fail. Co-Authored-By: Claude Sonnet 5.5 --- .../data/structured_support_reference.npz | Bin 0 -> 316531 bytes .../test_structured_support_reference.py | 238 ++++++++++++++++++ 2 files changed, 238 insertions(+) create mode 100644 packages/loop_common/tests/data/structured_support_reference.npz create mode 100644 packages/loop_common/tests/test_structured_support_reference.py diff --git a/packages/loop_common/tests/data/structured_support_reference.npz b/packages/loop_common/tests/data/structured_support_reference.npz new file mode 100644 index 0000000000000000000000000000000000000000..43a4b0795cdd0ebcde163f532207f0fb51d8d521 GIT binary patch literal 316531 zcmeFZby%I*k}pi~-~{&|L4yW&C%AiXcXxNU1a}J>+}$O(J8azDolB=f&*`4Yk^9Y^ z`TjWjc{c9`mi($#Rjpc8wYHQf2q+~G5D?_^8y^Vqv1{S!=L;7I8A#UF+D^yT&RS1b z$l6Gk+Rog_mfGCLR?pIg%G}cF6%YbY{BytGUc$dWfRgsncCiq?_eyn36{UVwN&b{= z{x#kFi%~{#R(fizhMY`vJX)GY^k=9y4x$5O5@5k-21KaYz&DuPtck2pRZz%4R0`mb z+_|r${sfE#ih%0{7}4JarlF%}YWn{Y9_oJqZy%Zy>IEL&FW{MJIU1SSnf;YSJmbIV!q5`LZwEQc>syvG}USQ$;ieZ1dip(&-FJJWEU&a4IH{r?1 z#lfI{w`p~l{(?EIP~AVEtpihmBOkZn_E~yLVN0pBYRN6;)l1uT2;krYeF#8+tq4FE z3^n~8zc_llS0gx0%xB%<4W&n^cR`nE+v6| zA@S`mNc^ircq05xo*nS-&y;ZkNn|Z_zm={fml7SEkt)LCz+i7Bp7(h(mU<98QC-TN z-j7gErSZvU8xpCFL1!DfBz2#+OgHZ_Ffp)k%?bw;QBMU&F{#fE-ybCuY)rmSGmN#- zbJPE(%oyx(1hG3_q};9Cs`Qyn+v z4QrN%CN-~y+zzbY-I>do%amI*l!FX8%$xb2E!vYTyVfkCG6T#U-aNOcZm%m*lmFg4 zA3Yzl?;_%a`P}Tl^SPP9Z_OlrYliyV%)YIzWRXSB7_b$C79AJOP-_UVPqB34=dp7XY z_B{7F@Lx`C6}YQ*fxMFYZPIYkv^Ie|eT{~#-vhwAM=u!-ac97(Du+;Hm7^`PWVf8YSW!!zANn?6-^_ps~W)Y&+=r_8* zSf<6~yHy;8mcRbdNB@}%&v?;(46jHod#4YGwTAmayPMw+iq3vVmGm2#55@Pdespth z|1lNV@2Es?(Ee=Ns!y=qyom9yb_Ht-TP<573v&%erxz>I`%_P){$+jrPfo~Bb=3uV zwj|e@!=7jeu@HaJHT-)i!WWRg@Ap=+dLOZC6vXa23X^p61kFL+IVs~;5qfPeq%dh)j}-ai8SzwPQ}m!%c_ zBb|N`Oj{?*|D-klUH%@G;D7e2&dxoGU$Fhkt1>dTG1C1575J;)4Waelvxn+mbo2hv zq0GOV`1fPkZ}#x5rmiQDpr9aRSF7jyc1Q&vExJrHeO=EyO;0kAAU@=F{uR@BX-z(K z>AyN)3xG1j7Yb;8A-0wlHby_p`ZJq zuQT56P)?zV;xpm+$UrC0Kg)ghg{08ux1EjrdKw-6yNdz!>1Qq=SGh1J;7z zQ;#?*wQUNI?6%Xi6R)$cXA@stK$CiQ)zs4A?g~Wh09nA;m%XOm>Yw-bNH@eNC>y|v=owo{qg z7WhAJqJJwd|01_(U%37MHwh|7h_rl>Ai956f^;mb&GoEp{zHa5k$;z=;-4Px*BK*8 zSsvu>lT|9JTCA%*XP&}Ubwm^tD=;e_0qMN+Oi~$BM6}i1W9X2Rr$(pG`fnrw_q-i6 z^DGAX*Btb8%{6hGCP=B10VRdD9!GVQ~SDR#eTn& ziajWIWZDFqWMq1e?Xfk0Ij~s+Okzdo-gmkTo?fa|;p|hT8QLEy{i;Mc8 zx!j3I!(@$P3Mx&uV!q*?4n~P#A-6fpcg5{$&#cT^?Vjed!|%au^iH+dbx6154e9BZ{KOBih#>jxjaM=y zZ#UAzrnM%wh|8-%J$Z1I$DV3*a@XAac$X@fe=Eb6LO7mR|E5U8ed*S%by&3po_|l0 zyhZk`!4qxtOzrL#vPyDzWX}(%D91Um&_=mYiCWe?8H}=alUdaN4`Ib_Le8 zXdt)1V2WL|tFwC~v_|dh{yfh4BVrSm&~V!Jy&Km($I3-F0BQ6VZ4h91@6+BFLfw`@Of z%{}4$S<7EnZ)yEsYs4RVKJs&i`1terUxx4gnVkX^{P&Gw9fV4d{I7u&p8Ie1FIYeP zv)XH~XKibw^Bh|FV+-(P{~hHW$nVcdm9lVTS{PWI%zDXqbM86dAbr2ck9IhL{@zeU zwH(svY?UF!Jg#6|eI%Bx8`*9NxmVcw5=cza?CL$jrd%%i9?fn~n~MQLJH&2y)R#Sy z0Vf+Y&Gif6Nm`AKoUUy9#hmJRRF@vtTMg7b50p>WPFHpwY##M)%^1~5D_s?X$2x|Y zBs_rN+7xMZ%pP0X3@4mb`T160$TcDSZ^D2pdXOTx$4>xJyVo%bRe@EbMA zX@gt4&C$tYJ%S5ytco?bGA(;wn}auzRM7O=g?KqysVh;Rjvnq^N&qTr(u)DXswffV z7Kp=JeHN!nUc<+cD>EEz3t@cG4py`(Ers<^WVemwqW9qsso%?JF{$5kl{Kzj2K2Qk z<7RHfS!!~aIBF&#l`8_d-*gnybz82m z(Y{k<<*J<1nRel>Xu$*0zRp<^8smfv+SV|6Qrd8u2(Vw@xlmfDz0Nq6ZDQJ~egaNx z;4C5ivZWcZm$u)$c*JebktVUVe}{C2b=9D6;w}$RU3Bj(QdC+fzu#J|8Q?R7IL^8_ z9=jg8_nfrL0~GD4Jc!SBT@LQ+ZM9vN*?Kgc-^lsegS3noA5T|C%(hJx2F|n%iOvq* zXVyH1tm+@v6)-(BJh$7BqdNATd_@B1NTwVvb7L24*2`IbQBE{Ft& zvC5R*h-Scc^An2Aw0iZ>*u}xvR>!^L;T4IrN909%{BR7w5PQq0c^*F9wNfK|N(cU{ zM%bt`ywTw;s?p(*M$zN9TltM?s1kWV;jR>#(1H7hs0%N=116UUz|wHq#w*mPB1arI z4Xw2coQt`Z+Lk!`O(RYF-7CGRrmiuqP{^|_(7qF&AHqVFmKWB&jr{IE9&AGnt_E$%xALrsfj!G}b z3R~#kIa(y|LO*ebi}Rs-0KI!4Fp-_t=;Nv*_WH?#oE*v6xfI_9|3`ekWZXAzqM(GS zc?F`0#52bv-<33?5Pa@I4?e*>Z9e33C~}!{D`|L|H94xfd^9N;-U=>S)DLe$AHs78 zK3Lst00cCt_?d0$52)w2+n-&YoLRBnH`GLg>}fn)NTfCwpEZ{>j3Z7v6`h1Mw~3&* z4aSh?%0CKytY$NlTO)VxI&}_i=kOgQ_3GguS(5~bxgQQNhegz^G>cRlTkzho#lJbO zeXZ-}AY#)s03#Drw1#0S)+J|W;v!k}mA8Djw^#lyBL3;s-b%eF0dm?kx4&YL&pi$% zsz?K|6ksAYxfW$rN;icQ$1V^GH_?sFOekKHZA?=nWQFjAV-o7JfaoKWh&J_QI=2K9 zph88%)6gOx03Wo}8zb@~o3OZ$6Qy?IGjputMv#ahAdVS_Rg58V{xT1Npq*m%Bqd@JHXK<|VqNF~8CPnnkUlqRb5}?PDtBeI>?`jNEAb=&usu%{l z67FaMQ_yA&TAUd}x{->UDN({N6!A)s@wG?)E+S5u&(}ARn%}Bwi{5Bs zZ%tnWwH7C27cUMKdB#wkjBfy^cgQcfaXF6vAmNZP4y8=GS9%l8z~{AH5tUV4$$DPi z;trDI6|h}YM1FyT>=>CHJ1w}P6I>sT5pWo(RVrrntzQfDVnO?Cz_hDPx`ARzmkeX< zVN7YWPq#M{u{wz?kZ1egmA*C|Zm(pXgGrU>XaUy{=TJmEA7+uL4ltggjtMojh@lc^ z$buv*=bYkO@QraX4mVgMOZUomX^K?59f09%0L`5jhVCWWz&-*18#T4;Y61kg7YE4L3h9oekHj^lT)i3q@Joe zr|Dp-fRhL?pZ6u&e#RHGJ}qc=-woVokaxt`vEhydd_=7w0=FtE!+Dz7X?z`)(p62hB3?+OJH+deCr(>VY6Y zJhPh02f=FnzHzEE38;iUskrIwRTfYNSG!ICge&M2o>9vp*_x>Hs<7 zXYSpe&pu_q`0Zipl2m8ZJbd#XVx|xE+T(KbiEGalvMCrTxN?p$_iDE-?HzcSSc}GP zzN9h-T4wS!#|U9brG*}3F_d&IJA$#De*!|9lic>_U@Yi{vy*AqQ0X51x(KaPL-$>? zM|?#;iSF$XyJC&20_uXBamXHCOItLh0SL>6c549JNl5GmZe!vpy7X!++1Z#^9r~-0 z$u)XeM~U=udiS1##!=q#G1A`(-V*PhThqfEBKVxQr(H3bqPNzcR#$}@*lPRj<+(7u z?v~!DR6HVKW7VyATF!T~5QLAhp|~745+i;;P$Ep@-&bYf3AMRp~>{odaR-3V$S1t zKJT;y&O&2h*02OepfsG9L2$l}eN%CdM3?%6QrH;#4w@&?B793OTGMK}arZWDLWiVY zjNb=23F13`Ok%~Y?$jX$XsPPh+6U3vwZA1q2dg9c|haH7aW;V8ccn3_zzFZ8Le7z6H+Z~scf~g&pJ~0Tt zoK2@W>XqsPP^3*Kt5Im7t4Eeyh)r+wh=sI6W+@Sb2d|`_SMEM?hAnmqvphu-xAAcQ1RGbUyAb##7whDfYOx;7KT|n4H&V3XH$rUeGTJt zxQd;Il)kr;YC|F^)e3ko;6AE{ovg7{BQ&Xxpv63|VQlPOD0Es`+=<<-ms zQN*hb)HRgJRn4+=At3^LRDq!w3wi)G$hf28zMB#(X5zzV9xb}%oBl$y_^5Hic~L#h z=#jTQvD<9!{@^iJaaon9;NMnP=CN2e5scDA#RlhYo=(q7caQHSz{2KSg!gMmWzKAD z;E*7g1Y#?8H^m~wToaAuJ3MR5y3DUj0A<*G1{XzPM3xdNpIyo|fvnEp?GKx!y{%v> zu}+!yHKP%n(S?b-lYX1=s_@#g|Nik zo;gvU(_02IP4%hrCho9T;FJO9*v<6#97(tW_NaKGTE!*X3!MH6i}MG?yKnj7p=-iJ zY;s0@E(~rfdy%%g`v~@eRmGO4Cfz8eiaX>2QontXG~gvQ-UvXy&}3xO#D}__A#p95#V>> zjk(y1T^;RhHfqDOwAuPvCcLbIpoan9!|r9>;z=#AT#&-x*iilAagf3Ymt0=^jkGdm zU(4Pv1a6U>kFBE>en2IHyt{X?RDs3Aa>dI~2TTQvsP#_uW8X&l*h+LiMq7NeSt%+u z1xJY|zEW_zKn(zCE5j2?rFlDeHhJnR2eoWQJl!V*DYd@|UT2NY%~dqxgqXmf#2sa{ zk*q>tOs{5wElR|DEhI8T=0yI@aW9u%g_65%wIqcikIzsU-RbOO=l!FM+2?wza;eT+ zv%T^)jWWiFfL)tpxPgbMySJCpWQHmBvAA`t0mZi>weJh=gNk)igiPQ>S_8O;pJSxi zK=n$q3@13~hb_Q3k5!KqPX>>YcaO@4fXjBk2b{;UC#J`itw-QLALeA;_vT-G_+N#3 z4NNVxwSJ}uH2$10_<8d11pnQiU;KGcO8LS8-Odf;f24D!xL^;ph>U1uFZ&5QIeP{P z%xHt0YPIATUNwNqD*(B|my<*NGt+m22Eabt6#F2BLO#bvEsT|&S|>rL%@@47ZxQ0f zV-Y3&s!6O%>U}P|%{^zzh&f*f8arBO=@3wBK@No>&)-`@EP&+J|9HebeQjQctA(KQ zam{eggB!Hy8}rELvNg{pd5F8^+mf^se%ffraN&O#2~B&X)oe3AKpwNQF1-b%RvrrN9L~#tcbJC`d1nFTM^UGjLT03 zzSO{I|ID|f#L$X@(jxm-2$OpV)F+pQ1-}irunP|Ji+R5k?Csc7{K@8;;=UtQAkiyA z*;RaIc7JfADdGF@!`fnpEE?R3Qq9^u-K1T9%@I=-^@Sain|R08nfY9}$F=@-d=C<5 z3+&y=d1HNT<6-}#lSXqt*WP<>J5Qljq~!!i&s-38;8dVt&%GnEl2ycGP)G1jEwbue zgv+mwVQQNdUp}D@#@tG{Wjr0&@)z!kIH4%2v823-`1uKMghfuVUeanZ<_zOP*zRj% zaA9$Bgc01j!70{FM$9-YI-)m zsliLY;N|$O`7_V)Qf2jDMtA?2Xn`R3OSs^-I;O^D9}c+J5c}=e%$;DCfotUu-94p% zR}IV%a8|FdSGPB{YCB#9u+m$>VXp!+cha6`%!VMk!_9QDSO!9C2L3h1(2B*n^+M^d zVhleO{)ONlap9kWY6$wfiobgi)PX$(u~$G~%Vhj{pP=g2ky&7oaxgzbs!4y>ldBIM zO&-vtXZgbG9IUQ1b?fYPnPzeDpmQW{kgLCG@%g79PO}aizD}lQ9zYDY4qZ!L7HwWNk+2RPckRGv-e7Cqg3!N- zsz_dA=d$t&`Ls%Bb3ee|V(AAa_-R8CRe2S&rEK8nlYt-BeOtV|`6)?F?V!f}AlJf* z#v{m|P3}xr!NEVd0xzlAzg+>(pJLYaVrvKLB!H!X{8o7Q?FG0aAIf{du$6UVs^S)kM}o?*S#I^#dM{Z+pLa40c9Z<|*)gg`(ivU+P$DByC#~;OwTJgE8mtsb7efC=blvI6i@W!L-g z0SO4b)rx^iNQ4qiO-b#Wsf=2R`1p8XoInkdTDWSrLb;xah)Nwn{dSm5WeBN7&nMgb zu(Q+mO^(8|l?wg+3RAxP__|Gx&~6@g?$(!nU={6K%0w#3_%=?jX|>DYg9ezz2xW!W zJ9tlC(~>+!N)2p0*l>lv^}3oy(qZvC4wgdq-!as5lBq6yO`h4&098jlRQN% zgjYr0S4)~poruO>xZz^ke%)9pN(3UKm+L087`Yr&7{q4ScA0Qm1BL`%lVp#zG#b27 z;f)EJGLew;^_?8k7=+=(Sf(P0e1;I3PzMpCcOZqByy6uw$K4^ah6zxItw`$RGUUh0 z&R!C8hh=FVl}~pKXz>$gDg*`|t=GCFD8XSgS(jm`9d4$J%H+!2lRk7a;j_H5e5p%S z41pPbp~pFk6-Z{5yCxAtAL+d%n_V5UQ3^_H`uD8Q)DUWBl=@U znzJ36dqQw!ZlVJ@Ls^ z&m}@A*6?^r@0J%V0)0Wb8t_Zyo7s-}$OJ*^DH6YS3kAMxHA{FGW)w5CR*3oTN+@irbA`!d2>|mvh_0Sh;}*0mGx^+{(*`?SEbL7*`xhwt{>C+IG9wq^Kl-WJ*TQg8KjPO>+9|k1tFGQr?i+Nd=6{d!E<=W;oIezaazc!})8`3fU=MP>Xg-CkP?Q=fpjuwEDELtUI3c()W~of#!YvEeU(e z`?NHCfaQGzM+&uu!@UIxz5Ep-JozCZIKtBr-E;Fz3KMooheuSFdJ>KD7oTQje#4Y6+9A5sU#)s#sl$+`PMaGME&OZ3a zW-ijQZ&vXqKaD?J)>2YM$ooHk|u({hJgGuT;3vmrn5?~<$%{;A}t$(y; z8>^0#pAy6F)3|p7K{)}bJCdc){>Q`Yy*CrM60RH4DPa0@WvrtvV5D~}CjH}m(#$z^ zf?u!+8;B%; zNU<=K#+&wl_#QFHI>uI?@qOya)%#3xA)QcDUACYH5yBj4Qg|Llk4a=139kQL)w*Yg8>a_ zxlI4g@K)=pNKRD?IA4d(*)|IW2`SVpHOv4i^7iy&+W-gd7(~&wmPw(ep$*^p*GG)) zFlo*Q^cnP>E;_U_owXBPdx1z;v|)Jv_caTennP2!3bc=J9i!HYE!a3;6?2Vuea2kM zVBQ#Z+}Wc*FFE%mrdNWfGz{WbhJ)_jK5#I@a|H%ob|A~o1KjEJ8P1%Cj#D*D;s=?MDW;raI92cjqFNEFzx>A_6V~+ zt5=)GK1Osj1`VZXR!~fEBHDrdR6^{-Z9<`2XF0DFEWLT=3O&%GPy03VqQ)?x4F(tp+-cW)Xq+d*{ z8dRpldWtj_A!9{@RFZt|PaJ`ocQZbM%e8vzAmt*MWdL;u{k7Mx?gM@c|D?uK7d9rW zDY0|51fS+w4)0zL;{HKvs-arK z)th_)A2F$;kZ8LdFpQy$CWh2+0R39m}$drr>N8A(`U~;Ligyoks+K5@^K*wES zzVNrGo1LKmb4qjv1{lNDMJv>B`j_}CWOG$yOAJW z=2;jn@hTAJ`?#~W)RMsDc~p|yG(B0u%cr$=9yowOOhit8%Buu@WVcrB5PJ%zNkbmb-HfbWH(mL}lv)lxcpxBRXvs6PWl)9%kC_ zTA=guG4}?G&w0FO+e}*G23J3vNnLi9&|`bJzFXp}$HI0RDM<%xDsYgL$_Fz_>m3Cb1tS z7A5Jur-PudYk?G(-0eA$s#8_lw4jRm<2>TEtM^2IWPB%4<|*3Ef)b?K%$Q>|K2R}& zq~nMK(9P@{b2imnTF2t#W4H0Qi67A;<`vumG9hD18`I&k56fZtL$P>b%N8?yhA}ff zm-5sMi+DZ^P`ukC;PP1?)x%LF?P9y?3omKn@XG!48EIEsW99asz@d_pieP@k>^`FK zgW*a0SA9`dtd1rbk%f;P+eGc}T{+b~jlZwoYBbw<;s<;uGurPA+aWQ*IkGIfPeCIL zZtD>xe*Z8niJ=tBQ)FNdRXWi+c=%-x-4Lw#O&9@u8#qPQ3~!hbk^Z2K4ovrQWCCyf zH)9g(?QS0e#k#z7)##$EDqr0dC9CHo-^UgM6S0^TUQR$aTSoQH zOB(tX)*7Z3IzMXs|6Tj@@7kY#*Z%yw_UG@^{?wgfD8C#r{$=y>N9oT?Wv~L$&$C9{ z6&LE`Rkx8LMii;AZ& zA0E(}O91LyR_<(D^~GC3atewvquJSxVkgl(y)#QA;X=t@gvR(o1Jb_qbj}U6NdR`e zs#2m(o+eSwDfh#^+qryj!_ql@3Y`ISm!MU5mrxvfI%0DiSXQOb%OD~04Ra-7sNhaw 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 z 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

O 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 literal 0 HcmV?d00001 diff --git a/packages/loop_common/tests/test_structured_support_reference.py b/packages/loop_common/tests/test_structured_support_reference.py new file mode 100644 index 000000000..459b3c4d1 --- /dev/null +++ b/packages/loop_common/tests/test_structured_support_reference.py @@ -0,0 +1,238 @@ +"""Pin the behaviour of the structured interpolation supports. + +``StructuredGrid``, ``TetMesh`` and ``P2TetMesh`` share ``BaseStructuredSupport``. This test +records a wide set of their outputs (geometry, node/element arrays, point location, evaluation, +regularisation operators, setters, ``onGeometryChange`` calls, constructor validation) on a few +grids and compares them with ``data/structured_support_reference.npz``. + +The reference was generated from the code *before* ``BaseStructuredSupport`` was changed to extend +``StructuredGrid3DGeometry``, so it checks that refactor (and later ones) did not change behaviour. + +Regenerate after an intended change, and review the diff: + + python packages/loop_common/tests/test_structured_support_reference.py --update +""" +import sys +import warnings +from pathlib import Path + +import numpy as np +import pytest +from loop_common.supports import P2TetMesh, StructuredGrid, TetMesh + +REFERENCE = Path(__file__).parent / "data" / "structured_support_reference.npz" + +# (origin, cells per axis, step vector). Step vectors are floats on purpose. +GRIDS = { + "unit": ([0.0, 0.0, 0.0], [4, 4, 4], [1.0, 1.0, 1.0]), + "aniso": ([10.0, -3.0, 2.0], [6, 4, 3], [0.5, 2.0, 1.5]), + "small": ([0.0, 0.0, 0.0], [2, 2, 2], [1.0, 1.0, 1.0]), +} +CLASSES = {"StructuredGrid": StructuredGrid, "TetMesh": TetMesh, "P2TetMesh": P2TetMesh} +GEOMETRY_ATTRIBUTES = ( + "nsteps", + "nsteps_cells", + "maximum", + "origin", + "step_vector", + "n_nodes", + "n_elements", + "volume", + "nodes", + "elements", + "rotation_xy", + "element_size", + "element_scale", +) +REGULARISATION = {"dxx": 1, "dyy": 1, "dzz": 1, "dxy": 1, "dxz": 1, "dyz": 1} + + +def _build(cls, origin, cells, step): + if cls is P2TetMesh: + return cls(origin=origin, nsteps=cells, step_vector=step) + return cls(origin=origin, nsteps_cells=cells, step_vector=step) + + +def _flatten(value, prefix, out): + """Store ``value`` under ``prefix`` (tuples and dicts become ``prefix.``).""" + if isinstance(value, dict): + for key in sorted(value): + _flatten(value[key], f"{prefix}.{key}", out) + elif isinstance(value, (tuple, list)) and not all(np.isscalar(v) for v in value): + for i, item in enumerate(value): + _flatten(item, f"{prefix}.{i}", out) + else: + out[prefix] = np.asarray(value) + + +def _record(out, key, call): + try: + _flatten(call(), key, out) + except Exception as exc: # noqa: BLE001 - the exception type is part of the behaviour + out[key] = np.asarray(f"EXC:{type(exc).__name__}") + + +def collect() -> dict[str, np.ndarray]: + """Run every probe and return ``{key: array}``.""" + out: dict[str, np.ndarray] = {} + rng = np.random.default_rng(3) + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + for cls_name, cls in CLASSES.items(): + for grid_name, (origin, cells, step) in GRIDS.items(): + prefix = f"{cls_name}/{grid_name}" + grid = _build(cls, origin, cells, step) + calls = [] + original = type(grid).onGeometryChange + type(grid).onGeometryChange = lambda self, _o=original, _c=calls: ( + _c.append(1), + _o(self), + )[1] + try: + _probe(out, prefix, grid, origin, cells, step, rng, calls) + finally: + type(grid).onGeometryChange = original + for cells in ([0, 3, 3], [-1, 3, 3]): + _record( + out, + f"validation/{cells}", + lambda cells=cells: StructuredGrid( + origin=[0.0, 0.0, 0.0], nsteps_cells=cells, step_vector=[1.0, 1.0, 1.0] + ), + ) + return out + + +def _probe(out, prefix, grid, origin, cells, step, rng, calls): + for name in GEOMETRY_ATTRIBUTES: + _record(out, f"{prefix}/{name}", lambda name=name: getattr(grid, name)) + _record(out, f"{prefix}/to_dict", grid.to_dict) + + low = np.array(origin) - 1.0 + high = np.array(origin) + np.array(cells) * np.array(step) + 1.0 + anywhere = rng.uniform(low, high, (120, 3)) + # points exactly on the boundary: every corner and the centre of every face + corners = np.array(np.meshgrid(*zip(origin, grid.maximum), indexing="ij")).reshape(3, -1).T + centre = 0.5 * (np.array(origin) + grid.maximum) + faces = [] + for axis in range(3): + for bound in (origin[axis], grid.maximum[axis]): + point = centre.copy() + point[axis] = bound + faces.append(point) + anywhere = np.vstack([anywhere, corners, np.array(faces)]) + interior = rng.uniform(np.array(origin) + 1e-3, grid.maximum - 1e-3, (80, 3)) + _record(out, f"{prefix}/inside", lambda: grid.inside(anywhere)) + _record(out, f"{prefix}/position_to_cell_index", lambda: grid.position_to_cell_index(anywhere)) + _record(out, f"{prefix}/position_to_cell_corners", lambda: grid.position_to_cell_corners(interior)) + _record(out, f"{prefix}/position_to_cell_vertices", lambda: grid.position_to_cell_vertices(interior)) + _record(out, f"{prefix}/check_position_1d", lambda: grid.check_position(np.array([1.0, 2.0, 3.0]))) + _record(out, f"{prefix}/check_position_list", lambda: grid.check_position([[1.0, 2.0, 3.0]])) + _record(out, f"{prefix}/rotate", lambda: grid.rotate(anywhere)) + + cell_index = np.arange(grid.n_elements) + node_index = np.arange(grid.n_nodes) + _record(out, f"{prefix}/global_index_to_cell_index", lambda: grid.global_index_to_cell_index(cell_index)) + node_ijk = grid.global_index_to_node_index(node_index) + _record(out, f"{prefix}/global_index_to_node_index", lambda: node_ijk) + _record(out, f"{prefix}/node_indexes_to_position", lambda: grid.node_indexes_to_position(node_ijk[:20])) + if cls_has_ijk(node_ijk): + _record(out, f"{prefix}/global_node_indices", lambda: grid.global_node_indices(node_ijk)) + _record( + out, + f"{prefix}/global_cell_indices", + lambda: grid.global_cell_indices(grid.global_index_to_cell_index(cell_index)), + ) + + values = rng.normal(size=grid.n_nodes) + _record(out, f"{prefix}/evaluate_value", lambda: grid.evaluate_value(interior, values)) + _record(out, f"{prefix}/evaluate_gradient", lambda: grid.evaluate_gradient(interior, values)) + _record(out, f"{prefix}/get_element_for_location", lambda: grid.get_element_for_location(interior)) + _record( + out, + f"{prefix}/get_element_gradient_for_location", + lambda: grid.get_element_gradient_for_location(interior), + ) + _record(out, f"{prefix}/neighbour_global_indexes", lambda: grid.neighbour_global_indexes()) + if hasattr(grid, "get_operators"): + _record( + out, + f"{prefix}/get_operators", + lambda: {k: v[:2] for k, v in grid.get_operators(REGULARISATION).items()}, + ) + _record(out, f"{prefix}/vtk_n_cells", lambda: np.array([grid.vtk().n_cells])) + + # setters, applied in sequence; each records the state it leaves behind + before = len(calls) + + def state(): + return {"nsteps": grid.nsteps, "step_vector": grid.step_vector, "origin": grid.origin} + + grid.set_nelements(200) + _record(out, f"{prefix}/after_set_nelements", lambda: {**state(), "n_elements": grid.n_elements}) + grid.nsteps = np.array(grid.nsteps) + 1 + _record(out, f"{prefix}/after_nsteps", state) + grid.step_vector = np.array(grid.step_vector) * 2 + _record(out, f"{prefix}/after_step_vector", state) + grid.origin = np.array(grid.origin) - 1 + _record(out, f"{prefix}/after_origin", state) + grid.maximum = np.array(grid.maximum) + 3 + _record(out, f"{prefix}/after_maximum", lambda: {**state(), "maximum": grid.maximum}) + out[f"{prefix}/onGeometryChange_calls"] = np.array([len(calls) - before]) + grid.rotation_xy = 30 + _record(out, f"{prefix}/after_rotation", lambda: grid.rotation_xy) + + +def cls_has_ijk(node_ijk) -> bool: + """The tet meshes return something other than an (N, 3) array here; the ijk helpers do not apply.""" + return isinstance(node_ijk, np.ndarray) and node_ijk.ndim == 2 and node_ijk.shape[-1] == 3 + + +def _assert_same(key, got, want): + if want.dtype.kind in "US": + assert got.dtype.kind in "US" and str(got) == str(want), f"{key}: {got} != {want}" + return + assert got.dtype.kind not in "US", f"{key}: now raises {got}" + assert got.shape == want.shape, f"{key}: shape {got.shape} != {want.shape}" + assert got.dtype.kind == want.dtype.kind, f"{key}: dtype {got.dtype} != {want.dtype}" + if want.dtype.kind == "f": + np.testing.assert_allclose(got, want, rtol=1e-9, atol=1e-12, err_msg=key) + else: + np.testing.assert_array_equal(got, want, err_msg=key) + + +@pytest.fixture(scope="module") +def current(): + return collect() + + +@pytest.fixture(scope="module") +def reference(): + with np.load(REFERENCE) as data: + return {key: data[key] for key in data.files} + + +def test_same_probes_are_recorded(current, reference): + assert sorted(current) == sorted(reference) + + +@pytest.mark.parametrize("cls_name", list(CLASSES)) +def test_structured_support_behaviour_is_unchanged(cls_name, current, reference): + keys = [k for k in reference if k.startswith(f"{cls_name}/")] + assert keys + for key in keys: + _assert_same(key, current[key], reference[key]) + + +def test_constructor_validation_is_unchanged(current, reference): + for key in [k for k in reference if k.startswith("validation/")]: + _assert_same(key, current[key], reference[key]) + + +if __name__ == "__main__": + if sys.argv[1:] != ["--update"]: + raise SystemExit(__doc__) + REFERENCE.parent.mkdir(exist_ok=True) + result = collect() + np.savez_compressed(REFERENCE, **result) + print(f"wrote {len(result)} arrays to {REFERENCE}") From 70780610e0b2ec8c93579afe0dab545b2eb5e8a1 Mon Sep 17 00:00:00 2001 From: lachlangrose Date: Thu, 29 Oct 2026 18:01:28 +1030 Subject: [PATCH 3/3] style: remove blank-line runs left where methods were deleted Co-Authored-By: Claude Sonnet 5.5 --- .../supports/_3d_base_structured.py | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/packages/loop_common/src/loop_common/supports/_3d_base_structured.py b/packages/loop_common/src/loop_common/supports/_3d_base_structured.py index 262009ffb..55f606c1f 100644 --- a/packages/loop_common/src/loop_common/supports/_3d_base_structured.py +++ b/packages/loop_common/src/loop_common/supports/_3d_base_structured.py @@ -16,7 +16,6 @@ class LoopException(Exception): """Custom exception for LoopStructural errors.""" - class BaseStructuredSupport(StructuredGrid3DGeometry, BaseSupport): """A structured grid used as an interpolation support. @@ -71,20 +70,6 @@ def onGeometryChange(self): def associateInterpolator(self, interpolator): self.interpolator = interpolator - - - - - - - - - - - - - - def __str__(self): return ( f"LoopStructural interpolation support: {self.supporttype} \n" @@ -95,13 +80,9 @@ def __str__(self): f"Degrees of freedon {self.n_nodes}" ) - - - def position_to_cell_global_index(self, pos): _ix, _iy, _iz = self.position_to_cell_index(pos) - def check_position(self, pos: np.ndarray) -> np.ndarray: """[summary] @@ -135,8 +116,6 @@ def check_position(self, pos: np.ndarray) -> np.ndarray: raise ValueError("Position array needs to be a list of points or a point") return pos - - def position_to_cell_corners(self, pos): """Get the global indices of the vertices (corners) of the cell containing each point. @@ -192,10 +171,6 @@ def node_indexes_to_position(self, node_indexes: np.ndarray) -> np.ndarray: xyz = xyz.reshape(original_shape) return xyz - - - - @property def element_size(self): return np.prod(self.step_vector)