wulfric.parallelepiped_check#

wulfric.parallelepiped_check(a, b, c, alpha, beta, gamma, raise_error=False)[source]#

Check if parallelepiped is valid.

The following checks are performed:

  • \(a > 0\)

  • \(b > 0\)

  • \(c > 0\)

  • \(0 < \alpha < 180\)

  • \(0 < \beta < 180\)

  • \(0 < \gamma < 180\)

  • \(\gamma < \alpha + \beta < 360 - \gamma\)

  • \(\beta < \alpha + \gamma < 360 - \beta\)

  • \(\alpha < \beta + \gamma < 360 - \alpha\)

Parameters:
afloat

Length of the \(\boldsymbol{v_1}\) vector.

bfloat

Length of the \(\boldsymbol{v_2}\) vector.

cfloat

Length of the \(\boldsymbol{v_3}\) vector.

alphafloat

Angle between vectors \(\boldsymbol{v_2}\) and \(\boldsymbol{v_3}\). In degrees.

betafloat

Angle between vectors \(\boldsymbol{v_1}\) and \(\boldsymbol{v_3}\). In degrees.

gammafloat

Angle between vectors \(\boldsymbol{v_1}\) and \(\boldsymbol{v_2}\). In degrees.

raise_errorbool, default False

Whether to raise error if parameters can not form a parallelepiped.

Returns:
result: bool

Whether the parameters could from a parallelepiped.

Raises:
ValueError

If parameters could not form a parallelepiped. Only raised if raise_error is True (it is False by default).