conatus.Box

class conatus.Box(**axes)[source]

Bases: Geometry

Cartesian box: Box(x=periodic(2.0), z=walls(-0.5, 0.5)); 1 to 3 axes in keyword order.

Boundaries of the wall axis c on [a, b]: "c=a", "c=b", "walls" (both), and "bottom" / "top" (the wall axis is the last bounded Cartesian coordinate). At most one axis may have walls (the Cartesian discretization has one Chebyshev direction).

Parameters:

axes (Periodic | Walls | Line | HalfLine)

kind = 'Cartesian box'
coordsys()[source]

The coordinate system of the expert layer (IR) for this geometry.

property wall_coord: str | None

The coordinate carrying walls: a walls(…) axis, or a half line (one wall).

property bounded_coord: str | None

Name of the non-periodic coordinate (walls, half line or whole line), or None.

n_walls()[source]

Number of walls along the bounded coordinate (2, or 1 when an axis/centre closes it).

Return type:

int

property sincos_coord: str | None

Name of the wall coordinate discretized in sine/cosine series, or None.

property interfaces: tuple[float, ...]

Interior interfaces of a compound wall axis (empty otherwise).

boundaries()[source]

Boundary name -> list of (coordinate name, ‘left’ | ‘right’).

Return type:

dict[str, list[tuple[str, str]]]

resolution(N)[source]

As Geometry.resolution; a compound wall axis takes one size per piece (a tuple).

Parameters:

N (Any)

Return type:

dict[str, Any]

basis_table()[source]

One line per coordinate: the basis family chosen (for explain()).

Return type:

list[str]