Skip to main content

No project description provided

Project description

universal-soap

scripts to create SOAP descriptors for arbitrary elements and combinations

Heuristics:

  • Length scales
    • Atomic (inputs)
      • typical bond length (from equilibrium bond length in lowest energy 2D or 3D structure)
      • minimal bond length (from shortest bond length of any equilibrium structure, including dimer)
    • Pairs: typical and minimal length scales equal to the arithmetic mean of the two corresponding atomic length scales
  • For each atomic number Z there is a set of length scales associated with it as the center, applying to all neighbor types
    • Typical Z-Z (homonuclear) bond length * 1.3
    • Add one spacing factor (currently 1.5) larger
    • Add additional shorter length scales, by factors of 1/spacing^n, as long as they are at least 1.3 times larger than shortest bond (over all Z_center-Z2 pairs)
    • If the longest bond times 1.3 is more than 1.1 times larger than the outermost length scale so far, add additional longer length scales, by factors of spacing^n, until the longest one is larger than 1.3 times longest bond (over all Z_center-Z2 pairs)
    • For each of these length scales there is an associated SOAP
      • The center of the cutoff transition, i,.e. cutoff - 0.5 transition, is equal to the length scale
      • The transition width is min(0.25 length_scale, 2 Angstrom)
      • The atom sigma is the length_scale / 8, divided by an optional sharpness factor

Files:

  • length_scales.json: file with information on atomic length scales: minimum bond length, typical bond length, volume/atom. For each of these values there's also a string for information source (e.g. URL), and dict of other info/links

  • universal_SOAPs.py: routines that actually compute length scales and corresponding SOAP hyper-params

    • descriptor_len_scales_for_center() - length scales for a given species as center in the presences of any number of neighbor species
    • SOAP_hypers() - returns dict of SOAP hyperparams (cutoff, cutoff_transition_width and atom_gaussian_width) with element atomic numbers as keys, and list of 3 entry dicts as values, one dict per SOAP descriptor/length scale
  • write_descriptor_quantity_json: Executable that reads length_scales.json file and list of atomic numbers, and outputs json with per-descriptor cutoff, transition, and atom_gaussian_width values

Example

The command python write_descriptor_quantity_json --Zs 5 32 will return length scales needed to define the SOAP descriptors for a system with boron (5) and germanium (32). The output is

{"5": [{"cutoff": 2.6, "cutoff_transition_width": 0.64, "atom_gaussian_width": 0.32}, {"cutoff": 3.8, "cutoff_transition_width": 0.96, "atom_gaussian_width": 0.48}], "32": [{"cutoff": 3.8, "cutoff_transition_width": 0.94, "atom_gaussian_width": 0.47}, {"cutoff": 5.6, "cutoff_transition_width": 1.4, "atom_gaussian_width": 0.7}]}

So three SOAPs each the boron-centered and the germanium-centered descriptors, with cutoffs, cutoff_transition_widths and atom_gaussian_widths parameters given.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

universalsoap-0.1.1.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

universalSOAP-0.1.1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file universalsoap-0.1.1.tar.gz.

File metadata

  • Download URL: universalsoap-0.1.1.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for universalsoap-0.1.1.tar.gz
Algorithm Hash digest
SHA256 661e37653eef089e77de4ad4af0536f0092700d6679209ab5029f81d174c61a1
MD5 6bdb191fcb484e4bba992098a6820abc
BLAKE2b-256 ebc72adfd2b6b10c0ddbafe58ee2c88fbd4e4996af2cae47ca57b88c2abfaae2

See more details on using hashes here.

File details

Details for the file universalSOAP-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: universalSOAP-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for universalSOAP-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0424d66cfa55c2aa0d19312390c0df3369221730bfea7d13a4b935b5f6bd7b54
MD5 664c4d3cdedc73fe410574fa0683b9d2
BLAKE2b-256 362e16f38d01c18ff4e0d73c0010c3bef24de737e41dca94cfd2d62a99d37876

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page