Skip to content

Commit 49beb39

Browse files
committed
phonon: method and other queries
1 parent 56382c7 commit 49beb39

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

emmet-api/emmet/api/routes/materials/phonon/query_operators.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from fastapi import Query
12
from emmet.core.mpid import MPID
23

34
from maggma.api.query_operator import QueryOperator
@@ -19,3 +20,22 @@ def query(
1920
),
2021
) -> STORE_PARAMS:
2122
return {"criteria": {"task_id": str(task_id)}}
23+
24+
25+
class PhononMethodQuery(QueryOperator):
26+
"""
27+
Method to query phonon method
28+
"""
29+
30+
def query(
31+
self,
32+
phonon_method: str = Query(
33+
None,
34+
description="Phonon Method to search for",
35+
),
36+
) -> STORE_PARAMS:
37+
crit = {}
38+
if phonon_method in {"dfpt", "phonopy", "pheasy"}:
39+
crit = {"phonon_method": phonon_method}
40+
41+
return {"criteria": crit}

emmet-api/emmet/api/routes/materials/phonon/resources.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
from maggma.api.query_operator import PaginationQuery, SparseFieldsQuery
1+
from maggma.api.query_operator import PaginationQuery, SparseFieldsQuery, NumericQuery
22
from maggma.api.resource import ReadOnlyResource
33

44
from emmet.core.phonon import PhononBSDOSDoc
5-
from emmet.api.routes.materials.materials.query_operators import MultiMaterialIDQuery
5+
from emmet.api.routes.materials.materials.query_operators import (
6+
MultiMaterialIDQuery,
7+
ElementsQuery,
8+
FormulaQuery,
9+
ChemsysQuery,
10+
SymmetryQuery,
11+
)
12+
from emmet.api.routes.materials.phonon.query_operators import PhononMethodQuery
613
from emmet.api.core.global_header import GlobalHeaderProcessor
714
from emmet.api.core.settings import MAPISettings
815

@@ -13,6 +20,12 @@ def phonon_bsdos_resource(phonon_bs_store):
1320
PhononBSDOSDoc,
1421
query_operators=[
1522
MultiMaterialIDQuery(),
23+
FormulaQuery(),
24+
ChemsysQuery(),
25+
ElementsQuery(),
26+
SymmetryQuery(),
27+
PhononMethodQuery(),
28+
NumericQuery(model=PhononBSDOSDoc, excluded_fields=["composition"]),
1629
PaginationQuery(),
1730
SparseFieldsQuery(
1831
PhononBSDOSDoc, default_fields=["material_id", "last_updated"]

0 commit comments

Comments
 (0)