Box#

class lumopt2.utils.common.Box(x_span: float | None = None, y_span: float | None = None, z_span: float | None = None, x_center: float = 0.0, y_center: float = 0.0, z_center: float = 0.0, x_min: float | None = None, x_max: float | None = None, y_min: float | None = None, y_max: float | None = None, z_min: float | None = None, z_max: float | None = None, mesh_size: float | None = None, dx: float | None = None, dy: float | None = None, dz: float | None = None)#

A 3D rectangular box defined by spans and centers or min/max coordinates.

The box can be defined in two ways: 1. Using span and center values for each dimension 2. Using min and max values for each dimension

Parameters:
x_spanOptional[float], optional

Width in the x-dimension (default: None).

y_spanOptional[float], optional

Width in the y-dimension (default: None).

z_spanOptional[float], optional

Width in the z-dimension (default: None).

x_centerfloat, optional

Center position in the x-dimension (default: 0.0).

y_centerfloat, optional

Center position in the y-dimension (default: 0.0).

z_centerfloat, optional

Center position in the z-dimension (default: 0.0).

x_minOptional[float], optional

Minimum x-coordinate (default: None).

x_maxOptional[float], optional

Maximum x-coordinate (default: None).

y_minOptional[float], optional

Minimum y-coordinate (default: None).

y_maxOptional[float], optional

Maximum y-coordinate (default: None).

z_minOptional[float], optional

Minimum z-coordinate (default: None).

z_maxOptional[float], optional

Maximum z-coordinate (default: None).

mesh_sizeOptional[float], optional

Physical mesh size in meters, e.g. 25e-9 for 25nm (default: None).

dxOptional[float], optional

Mesh size in the x-dimension (default: None).

dyOptional[float], optional

Mesh size in the y-dimension (default: None).

dzOptional[float], optional

Mesh size in the z-dimension (default: None).

Attributes:
x_spanfloat

Width of the box in the x-dimension.

y_spanfloat

Width of the box in the y-dimension.

z_spanfloat

Width of the box in the z-dimension.

x_centerfloat

Center position of the box in the x-dimension.

y_centerfloat

Center position of the box in the y-dimension.

z_centerfloat

Center position of the box in the z-dimension.

mesh_sizeOptional[float]

Physical mesh size in meters.

dx: Optional[float]

Mesh size in the x-dimension.

dy: Optional[float]

Mesh size in the y-dimension.

dz: Optional[float]

Mesh size in the z-dimension.

Notes

You must provide either span/center OR min/max coordinates for each dimension.

Methods

Box.verify_box_inside(box_inner, box_outer)

Verify that box_inner is fully contained within box_outer.