CovalentRadii

class qcelemental.CovalentRadii(context: str = 'ALVAREZ2008')[source]

Bases: object

Covalent radii sets.

Parameters

context ({'ALVAREZ2008'}) – Origin of loaded data.

cr

Each covalent radius is an entry in cr, where key is the “Fe”-cased element symbol if generic or symbol-prefixed label if specialized within element. The value is a Datum object with lbl the same as key, units, data value as Decimal object, and any uncertainty in the comment field.

Type

dict of Datum

doi

The DOI of the current context.

Type

str

name

The name of the context (‘ALVAREZ2008’)

Type

str

native_units

The units the original data was provided in.

Type

str

year

The year the context was created.

Type

int

Methods Summary

get(atom, *[, return_tuple, units, missing])

Access a covalent radius for species atom.

string_representation()

Print name, value, and units of all covalent radii.

write_c_header([filename, missing])

Write C header file defining covalent radii array.

Methods Documentation

get(atom: Union[int, str], *, return_tuple: bool = False, units: str = 'bohr', missing: float = None) → Union[float, qcelemental.datum.Datum][source]

Access a covalent radius for species atom.

Parameters
  • atom (int or str) – Identifier for element or nuclide, e.g., H, D, H2, He, hE4. In general, one value recommended for each element; however, certain other exact labels may be available. ALVAREZ2008: C_sp3, C_sp2, C_sp, Mn_lowspin, Mn_highspin, Fe_lowspin, Fe_highspin, Co_lowspin, Co_highspin

  • units (str, optional) – Units of returned value. To return in native unit (ALVAREZ2008: angstrom), pass it explicitly. Only relevant for return_tuple=False since True returns underlying data structure with native units.

  • missing (float or None, optional) –

    How to handle when atom is valid but outside the available data range. When None, raises DataUnavailableError. When a float, returns that float, so supply in units units. Supplying a float is a more compact assurance that a call will work over all the periodic table than the equivalent

    try:
        rad = qcel.covalentradii.get(atom)
    except qcel.DataUnavailableError:
        rad = 4.0
    

    Only relevant for return_tuple=False.

  • return_tuple (bool, optional) – See below.

Returns

  • float – When return_tuple=False, value of covalent radius. If multiple defined for element, returns largest.

  • qcelemental.Datum – When return_tuple=True, Datum with units, description, uncertainty, and value of covalent radius as Decimal (preserving significant figures). If multiple defined for element, returns largest.

Raises
  • NotAnElementError – If atom cannot be resolved into an element or nuclide or label.

  • DataUnavailableError – If atom is a valid element or nuclide but not one for which a covalent radius is available and missing=None.

string_representation() → str[source]

Print name, value, and units of all covalent radii.

write_c_header(filename: str = 'covrad.h', missing: float = 2.0) → None[source]

Write C header file defining covalent radii array.

Parameters
  • filename (str, optional) – File name for header. Note that changing this won’t change the header guard.

  • missing (float, optional) – In order that the C array be atomic-number indexable and that it span the periodic table, this value is used anywhere data is missing.