Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add optimization_type property for structures #455

Open
wants to merge 35 commits into
base: develop
Choose a base branch
from
Open
Changes from 28 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3665014
Add structure_origin to structures endpoint
rartino Feb 17, 2023
a7b7316
Improved formulations for structure_origin
rartino Feb 20, 2023
a8d77cf
Adjust terminology to use property rather than field
rartino Feb 20, 2023
8aedb8b
Apply suggestions from code review
rartino Feb 20, 2023
14c2825
Suggestions from review
rartino Feb 21, 2023
529a65c
Apply suggestions from review
rartino Feb 22, 2023
da4c43a
Edited categories and formulations for structure_orgin based on revie…
rartino Feb 22, 2023
27cde5f
Remove redundant line about null values in structure_origin
rartino Feb 22, 2023
7d93bc8
Merge branch 'develop' into structure_origin
rartino Mar 2, 2023
391629d
Update according to feedback in web meeting; remove constraint on con…
rartino Mar 17, 2023
4d6d65d
Update optimade.rst
rartino Mar 17, 2023
d7c9918
Replacing processed with derived in structure_origin
rartino Mar 17, 2023
e1c2b43
Apply suggestions from review
rartino Mar 20, 2023
55e20d1
Attempt at clarifying non-required status of "predicted"
rartino Mar 20, 2023
dc198a4
Slightly adjust wording
rartino Mar 20, 2023
43d9799
Slightly adjust wording
rartino Mar 20, 2023
a885700
Remove "extreme conditions" also in the overview and clarifiy that so…
rartino Mar 20, 2023
69a54f8
Remove another reference to extreme conditions
rartino Mar 20, 2023
6fbb752
Fix formatting error
rartino Mar 20, 2023
2ca16b4
Apply suggestions from review
rartino Mar 20, 2023
cfaceab
Remove trailing whitespace
rartino Mar 22, 2023
94e07a6
Add "indeterminate" classification
rartino Mar 22, 2023
5b96c6e
Minor grammar fix
rartino Mar 22, 2023
ef40f6e
Minor grammar fix
rartino Mar 22, 2023
7fadfc2
Minor grammar fix
rartino Mar 22, 2023
6994d2e
Fix formatting
rartino Mar 22, 2023
3e0bb62
Remove incorrect sentence about null-valued structure_origin
rartino Mar 22, 2023
bcc44fa
Complete rewrite based on review feedback
rartino Jan 10, 2024
74b459c
Minor language and grammar corrections
rartino Jan 10, 2024
0747f46
Remove trailing whitespace
rartino Jan 10, 2024
e4549fc
Merge branch 'develop' into structure_origin
rartino Jan 10, 2024
69fdc58
Remove whitespace
rartino Jan 10, 2024
4a0dcd5
Slight adjustment of a formulation
rartino Jan 10, 2024
0e324d3
Fix punctuation
rartino Jan 10, 2024
3d76751
Fix punctuation
rartino Jan 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions optimade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2860,6 +2860,53 @@ structure\_features

- A structure having implicit atoms and using assemblies: :val:`["assemblies", "implicit_atoms"]`

optimization\_type
~~~~~~~~~~~~~~~~~~

- **Description**: A string that classifies the type of optimization that has resulted in the structural data.

- **Type**: string
- **Requirements/Conventions**:
- **Support**: OPTIONAL support in implementations, i.e., MAY be :val:`null`.
rartino marked this conversation as resolved.
Show resolved Hide resolved
rartino marked this conversation as resolved.
Show resolved Hide resolved
- **Query**: Support for queries on this property is OPTIONAL.

- If the property is :val:`null` or omitted, no information is provided about the type of optimization used to obtain the structural data.

- If present and not :val:`null`, the property SHOULD take one of the following values:

* :val:`experimental`: the structure is the result of an optimization or refinement process part of an experimental technique, e.g., minimization of the discrepancy between observed and predicted scattered amplitudes from diffraction data.
rartino marked this conversation as resolved.
Show resolved Hide resolved

* :val:`hybrid`: the structure is the result of the combination of an experiment and further optimization based on a reasonable theoretical energy model in such a way that it remains a fair representation of the original experimental structure.
rartino marked this conversation as resolved.
Show resolved Hide resolved
For example, experimental structures relaxed using *ab initio* calculations are in this category.
Structures where the experimental coordinates are kept, but one or more elements are substituted for other elements are not included in this category.
rartino marked this conversation as resolved.
Show resolved Hide resolved

* :val:`global`: the structure has been optimized using a theoretical technique based on a reasonable energy model in a way that takes into account the global energy surface.
The structure has been optimized into the global energy minimum or into a local minimum within an energy range of the global minimum commonly considered for potential metastability (typically on the scale of 100 meV/atom).
A common technique for this type of optimization is to construct the convex hull of thermodynamical stability from the known minima and dismiss structures outside the relevant energy range.
rartino marked this conversation as resolved.
Show resolved Hide resolved

* :val:`local`: the structure has been optimized using a theoretical technique based on a reasonable energy model into a local minimum of the energy surface.
For example, structures relaxed using *ab initio* calculations without consideration of the convex hull of thermodynamical stability qualify for this category.
rartino marked this conversation as resolved.
Show resolved Hide resolved

* :val:`none`: the structural has not undergone an optimization process and is thus, in some sense, arbitrary.
rartino marked this conversation as resolved.
Show resolved Hide resolved
Structures of this kind can come from, e.g., randomly generated coordinates or non-equilibrium snapshots.

* :val:`indeterminate`: the database declares that the type of optimization used for this specific entry cannot be determined, e.g., because that information is missing.
This value represents a stronger statement - it is known that optimization is unknown - than an omitted classification (i.e, the field is missing or has value :val:`null`) that marks the property unknown only in the sense discussed in the section `Properties with an unknown value`_.)
rartino marked this conversation as resolved.
Show resolved Hide resolved

rartino marked this conversation as resolved.
Show resolved Hide resolved
* :val:`other`: the structure is the result of some optimization process, but none of the other categories correctly represents the type of optimization used.

Other strings prefixed by a database-specific prefix, e.g., `_exmpl_optimized_on_fixed_grid`. SHOULD NOT be used.
rartino marked this conversation as resolved.
Show resolved Hide resolved
Other non-standard strings MUST NOT be used.
Clients encountering unrecognized strings SHOULD treat them to mean the same as the field having the value :val:`"other"`.

Structures produced by AI models and other techniques that have been reasonably tested to reliably generate results equivalent with structural optimization using energy models SHOULD be classified the same as if that type of energy model had been used.
rartino marked this conversation as resolved.
Show resolved Hide resolved

- **Examples**:

- For a structure entry directly encoding structural information obtained from a neutron diffraction experiment: :val:`"experimental"`.
rartino marked this conversation as resolved.
Show resolved Hide resolved

- For a structure entry that encodes the structural information from a theoretical relaxation of an :val:`"experimental"` entry using computational software that implements density functional theory: :val:`"hybrid"`.

Calculations Entries
--------------------

Expand Down
Loading