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

Merged
merged 36 commits into from
Feb 3, 2025
Merged
Changes from 19 commits
Commits
Show all changes
36 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
6fca4fa
Merge branch 'develop' into structure_origin
rartino Jan 31, 2025
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
49 changes: 49 additions & 0 deletions optimade.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2860,6 +2860,55 @@ structure\_features

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

structure\_origin
~~~~~~~~~~~~~~~~~

- **Description**: A string that describes aspects of the origin of the structural data to indicate if it is based directly or indirectly on experimental evidence, or inferred from other sources, giving some information on whether the structural data was obtained with the intent of representing a structure that can exist in nature or be synthesized as a stable compound.

- **Type**: string
- **Requirements/Conventions**:

- **Support**: OPTIONAL support in implementations, i.e., MAY be :val:`null`.
- **Query**: MUST be a queryable property with support for all mandatory filter features.

- If the property is :val:`null` or omitted, no information is provided regarding these aspects of the origin of the structural information.
This value is used if the origin of the structural data is not known, or, if it is partially known but to an insufficient degree to distinguish between the categories defined below.

- If present and not :val:`null`, the property SHOULD take the first of the following values for which the structural information qualifies:

* :val:`experimental`: the structural information is a faithful representation of the outcome of an experimental technique for structure determination.

* :val:`derived`: the structural information originates from experimental data, but has undergone additional processing in such a way that the result is still recognizable as the experimental structure it was based on.
For example, experimental structures relaxed using *ab initio* calculations are meant to qualify for this category.
Structures where one or more elements in a structure have been substituted (while, e.g., keeping the experimental coordinates the same) are not meant to qualify for this category.
The category definition involves a degree of subjectivity that has to be decided by the database provider.

* :val:`predicted`: the structural information is not directly related to the outcome of an experiment on an existing material, but is proposed from theoretical methods to represent a potentially synthesizable structure.
For example, theoretically invented structures found to be close to the convex hull of thermodynamical stability at reasonable conditions by relaxation using *ab initio* calculations, AI models with a demonstrated reasonable predictive power, or similar techniques qualify for this category.
Structures that are the outcome of theoretical methods that specifically target conditions far outside normal conditions are not meant to qualify for this category.
This category definition involves a degree of subjectivity that has to be determined by the database provider.
It is OPTIONAL for database providers to predict theoretical structures as potentially synthesizable or not.
If this functionality is not provided, any structures that could fit this category are meant to be assigned the next qualifying category below instead.

* :val:`hypothetical`: the structural information is not directly related to the outcome of an experiment on an existing material, but is proposed from theoretical methods to represent a local energy minimum on the potential energy surface.
This category accommodates potentially highly thermodynamically unstable structures, e.g., predicted to decompose into other competing phases, even with respect to the elemental solids.
For example, structures relaxed using *ab initio* calculations but not identified to end up close to the convex hull of thermodynamical stability qualify for this category.
AI models which, with a demonstrated reasonable predictive power, can generate structures in local potential energy minimums (e.g., by relaxation via predicted forces, direct generation, etc.) also qualify.
This category definition also involves a degree of subjectivity that has to be determined by the database provider.

* :val:`arbitrary`: the structural information has been created in a way that does not ensure any type of stability, i.e., not even representing a local energy minimum on the potential energy surface.
For example, arbitrarily placed atoms that have not been locally optimized, non-equilibrium snapshots, and outcomes of AI models for which the predictive power is deemed insufficient for the earlier categories, all qualify for this category.

* :val:`other`: the origin of the structural information is known, but is not correctly described by any of the above categories.

- Database-specific strings using a database provider prefix (e.g., `_exmpl_experimental_at_extreme_pressure`) MAY be used but are strongly discouraged.
Clients encountering unrecognized strings SHOULD treat them to mean the same as the field having the value :val:`null`.

- **Examples**:

- For a structure entry directly encoding structural information obtained from a neutron diffraction experiment: :val:`"experimental"`.
- For a structure entry that encodes the structural information from a theoretical relaxation of an "experimental" entry using computational software that implements density functional theory: :val:`"derived"`.

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

Expand Down