httk.atomistic.results.utils module

class httk.atomistic.results.utils.ElasticTensor(_matrix, _nan_mask)[source]

Bases: HttkObject

classmethod create(matrix=None)[source]

matrix = A 6x6 array that represent the elastic constants.

property matrix
class httk.atomistic.results.utils.InitialStructure(assignments, rc_sites=None, rc_cell=None, other_reps=None)[source]

Bases: Structure

classmethod create(assignments=None, rc_sites=None, rc_cell=None)[source]

A Structure represents N sites of, e.g., atoms or ions, in any periodic or non-periodic arrangement.

This is a swiss-army-type constructor that allows a selection between a large number of optional arguments.

Note: if redundant and non-compatible information is given, the behavior is undefined. E.g., don’t try to call this with a structure + a volume in hopes to get a copy with rescaled volume.

To create a new structure, three primary components are:
  • cell: defines the basis vectors in which reduced coordinates are expressed, and the

    unit of repetition (if the structure has any periodicity - see the ‘periodicity’ parameter)

  • assignments: a list of ‘things’ (atoms, ions, etc.) that goes on the sites in the structure

  • sites: a sensible representation of location / coordinates of the sites.

Note: rc_-prefixes are consistently enforced for any quantity that would be different in a UnitcellStructure. This is to allow for painless change between the various structure-type objects without worrying about accidently using the wrong type of sites object.

Input parameters:

  • ONE OF: ‘cell’; ‘basis’, ‘length_and_angles’; ‘niggli_matrix’; ‘metric’; all of: a,b,c, alpha, beta, gamma. (cell requires a Cell object or a very specific format, so unless you know what you are doing, use one of the others.)

  • ONE OF: ‘assignments’, ‘atomic_numbers’, ‘occupancies’ (assignments requires an Assignments object or a sequence.), occupations repeats similar site assignments as needed

  • ONE OF: ‘rc_sites’, ‘rc_coords’ (IF rc_occupations OR rc_counts are also given), ‘uc_coords’ (IF uc_occupations OR uc_counts are also given) ‘rc_B_C’, where B=reduced or cartesian, C=coordgroups, coords, or occupationscoords

    Notes:

    • occupationscoords may differ from coords by order, since giving occupations as, e.g., [‘H’,’O’,’H’] does not necessarily have the same order of the coordinates as the format of counts+coords as (2,1), [‘H’,’O’].

    • rc_sites and uc_sites requires a Sites object or a very specific format, so unless you know what you are doing, use one of the others.)

  • ONE OF: scale or volume:

    scale = multiply the basis vectors with this scaling factor, volume = the representative (conventional) cell volume (overrides ‘scale’ if both are given) volume_per_atom = cell volume / number of atoms

  • ONE OF periodicity or nonperiodic_vecs

See help(Structure) for more information on the data format of all these data representations.

classmethod use(other)[source]
class httk.atomistic.results.utils.MaterialId(manifest_hash)[source]

Bases: HttkObject

property material_id
class httk.atomistic.results.utils.Method(name, description, references)[source]

Bases: HttkObject

class httk.atomistic.results.utils.MethodDescriptions(methods=[])[source]

Bases: HttkObject

class httk.atomistic.results.utils.PlaneDependentTensor(_matrix, _nan_mask, _shape)[source]

Bases: HttkObject

Generic class for a crystal plane direction dependent quantities. Goes from plane [000] up to [Nmax,Nmax,Nmax].

classmethod create(matrix=None, shape=(3, 3, 3))[source]

matrix = A Nmax*Nmax*Nmax array that represent plane dependent quantities.

matrix(flatten=False, include_indices=False)[source]

If flatten=False, re-create the third dimension from the flattened 2D _matrix. If flatten=True, return a flattened 1D array.

property shape
class httk.atomistic.results.utils.ThirdOrderElasticTensor(_matrix, _nan_mask, _shape)[source]

Bases: HttkObject

classmethod create(matrix=None, shape=(6, 6, 6))[source]

matrix = A 6x6x6 array that represent the third order elastic constants.

matrix(flatten=False, include_indices=False)[source]

If flatten=False, re-create the third dimension from the flattened 2D _matrix. If flatten=True, return a flattened 1D array.

property shape