sisl.shape.Cube

class sisl.shape.Cube(side, center=None, origin=None)

Bases: Cuboid

3D Cube with equal sides

Equivalent to Cuboid([r, r, r]).

Parameters:
  • side (float) – side-length of the cube, or vector

  • center ((3,), optional) – the center of the cuboid. Defaults to the origin. Not allowed as argument if origin is passed.

  • origin ((3,), optional) – the lower left corner of the cuboid. Not allowed as argument if center is passed.

Conversion

to

A dispatcher for classes, using __get__ it converts into ObjectDispatcher upon invocation from an object, or a TypeDispatcher when invoked from a class

to.Cuboid(*args, **kwargs)

to.Ellipsoid(*args, **kwargs)

to.Sphere(*args, **kwargs)

Methods

copy()

Create a new copy of this object.

expand(length)

Expand the cuboid by a constant value along side vectors

scale(scale)

Scale the cuboid box size (center is retained)

toCuboid()

Return a copy of itself

toEllipsoid()

Return an ellipsoid that encompass this cuboid

toSphere()

Return a sphere that encompass this cuboid

translate(xyz)

Translate the center of the shape by xyz.

within(other, *args, **kwargs)

Return True if other is fully within self

within_index(other[, rtol])

Return indices of the other object which are contained in the shape

Attributes

center

The geometric center of the shape

edge_length

The lengths of each of the vector that defines the cuboid

origin

Return the origin of the Cuboid (lower-left corner)

volume

Return volume of Cuboid

copy()

Create a new copy of this object.

expand(length)

Expand the cuboid by a constant value along side vectors

Parameters:

length (float or (3,)) – the extension in Ang per cuboid vector.

scale(scale)

Scale the cuboid box size (center is retained)

Parameters:

scale (float or (3,)) – the scale parameter for each of the vectors defining the Cuboid

to.Cuboid(*args, **kwargs)
to.Ellipsoid(*args, **kwargs)
to.Sphere(*args, **kwargs)
toCuboid()

Return a copy of itself

toEllipsoid()

Return an ellipsoid that encompass this cuboid

toSphere()

Return a sphere that encompass this cuboid

translate(xyz: Sequence[float])

Translate the center of the shape by xyz.

within(other, *args, **kwargs)

Return True if other is fully within self

If other is an array, an array will be returned for each of these.

Parameters:
  • other (array_like) – the array/object that is checked for containment

  • *args – passed directly to within_index

  • **kwargs – passed directly to within_index

within_index(other, rtol: float = 1.0e-8)

Return indices of the other object which are contained in the shape

Parameters:
  • other (array_like) – the object that is checked for containment

  • rtol (float, optional) – relative tolerance for boundaries.

property center

The geometric center of the shape

property edge_length

The lengths of each of the vector that defines the cuboid

property origin

Return the origin of the Cuboid (lower-left corner)

to

A dispatcher for classes, using __get__ it converts into ObjectDispatcher upon invocation from an object, or a TypeDispatcher when invoked from a class

This is a class-placeholder allowing a dispatcher to be a class attribute and converted into an ObjectDispatcher when invoked from an object.

If it is called on the class, it will return a TypeDispatcher.

This class should be an attribute of a class. It heavily relies on the __get__ special method.

Parameters:
  • name (str) – name of the attribute in the class

  • dispatchs (dict, optional) – dictionary of dispatch methods

  • obj_getattr (callable, optional) – method with 2 arguments, an obj and the attr which may be used to control how the attribute is called.

  • instance_dispatcher (AbstractDispatcher, optional) – control how instance dispatchers are handled through __get__ method. This controls the dispatcher used if called from an instance.

  • type_dispatcher (AbstractDispatcher, optional) – control how class dispatchers are handled through __get__ method. This controls the dispatcher used if called from a class.

Examples

>>> class A:
...   new = ClassDispatcher("new", obj_getattr=lambda obj, attr: getattr(obj.sub, attr))

The above defers any attributes to the contained A.sub attribute.

property volume: float

Return volume of Cuboid