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
- Atomic (inputs)
- 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 optionalsharpnessfactor
- The center of the cutoff transition, i,.e.
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 speciesSOAP_hypers()- returns dict of SOAP hyperparams (cutoff,cutoff_transition_widthandatom_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, andatom_gaussian_widthvalues
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
661e37653eef089e77de4ad4af0536f0092700d6679209ab5029f81d174c61a1
|
|
| MD5 |
6bdb191fcb484e4bba992098a6820abc
|
|
| BLAKE2b-256 |
ebc72adfd2b6b10c0ddbafe58ee2c88fbd4e4996af2cae47ca57b88c2abfaae2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0424d66cfa55c2aa0d19312390c0df3369221730bfea7d13a4b935b5f6bd7b54
|
|
| MD5 |
664c4d3cdedc73fe410574fa0683b9d2
|
|
| BLAKE2b-256 |
362e16f38d01c18ff4e0d73c0010c3bef24de737e41dca94cfd2d62a99d37876
|