Source code for torx.geometry.shrink_rectangle_m

"""
Utilities for shrinking rectangular boundaries inward by a fractional margin.

Useful for computing grid limits that avoid interpolation errors near domain edges.
"""
import numpy as np

[docs] def shrink_rectangle( r_min: float, r_max: float, z_min: float, z_max: float, factor: float = 0.01, ) -> tuple[float, float, float, float]: """ Shrink a rectangle inward by a fraction of its extent. Returns (r_min, r_max, z_min, z_max). """ r_extent = r_max - r_min z_extent = z_max - z_min return ( r_min + factor * r_extent, r_max - factor * r_extent, z_min + factor * z_extent, z_max - factor * z_extent, )
[docs] def shrink_grid( r_points: np.ndarray, z_points: np.ndarray, factor: float = 0.01, ) -> tuple[float, float, float, float]: """ Call shrink_rectangle with inferring bounds from grid arrays. Returns (r_min, r_max, z_min, z_max). """ return shrink_rectangle( r_min=float(np.min(r_points)), r_max=float(np.max(r_points)), z_min=float(np.min(z_points)), z_max=float(np.max(z_points)), factor=factor, )