From e96d0909a8dc06910ae2542e049e9ac3da3ce088 Mon Sep 17 00:00:00 2001 From: Julia Schumann <jschumann@fhi-berlin.mpg.de> Date: Sat, 29 Jun 2024 10:27:11 +0000 Subject: [PATCH] change catalytic properties results section and update eletronic parsers to apply gaussian frequencies patch --- dependencies/parsers/electronic | 2 +- gui/src/components/search/FilterRegistry.js | 19 +- .../menus/FilterSubMenuCatalystProperties.js | 19 +- .../search/widgets/WidgetScatterPlot.spec.js | 6 +- .../visualization/CatalystSample.js | 9 +- gui/tests/artifacts.js | 662 +++++++++++------- gui/tests/data/search/searchpage.json | 188 +++-- gui/tests/env.js | 34 +- nomad/config/defaults.yaml | 34 +- nomad/datamodel/results.py | 239 ++++--- tests/states/search.py | 6 +- 11 files changed, 686 insertions(+), 532 deletions(-) diff --git a/dependencies/parsers/electronic b/dependencies/parsers/electronic index b3c3d74149..97e51b0606 160000 --- a/dependencies/parsers/electronic +++ b/dependencies/parsers/electronic @@ -1 +1 @@ -Subproject commit b3c3d7414918d69ddad9e1398133f6c60de541d8 +Subproject commit 97e51b06065db72782533c01a867d808cd6ec009 diff --git a/gui/src/components/search/FilterRegistry.js b/gui/src/components/search/FilterRegistry.js index 49483abaed..92795100d5 100644 --- a/gui/src/components/search/FilterRegistry.js +++ b/gui/src/components/search/FilterRegistry.js @@ -477,32 +477,31 @@ registerFilter( ] ) registerFilter( - 'results.properties.catalytic.catalyst_characterization', + 'results.properties.catalytic.catalyst', idCatalyst, nestedQuantity, [ - {name: 'method', ...termQuantity}, + {name: 'characterization_methods', ...termQuantity}, {name: 'surface_area', ...numberHistogramQuantity, scale: '1/4'}, - {name: 'method_surface_area', ...termQuantity} + {name: 'catalyst_name', ...termQuantity}, + {name: 'catalyst_type', ...termQuantity}, + {name: 'preparation_method', ...termQuantity} ] ) registerFilter( - 'results.properties.catalytic.catalyst_synthesis', + 'results.properties.catalytic.reaction', idCatalyst, nestedQuantity, [ - {name: 'catalyst_name', ...termQuantity}, - {name: 'catalyst_type', ...termQuantity}, - {name: 'preparation_method', ...termQuantity} + {name: 'name', ...termQuantity}, + {name: 'type', ...termQuantity} ] ) registerFilter( - 'results.properties.catalytic.reaction', + 'results.properties.catalytic.reaction.reaction_conditions', idCatalyst, nestedQuantity, [ - {name: 'name', ...termQuantity}, - {name: 'type', ...termQuantity}, {name: 'temperature', ...numberHistogramQuantity, scale: '1/4'}, {name: 'pressure', ...numberHistogramQuantity, scale: 'linear'}, {name: 'weight_hourly_space_velocity', ...numberHistogramQuantity, scale: '1/4'} diff --git a/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js b/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js index 32afc499d6..01ba2911f2 100755 --- a/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js +++ b/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js @@ -82,39 +82,34 @@ const FilterSubMenuCatalyst = React.memo(({ </InputGridItem> <InputGridItem xs={12}> <InputRange - quantity="results.properties.catalytic.reaction.temperature" + quantity="results.properties.catalytic.reaction.reaction_conditions.temperature" visible={visible} /> </InputGridItem> <InputGridItem xs={12}> <InputSection - section="results.properties.catalytic.catalyst_synthesis" + section="results.properties.catalytic.catalyst" disableHeader visible={visible} > <InputField - quantity="results.properties.catalytic.catalyst_synthesis.catalyst_type" + quantity="results.properties.catalytic.catalyst.catalyst_type" visible={visible} /> <InputField - quantity="results.properties.catalytic.catalyst_synthesis.preparation_method" + quantity="results.properties.catalytic.catalyst.preparation_method" visible={visible} /> <InputField - quantity="results.properties.catalytic.catalyst_synthesis.catalyst_name" + quantity="results.properties.catalytic.catalyst.catalyst_name" visible={visible} /> - </InputSection> - <InputSection - section="results.properties.catalytic.catalyst_characterization" - visible={visible} - > <InputField - quantity="results.properties.catalytic.catalyst_characterization.method" + quantity="results.properties.catalytic.catalyst.characterization_methods" visible={visible} /> <InputRange - quantity="results.properties.catalytic.catalyst_characterization.surface_area" + quantity="results.properties.catalytic.catalyst.surface_area" visible={visible} /> </InputSection> diff --git a/gui/src/components/search/widgets/WidgetScatterPlot.spec.js b/gui/src/components/search/widgets/WidgetScatterPlot.spec.js index df96c0adcb..ee7dce6f5a 100644 --- a/gui/src/components/search/widgets/WidgetScatterPlot.spec.js +++ b/gui/src/components/search/widgets/WidgetScatterPlot.spec.js @@ -47,7 +47,7 @@ jest.mock('../SearchContext', () => ({ electronic: {band_gap: [{value: 0}, {value: 1}]}, catalytic: { reaction: { - temperature: [0, 1, 2], + reaction_conditions: {temperature: [0, 1, 2]}, reactants: [ {name: 'CO2', conversion: [0, 1, 2]}, {name: 'NO2', conversion: [3, 4, 5]} @@ -66,7 +66,7 @@ jest.mock('../SearchContext', () => ({ electronic: {band_gap: [{value: 0}, {value: 1}]}, catalytic: { reaction: { - temperature: [0, 1, 2], + reaction_conditions: {temperature: [0, 1, 2]}, reactants: [ {name: 'H2O', conversion: [0, 1, 2]}, {name: 'O2', conversion: [3, 4, 5]} @@ -91,7 +91,7 @@ describe('test different combinations of x/y/color produced with JMESPath', () = ['slicing', 'results.properties.electronic.band_gap[1:2].value', 'results.properties.electronic.band_gap[1:2].value', 'results.properties.electronic.band_gap[1:2].value'], ['function', 'min(results.properties.electronic.band_gap[*].value)', 'min(results.properties.electronic.band_gap[*].value)', 'min(results.properties.electronic.band_gap[*].value)'], ['filter projection', "results.material.topology[?label=='original'].cell.a", "results.material.topology[?label=='original'].cell.a", "results.material.topology[?label=='original'].cell.a"], - ['1D array vs 2D array vs 1D color', 'results.properties.catalytic.reaction.temperature', 'results.properties.catalytic.reaction.reactants[*].conversion', 'results.properties.catalytic.reaction.reactants[*].name'] + ['1D array vs 2D array vs 1D color', 'results.properties.catalytic.reaction.reaction_conditions.temperature', 'results.properties.catalytic.reaction.reactants[*].conversion', 'results.properties.catalytic.reaction.reactants[*].name'] ])('%s', async (name, x, y, color) => { const config = { id: '0', diff --git a/gui/src/components/visualization/CatalystSample.js b/gui/src/components/visualization/CatalystSample.js index 9ffdc39b1e..d8210e9ba8 100755 --- a/gui/src/components/visualization/CatalystSample.js +++ b/gui/src/components/visualization/CatalystSample.js @@ -25,8 +25,7 @@ import Placeholder from './Placeholder' * Shows a summary of catalyst properties. */ const CatalystSample = React.memo(({data}) => { - const prefix = 'results.properties.catalytic.catalyst_characterization' - const prefix1 = 'results.properties.catalytic.catalyst_synthesis' + const prefix = 'results.properties.catalytic.catalyst' const prefix2 = 'results.properties.catalytic.reaction' return data !== false ? data @@ -34,12 +33,12 @@ const CatalystSample = React.memo(({data}) => { <QuantityRow> <QuantityCell value={data?.catalyst_name} quantity={`${prefix}.catalyst_name`}/> <QuantityCell value={data?.surface_area} quantity={`${prefix}.surface_area`}/> - <QuantityCell value={data?.catalyst_type} quantity={`${prefix1}.catalyst_type`}/> - <QuantityCell value={data?.preparation_method} quantity={`${prefix1}.preparation_method`}/> + <QuantityCell value={data?.catalyst_type} quantity={`${prefix}.catalyst_type`}/> + <QuantityCell value={data?.preparation_method} quantity={`${prefix}.preparation_method`}/> </QuantityRow> <QuantityRow> <QuantityCell value={data?.name} quantity={`${prefix2}.name`}/> - <QuantityCell value={data?.temperature} quantity={`${prefix2}.temperature`}/> + <QuantityCell value={data?.temperature} quantity={`${prefix2}.reaction_conditions.temperature`}/> <QuantityCell value={data?.reactants.name} quantity={`${prefix2}.reactants.name`}/> <QuantityCell value={data?.reactants.conversion} quantity={`${prefix2}.reactants.conversion`}/> <QuantityCell value={data?.products.name} quantity={`${prefix2}.products.name`}/> diff --git a/gui/tests/artifacts.js b/gui/tests/artifacts.js index fa60710fb3..b0f6b3558f 100644 --- a/gui/tests/artifacts.js +++ b/gui/tests/artifacts.js @@ -4770,109 +4770,6 @@ window.nomadArtifacts = { "repeats": false, "suggestion": true }, - "results.properties.catalytic.reaction.weight_hourly_space_velocity": { - "name": "weight_hourly_space_velocity", - "description": "The weight hourly space velocity in 1/time (gas flow per catalyst mass).", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "milliliter / gram / second", - "shape": [ - "*" - ], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, - "results.properties.catalytic.reaction.gas_hourly_space_velocity": { - "name": "gas_hourly_space_velocity", - "description": "The gas hourly space velocity in 1/time (gas flow per catalyst volume).", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "1 / second", - "shape": [ - "*" - ], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, - "results.properties.catalytic.reaction.flow_rate": { - "name": "flow_rate", - "description": "The volumetric gas flow in volume per time.", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "meter ** 3 / second", - "shape": [ - "*" - ], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, - "results.properties.catalytic.reaction.temperature": { - "name": "temperature", - "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "kelvin", - "shape": [ - "*" - ], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, - "results.properties.catalytic.reaction.time_on_stream": { - "name": "time_on_stream", - "description": "The time on stream of the catalyst in the catalytic reaction.", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "second", - "shape": [ - "*" - ], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, - "results.properties.catalytic.reaction.total_time_on_stream": { - "name": "total_time_on_stream", - "description": "The total time on stream of the catalyst in the catalytic test reaction.", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "second", - "shape": [], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, - "results.properties.catalytic.reaction.pressure": { - "name": "pressure", - "description": "The pressure during the catalytic test reaction.", - "type": { - "type_kind": "numpy", - "type_data": "float64" - }, - "unit": "pascal", - "shape": [ - "*" - ], - "aggregatable": false, - "dynamic": false, - "repeats": false - }, "results.properties.catalytic.reaction.reactants.name": { "name": "name", "description": "IUPAC name of the reagent.", @@ -5013,7 +4910,7 @@ window.nomadArtifacts = { }, "results.properties.catalytic.reaction.rates.reaction_rate": { "name": "reaction_rate", - "description": "The rate of the number of reactant or product molecules converted/produced, per mass of total catalyst, per time.", + "description": "The rate of the number of reactant or product molecules converted/produced,\nper mass of total catalyst, per time.", "type": { "type_kind": "numpy", "type_data": "float64" @@ -5026,7 +4923,7 @@ window.nomadArtifacts = { }, "results.properties.catalytic.reaction.rates.specific_mass_rate": { "name": "specific_mass_rate", - "description": "The specific rate of the reactant, per mass of active catalyst component (e.g. metal).", + "description": "The specific rate of the reactant, per mass of active catalyst component\n(e.g. metal).", "type": { "type_kind": "numpy", "type_data": "float64" @@ -5050,20 +4947,166 @@ window.nomadArtifacts = { "dynamic": false, "repeats": true }, - "results.properties.catalytic.reaction.rates.turn_over_frequency": { - "name": "turn_over_frequency", - "description": "The turn over frequency, calculated from mol of reactant or product per number of sites over time.", + "results.properties.catalytic.reaction.rates.turnover_frequency": { + "name": "turnover_frequency", + "description": "The turnover frequency, calculated from mol of reactant or product per\nnumber of sites over time.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "1 / second", + "shape": [], + "aggregatable": false, + "dynamic": false, + "repeats": true + }, + "results.properties.catalytic.reaction.reaction_conditions.temperature": { + "name": "temperature", + "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "kelvin", + "shape": [ + "*" + ], + "aggregatable": false, + "dynamic": false, + "repeats": false + }, + "results.properties.catalytic.reaction.reaction_conditions.pressure": { + "name": "pressure", + "description": "The pressure during the catalytic test reaction.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "pascal", + "shape": [ + "*" + ], + "aggregatable": false, + "dynamic": false, + "repeats": false + }, + "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity": { + "name": "weight_hourly_space_velocity", + "description": "The weight hourly space velocity in 1/time (gas flow per catalyst mass).", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "milliliter / gram / second", + "shape": [ + "*" + ], + "aggregatable": false, + "dynamic": false, + "repeats": false + }, + "results.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity": { + "name": "gas_hourly_space_velocity", + "description": "The gas hourly space velocity in 1/time (gas flow per catalyst volume).", "type": { "type_kind": "numpy", "type_data": "float64" }, "unit": "1 / second", + "shape": [ + "*" + ], + "aggregatable": false, + "dynamic": false, + "repeats": false + }, + "results.properties.catalytic.reaction.reaction_conditions.flow_rate": { + "name": "flow_rate", + "description": "The volumetric gas flow in volume per time.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "meter ** 3 / second", + "shape": [ + "*" + ], + "aggregatable": false, + "dynamic": false, + "repeats": false + }, + "results.properties.catalytic.reaction.reaction_conditions.time_on_stream": { + "name": "time_on_stream", + "description": "The time on stream of the catalyst in the catalytic reaction.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "second", + "shape": [ + "*" + ], + "aggregatable": false, + "dynamic": false, + "repeats": false + }, + "results.properties.catalytic.reaction.reaction_mechanism.initial_states": { + "name": "initial_states", + "description": "The names of reactants of the reaction or elementary step.", + "type": { + "type_kind": "python", + "type_data": "str" + }, + "shape": [ + "*" + ], + "aggregatable": true, + "dynamic": false, + "repeats": true, + "suggestion": true + }, + "results.properties.catalytic.reaction.reaction_mechanism.final_states": { + "name": "final_states", + "description": "The names of products of the reaction or elementary step.", + "type": { + "type_kind": "python", + "type_data": "str" + }, + "shape": [ + "*" + ], + "aggregatable": true, + "dynamic": false, + "repeats": true, + "suggestion": true + }, + "results.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy": { + "name": "reaction_enthalpy", + "description": "The reaction enthalpy of the reaction or reaction step.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "joule", "shape": [], "aggregatable": false, "dynamic": false, "repeats": true }, - "results.properties.catalytic.catalyst_synthesis.catalyst_name": { + "results.properties.catalytic.reaction.reaction_mechanism.activation_energy": { + "name": "activation_energy", + "description": "The (apparent) activation energy of the catalyzed reaction or reaction step.", + "type": { + "type_kind": "numpy", + "type_data": "float64" + }, + "unit": "joule", + "shape": [], + "aggregatable": false, + "dynamic": false, + "repeats": true + }, + "results.properties.catalytic.catalyst.catalyst_name": { "name": "catalyst_name", "description": "Custom name of catalyst.", "type": { @@ -5076,9 +5119,9 @@ window.nomadArtifacts = { "repeats": false, "suggestion": true }, - "results.properties.catalytic.catalyst_synthesis.preparation_method": { + "results.properties.catalytic.catalyst.preparation_method": { "name": "preparation_method", - "description": "The main preparation method of the sample.", + "description": "The main preparation method of the catalyst sample.", "type": { "type_kind": "python", "type_data": "str" @@ -5089,22 +5132,24 @@ window.nomadArtifacts = { "repeats": false, "suggestion": true }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type": { + "results.properties.catalytic.catalyst.catalyst_type": { "name": "catalyst_type", - "description": "The type of catalyst, wether metal or oxide, ...", + "description": "The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\nMultiple values can apply.", "type": { "type_kind": "python", "type_data": "str" }, - "shape": [], + "shape": [ + "*" + ], "aggregatable": true, "dynamic": false, "repeats": false, "suggestion": true }, - "results.properties.catalytic.catalyst_characterization.method": { - "name": "method", - "description": "A method used to characterize the catalyst.", + "results.properties.catalytic.catalyst.characterization_methods": { + "name": "characterization_methods", + "description": "A list of methods used to characterize the catalyst sample.", "type": { "type_kind": "python", "type_data": "str" @@ -5117,7 +5162,7 @@ window.nomadArtifacts = { "repeats": false, "suggestion": true }, - "results.properties.catalytic.catalyst_characterization.surface_area": { + "results.properties.catalytic.catalyst.surface_area": { "name": "surface_area", "description": "The surface area per catalyst mass.", "type": { @@ -5130,19 +5175,6 @@ window.nomadArtifacts = { "dynamic": false, "repeats": false }, - "results.properties.catalytic.catalyst_characterization.method_surface_area": { - "name": "method_surface_area", - "description": "The method with which the surface area per catalyst mass was determined, e.g. BET.", - "type": { - "type_kind": "python", - "type_data": "str" - }, - "shape": [], - "aggregatable": true, - "dynamic": false, - "repeats": false, - "suggestion": true - }, "results.properties.mechanical.energy_volume_curve.type": { "name": "type", "type": { @@ -6016,13 +6048,13 @@ window.nomadArtifacts = { }, "results.properties.catalytic": { "name": "catalytic", - "description": "\n Properties of Heterogeneous Catalysts.\n ", + "description": "\n Properties relating to catalysis.\n ", "nested": false, "repeats": false }, "results.properties.catalytic.reaction": { "name": "reaction", - "description": "\n Properties of a catalytic test reaction.\n ", + "description": "\n A collection of specifications and properties of a full catalytic reaction.\n This may include reaction conditions, results and mechanistic aspects of a reaction.\n ", "nested": false, "repeats": false }, @@ -6040,18 +6072,24 @@ window.nomadArtifacts = { }, "results.properties.catalytic.reaction.rates": { "name": "rates", - "description": "\n The rate of a catalytic test reaction.\n ", + "description": "\n Section bundling multiple representations of catalytic reaction rates.\n ", "nested": true, "repeats": true }, - "results.properties.catalytic.catalyst_synthesis": { - "name": "catalyst_synthesis", - "description": "\n Synthesis of a heterogeneous catalyst.\n ", + "results.properties.catalytic.reaction.reaction_conditions": { + "name": "reaction_conditions", + "description": "\n Conditions under which a catalytic test reaction was performed.\n ", "nested": false, "repeats": false }, - "results.properties.catalytic.catalyst_characterization": { - "name": "catalyst_characterization", + "results.properties.catalytic.reaction.reaction_mechanism": { + "name": "reaction_mechanism", + "description": "\n Properties of single steps of a catalytic reaction mechanism.\n ", + "nested": false, + "repeats": true + }, + "results.properties.catalytic.catalyst": { + "name": "catalyst", "description": "\n Properties of a heterogeneous catalyst.\n ", "nested": false, "repeats": false @@ -38544,7 +38582,10 @@ window.nomadArtifacts = { "m_parent_index": 72, "m_parent_sub_section": "section_definitions", "name": "Rate", - "description": "\n The rate of a catalytic test reaction.\n ", + "description": "\n Section bundling multiple representations of catalytic reaction rates.\n ", + "links": [ + "https://w3id.org/nfdi4cat/voc4cat_0007024" + ], "more": { "label_quantity": "name" }, @@ -38577,7 +38618,7 @@ window.nomadArtifacts = { ] }, "name": "reaction_rate", - "description": "The rate of the number of reactant or product molecules converted/produced, per mass of total catalyst, per time.", + "description": "The rate of the number of reactant or product molecules converted/produced,\nper mass of total catalyst, per time.", "links": [ "https://w3id.org/nfdi4cat/voc4cat_0007024" ], @@ -38598,7 +38639,7 @@ window.nomadArtifacts = { ] }, "name": "specific_mass_rate", - "description": "The specific rate of the reactant, per mass of active catalyst component (e.g. metal).", + "description": "The specific rate of the reactant, per mass of active catalyst component\n(e.g. metal).", "links": [ "https://w3id.org/nfdi4cat/voc4cat_0007025" ], @@ -38635,7 +38676,10 @@ window.nomadArtifacts = { "m_parent_index": 4, "m_parent_sub_section": "quantities", "name": "rate", - "description": "The rate calculated from the mass of reactant or product converted/produced, per total catalyst mass per time.", + "description": "The rate calculated from the mass of reactant or product converted/produced,\nper total catalyst mass per time.", + "links": [ + "https://w3id.org/nfdi4cat/voc4cat_0007024" + ], "type": { "type_kind": "numpy", "type_data": "float64" @@ -38651,11 +38695,11 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.rates.turn_over_frequency" + "results.properties.catalytic.reaction.rates.turnover_frequency" ] }, - "name": "turn_over_frequency", - "description": "The turn over frequency, calculated from mol of reactant or product per number of sites over time.", + "name": "turnover_frequency", + "description": "The turnover frequency, calculated from mol of reactant or product per\nnumber of sites over time.", "type": { "type_kind": "numpy", "type_data": "float64" @@ -38669,8 +38713,8 @@ window.nomadArtifacts = { "m_def": "nomad.metainfo.metainfo.Section", "m_parent_index": 73, "m_parent_sub_section": "section_definitions", - "name": "Reaction", - "description": "\n Properties of a catalytic test reaction.\n ", + "name": "ReactionConditions", + "description": "\n Conditions under which a catalytic test reaction was performed.\n ", "quantities": [ { "m_def": "nomad.metainfo.metainfo.Quantity", @@ -38678,20 +38722,22 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.name", - "results.properties.catalytic.reaction.name__suggestion" + "results.properties.catalytic.reaction.reaction_conditions.temperature" ] }, - "name": "name", - "description": "Name of the catalytic test reaction.", + "name": "temperature", + "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.", "links": [ - "https://w3id.org/nfdi4cat/voc4cat_0007009" + "https://w3id.org/nfdi4cat/voc4cat_0007032" ], "type": { - "type_kind": "python", - "type_data": "str" + "type_kind": "numpy", + "type_data": "float64" }, - "shape": [] + "shape": [ + "*" + ], + "unit": "kelvin" }, { "m_def": "nomad.metainfo.metainfo.Quantity", @@ -38699,20 +38745,22 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.type", - "results.properties.catalytic.reaction.type__suggestion" + "results.properties.catalytic.reaction.reaction_conditions.pressure" ] }, - "name": "type", - "description": "Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\nIsomerization, Coupling...", + "name": "pressure", + "description": "The pressure during the catalytic test reaction.", "links": [ - "https://w3id.org/nfdi4cat/voc4cat_0007010" + "https://w3id.org/nfdi4cat/voc4cat_0000118" ], "type": { - "type_kind": "python", - "type_data": "str" + "type_kind": "numpy", + "type_data": "float64" }, - "shape": [] + "shape": [ + "*" + ], + "unit": "pascal" }, { "m_def": "nomad.metainfo.metainfo.Quantity", @@ -38720,7 +38768,7 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.weight_hourly_space_velocity" + "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity" ] }, "name": "weight_hourly_space_velocity", @@ -38740,7 +38788,7 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.gas_hourly_space_velocity" + "results.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity" ] }, "name": "gas_hourly_space_velocity", @@ -38763,7 +38811,7 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.flow_rate" + "results.properties.catalytic.reaction.reaction_conditions.flow_rate" ] }, "name": "flow_rate", @@ -38786,14 +38834,11 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.temperature" + "results.properties.catalytic.reaction.reaction_conditions.time_on_stream" ] }, - "name": "temperature", - "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.", - "links": [ - "https://w3id.org/nfdi4cat/voc4cat_0007032" - ], + "name": "time_on_stream", + "description": "The time on stream of the catalyst in the catalytic reaction.", "type": { "type_kind": "numpy", "type_data": "float64" @@ -38801,65 +38846,146 @@ window.nomadArtifacts = { "shape": [ "*" ], - "unit": "kelvin" + "unit": "second" + } + ] + }, + { + "m_def": "nomad.metainfo.metainfo.Section", + "m_parent_index": 74, + "m_parent_sub_section": "section_definitions", + "name": "ReactionStep", + "description": "\n Properties of single steps of a catalytic reaction mechanism.\n ", + "quantities": [ + { + "m_def": "nomad.metainfo.metainfo.Quantity", + "m_parent_index": 0, + "m_parent_sub_section": "quantities", + "m_annotations": { + "elasticsearch": [ + "results.properties.catalytic.reaction.reaction_mechanism.initial_states", + "results.properties.catalytic.reaction.reaction_mechanism.initial_states__suggestion" + ] + }, + "name": "initial_states", + "description": "The names of reactants of the reaction or elementary step.", + "type": { + "type_kind": "python", + "type_data": "str" + }, + "shape": [ + "*" + ] }, { "m_def": "nomad.metainfo.metainfo.Quantity", - "m_parent_index": 6, + "m_parent_index": 1, "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.time_on_stream" + "results.properties.catalytic.reaction.reaction_mechanism.final_states", + "results.properties.catalytic.reaction.reaction_mechanism.final_states__suggestion" ] }, - "name": "time_on_stream", - "description": "The time on stream of the catalyst in the catalytic reaction.", + "name": "final_states", + "description": "The names of products of the reaction or elementary step.", "type": { - "type_kind": "numpy", - "type_data": "float64" + "type_kind": "python", + "type_data": "str" }, "shape": [ "*" - ], - "unit": "second" + ] }, { "m_def": "nomad.metainfo.metainfo.Quantity", - "m_parent_index": 7, + "m_parent_index": 2, "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.total_time_on_stream" + "results.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy" ] }, - "name": "total_time_on_stream", - "description": "The total time on stream of the catalyst in the catalytic test reaction.", + "name": "reaction_enthalpy", + "description": "The reaction enthalpy of the reaction or reaction step.", "type": { "type_kind": "numpy", "type_data": "float64" }, "shape": [], - "unit": "second" + "unit": "joule" }, { "m_def": "nomad.metainfo.metainfo.Quantity", - "m_parent_index": 8, + "m_parent_index": 3, "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.reaction.pressure" + "results.properties.catalytic.reaction.reaction_mechanism.activation_energy" ] }, - "name": "pressure", - "description": "The pressure during the catalytic test reaction.", + "name": "activation_energy", + "description": "The (apparent) activation energy of the catalyzed reaction or reaction step.", "type": { "type_kind": "numpy", "type_data": "float64" }, - "shape": [ - "*" + "shape": [], + "unit": "joule" + } + ] + }, + { + "m_def": "nomad.metainfo.metainfo.Section", + "m_parent_index": 75, + "m_parent_sub_section": "section_definitions", + "name": "Reaction", + "description": "\n A collection of specifications and properties of a full catalytic reaction.\n This may include reaction conditions, results and mechanistic aspects of a reaction.\n ", + "links": [ + "https://w3id.org/nfdi4cat/voc4cat_0005007" + ], + "quantities": [ + { + "m_def": "nomad.metainfo.metainfo.Quantity", + "m_parent_index": 0, + "m_parent_sub_section": "quantities", + "m_annotations": { + "elasticsearch": [ + "results.properties.catalytic.reaction.name", + "results.properties.catalytic.reaction.name__suggestion" + ] + }, + "name": "name", + "description": "Name of the catalytic test reaction.", + "links": [ + "https://w3id.org/nfdi4cat/voc4cat_0007009" ], - "unit": "pascal" + "type": { + "type_kind": "python", + "type_data": "str" + }, + "shape": [] + }, + { + "m_def": "nomad.metainfo.metainfo.Quantity", + "m_parent_index": 1, + "m_parent_sub_section": "quantities", + "m_annotations": { + "elasticsearch": [ + "results.properties.catalytic.reaction.type", + "results.properties.catalytic.reaction.type__suggestion" + ] + }, + "name": "type", + "description": "Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\nIsomerization, Coupling...", + "links": [ + "https://w3id.org/nfdi4cat/voc4cat_0007010" + ], + "type": { + "type_kind": "python", + "type_data": "str" + }, + "shape": [] } ], "sub_sections": [ @@ -38901,15 +39027,41 @@ window.nomadArtifacts = { "name": "rates", "sub_section": "/packages/12/section_definitions/72", "repeats": true + }, + { + "m_def": "nomad.metainfo.metainfo.SubSection", + "m_parent_index": 3, + "m_parent_sub_section": "sub_sections", + "m_annotations": { + "elasticsearch": [ + "reaction_conditions" + ] + }, + "name": "reaction_conditions", + "sub_section": "/packages/12/section_definitions/73", + "repeats": false + }, + { + "m_def": "nomad.metainfo.metainfo.SubSection", + "m_parent_index": 4, + "m_parent_sub_section": "sub_sections", + "m_annotations": { + "elasticsearch": [ + "reaction_mechanism" + ] + }, + "name": "reaction_mechanism", + "sub_section": "/packages/12/section_definitions/74", + "repeats": true } ] }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 74, + "m_parent_index": 76, "m_parent_sub_section": "section_definitions", - "name": "CatalystSynthesis", - "description": "\n Synthesis of a heterogeneous catalyst.\n ", + "name": "Catalyst", + "description": "\n Properties of a heterogeneous catalyst.\n ", "quantities": [ { "m_def": "nomad.metainfo.metainfo.Quantity", @@ -38917,8 +39069,8 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.catalyst_synthesis.catalyst_name", - "results.properties.catalytic.catalyst_synthesis.catalyst_name__suggestion" + "results.properties.catalytic.catalyst.catalyst_name", + "results.properties.catalytic.catalyst.catalyst_name__suggestion" ] }, "name": "catalyst_name", @@ -38935,12 +39087,12 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.catalyst_synthesis.preparation_method", - "results.properties.catalytic.catalyst_synthesis.preparation_method__suggestion" + "results.properties.catalytic.catalyst.preparation_method", + "results.properties.catalytic.catalyst.preparation_method__suggestion" ] }, "name": "preparation_method", - "description": "The main preparation method of the sample.", + "description": "The main preparation method of the catalyst sample.", "links": [ "https://w3id.org/nfdi4cat/voc4cat_0007016" ], @@ -38956,12 +39108,12 @@ window.nomadArtifacts = { "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.catalyst_synthesis.catalyst_type", - "results.properties.catalytic.catalyst_synthesis.catalyst_type__suggestion" + "results.properties.catalytic.catalyst.catalyst_type", + "results.properties.catalytic.catalyst.catalyst_type__suggestion" ] }, "name": "catalyst_type", - "description": "The type of catalyst, wether metal or oxide, ...", + "description": "The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\nMultiple values can apply.", "links": [ "https://w3id.org/nfdi4cat/voc4cat_0007014" ], @@ -38969,29 +39121,25 @@ window.nomadArtifacts = { "type_kind": "python", "type_data": "str" }, - "shape": [] - } - ] - }, - { - "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 75, - "m_parent_sub_section": "section_definitions", - "name": "CatalystCharacterization", - "description": "\n Properties of a heterogeneous catalyst.\n ", - "quantities": [ + "shape": [ + "*" + ] + }, { "m_def": "nomad.metainfo.metainfo.Quantity", - "m_parent_index": 0, + "m_parent_index": 3, "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.catalyst_characterization.method", - "results.properties.catalytic.catalyst_characterization.method__suggestion" + "results.properties.catalytic.catalyst.characterization_methods", + "results.properties.catalytic.catalyst.characterization_methods__suggestion" ] }, - "name": "method", - "description": "A method used to characterize the catalyst.", + "name": "characterization_methods", + "description": "A list of methods used to characterize the catalyst sample.", + "links": [ + "https://w3id.org/nfdi4cat/voc4cat_0000066" + ], "type": { "type_kind": "python", "type_data": "str" @@ -39002,11 +39150,11 @@ window.nomadArtifacts = { }, { "m_def": "nomad.metainfo.metainfo.Quantity", - "m_parent_index": 1, + "m_parent_index": 4, "m_parent_sub_section": "quantities", "m_annotations": { "elasticsearch": [ - "results.properties.catalytic.catalyst_characterization.surface_area" + "results.properties.catalytic.catalyst.surface_area" ] }, "name": "surface_area", @@ -39020,63 +39168,37 @@ window.nomadArtifacts = { }, "shape": [], "unit": "meter ** 2 / gram" - }, - { - "m_def": "nomad.metainfo.metainfo.Quantity", - "m_parent_index": 2, - "m_parent_sub_section": "quantities", - "m_annotations": { - "elasticsearch": [ - "results.properties.catalytic.catalyst_characterization.method_surface_area", - "results.properties.catalytic.catalyst_characterization.method_surface_area__suggestion" - ] - }, - "name": "method_surface_area", - "description": "The method with which the surface area per catalyst mass was determined, e.g. BET.", - "type": { - "type_kind": "python", - "type_data": "str" - }, - "shape": [] } ] }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 76, + "m_parent_index": 77, "m_parent_sub_section": "section_definitions", "name": "CatalyticProperties", - "description": "\n Properties of Heterogeneous Catalysts.\n ", + "description": "\n Properties relating to catalysis.\n ", "sub_sections": [ { "m_def": "nomad.metainfo.metainfo.SubSection", "m_parent_index": 0, "m_parent_sub_section": "sub_sections", "name": "reaction", - "sub_section": "/packages/12/section_definitions/73", + "sub_section": "/packages/12/section_definitions/75", "repeats": false }, { "m_def": "nomad.metainfo.metainfo.SubSection", "m_parent_index": 1, "m_parent_sub_section": "sub_sections", - "name": "catalyst_synthesis", - "sub_section": "/packages/12/section_definitions/74", - "repeats": false - }, - { - "m_def": "nomad.metainfo.metainfo.SubSection", - "m_parent_index": 2, - "m_parent_sub_section": "sub_sections", - "name": "catalyst_characterization", - "sub_section": "/packages/12/section_definitions/75", + "name": "catalyst", + "sub_section": "/packages/12/section_definitions/76", "repeats": false } ] }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 77, + "m_parent_index": 78, "m_parent_sub_section": "section_definitions", "name": "EELSInstrument", "description": "\n Base class for an EELS instrument.\n ", @@ -39220,7 +39342,7 @@ window.nomadArtifacts = { }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 78, + "m_parent_index": 79, "m_parent_sub_section": "section_definitions", "name": "EELSMethodology", "description": "\n Base class for the EELS methodology.\n ", @@ -39297,7 +39419,7 @@ window.nomadArtifacts = { }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 79, + "m_parent_index": 80, "m_parent_sub_section": "section_definitions", "name": "SpectraProvenance", "description": "\n Contains provenance information (mainly the methodology section) for spectra properties\n derived from an experiment or a calculation.\n ", @@ -39310,7 +39432,7 @@ window.nomadArtifacts = { "m_parent_index": 0, "m_parent_sub_section": "sub_sections", "name": "eels", - "sub_section": "/packages/12/section_definitions/78" + "sub_section": "/packages/12/section_definitions/79" }, { "m_def": "nomad.metainfo.metainfo.SubSection", @@ -39324,7 +39446,7 @@ window.nomadArtifacts = { }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 80, + "m_parent_index": 81, "m_parent_sub_section": "section_definitions", "name": "Spectra", "description": "\n Base class for Spectra calculation information as obtained from an experiment or a computation.\n ", @@ -39433,13 +39555,13 @@ window.nomadArtifacts = { "m_parent_index": 0, "m_parent_sub_section": "sub_sections", "name": "provenance", - "sub_section": "/packages/12/section_definitions/79" + "sub_section": "/packages/12/section_definitions/80" } ] }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 81, + "m_parent_index": 82, "m_parent_sub_section": "section_definitions", "name": "SpectroscopicProperties", "description": "\n Spectroscopic properties.\n ", @@ -39454,14 +39576,14 @@ window.nomadArtifacts = { ] }, "name": "spectra", - "sub_section": "/packages/12/section_definitions/80", + "sub_section": "/packages/12/section_definitions/81", "repeats": true } ] }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 82, + "m_parent_index": 83, "m_parent_sub_section": "section_definitions", "name": "Properties", "description": "\n Contains the physical properties that have been calculated or used in\n this entry.\n ", @@ -39566,7 +39688,7 @@ window.nomadArtifacts = { "m_parent_index": 7, "m_parent_sub_section": "sub_sections", "name": "catalytic", - "sub_section": "/packages/12/section_definitions/76", + "sub_section": "/packages/12/section_definitions/77", "repeats": false }, { @@ -39590,7 +39712,7 @@ window.nomadArtifacts = { "m_parent_index": 10, "m_parent_sub_section": "sub_sections", "name": "spectroscopic", - "sub_section": "/packages/12/section_definitions/81", + "sub_section": "/packages/12/section_definitions/82", "repeats": false }, { @@ -39605,7 +39727,7 @@ window.nomadArtifacts = { }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 83, + "m_parent_index": 84, "m_parent_sub_section": "section_definitions", "name": "ELN", "quantities": [ @@ -39747,7 +39869,7 @@ window.nomadArtifacts = { }, { "m_def": "nomad.metainfo.metainfo.Section", - "m_parent_index": 84, + "m_parent_index": 85, "m_parent_sub_section": "section_definitions", "name": "Results", "description": "\n Contains a summary of the entry contents.\n ", @@ -39773,7 +39895,7 @@ window.nomadArtifacts = { "m_parent_index": 2, "m_parent_sub_section": "sub_sections", "name": "properties", - "sub_section": "/packages/12/section_definitions/82", + "sub_section": "/packages/12/section_definitions/83", "repeats": false }, { @@ -39781,7 +39903,7 @@ window.nomadArtifacts = { "m_parent_index": 3, "m_parent_sub_section": "sub_sections", "name": "eln", - "sub_section": "/packages/12/section_definitions/83", + "sub_section": "/packages/12/section_definitions/84", "repeats": false } ] @@ -45779,7 +45901,7 @@ window.nomadArtifacts = { "categories": [ "/packages/27/category_definitions/0" ], - "sub_section": "/packages/12/section_definitions/84" + "sub_section": "/packages/12/section_definitions/85" }, { "m_def": "nomad.metainfo.metainfo.SubSection", diff --git a/gui/tests/data/search/searchpage.json b/gui/tests/data/search/searchpage.json index 0653d13bca..d5a25c4ce2 100644 --- a/gui/tests/data/search/searchpage.json +++ b/gui/tests/data/search/searchpage.json @@ -193,11 +193,9 @@ "properties": { "available_properties": [], "catalytic": { - "catalyst_characterization": { + "catalyst": { "surface_area": 65.56, - "method_surface_area": "BET" - }, - "catalyst_synthesis": { + "characterization_methods": "BET", "preparation_method": "hydrothermal", "catalyst_type": "bulk catalyst" } @@ -1222,11 +1220,9 @@ "properties": { "available_properties": [], "catalytic": { - "catalyst_characterization": { + "catalyst": { "surface_area": 65.56, - "method_surface_area": "BET" - }, - "catalyst_synthesis": { + "characterization_methods": "BET", "preparation_method": "hydrothermal", "catalyst_type": "bulk catalyst" } @@ -3917,54 +3913,54 @@ "quantity": "results.properties.catalytic.reaction.products.gas_concentration_out" } }, - "results.properties.catalytic.reaction.temperature:default_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.reaction.temperature" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature" } }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": { + "results.properties.catalytic.catalyst.catalyst_type:scroll": { "terms": { "exclude_from_search": true, "update": true, "size": 5, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type" + "quantity": "results.properties.catalytic.catalyst.catalyst_type" } }, - "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": { + "results.properties.catalytic.catalyst.preparation_method:scroll": { "terms": { "exclude_from_search": false, "update": true, "size": 5, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method" + "quantity": "results.properties.catalytic.catalyst.preparation_method" } }, - "results.properties.catalytic.catalyst_characterization.method:scroll": { + "results.properties.catalytic.catalyst.characterization_methods:scroll": { "terms": { "exclude_from_search": true, "update": true, "size": 5, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_characterization.method" + "quantity": "results.properties.catalytic.catalyst.characterization_methods" } }, - "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": { + "results.properties.catalytic.catalyst.surface_area:default_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area" + "quantity": "results.properties.catalytic.catalyst.surface_area" } } }, @@ -4070,18 +4066,18 @@ "data": [] } }, - "results.properties.catalytic.reaction.temperature:default_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": { "histogram": { - "quantity": "results.properties.catalytic.reaction.temperature", + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature", "exclude_from_search": true, "metrics": [], "buckets": 30, "data": [] } }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": { + "results.properties.catalytic.catalyst.catalyst_type:scroll": { "terms": { - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type", + "quantity": "results.properties.catalytic.catalyst.catalyst_type", "exclude_from_search": true, "metrics": [], "size": 5, @@ -4094,9 +4090,9 @@ ] } }, - "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": { + "results.properties.catalytic.catalyst.preparation_method:scroll": { "terms": { - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method", + "quantity": "results.properties.catalytic.catalyst.preparation_method", "exclude_from_search": false, "metrics": [], "size": 5, @@ -4109,18 +4105,18 @@ ] } }, - "results.properties.catalytic.catalyst_characterization.method:scroll": { + "results.properties.catalytic.catalyst.characterization_method:scroll": { "terms": { - "quantity": "results.properties.catalytic.catalyst_characterization.method", + "quantity": "results.properties.catalytic.catalyst.characterization_method", "exclude_from_search": true, "metrics": [], "size": 5, "data": [] } }, - "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": { + "results.properties.catalytic.catalyst.surface_area:default_histogram": { "histogram": { - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area", + "quantity": "results.properties.catalytic.catalyst.surface_area", "exclude_from_search": true, "metrics": [], "buckets": 30, @@ -13432,11 +13428,9 @@ "properties": { "available_properties": [], "catalytic": { - "catalyst_characterization": { + "catalyst": { "surface_area": 65.56, - "method_surface_area": "BET" - }, - "catalyst_synthesis": { + "characterization_methods": "BET", "preparation_method": "hydrothermal", "catalyst_type": "bulk catalyst" } @@ -13512,11 +13506,9 @@ "properties": { "available_properties": [], "catalytic": { - "catalyst_characterization": { + "catalyst": { "surface_area": 65.56, - "method_surface_area": "BET" - }, - "catalyst_synthesis": { + "characterization_methods": "BET", "preparation_method": "hydrothermal", "catalyst_type": "bulk catalyst" } @@ -13599,44 +13591,44 @@ "quantity": "results.properties.catalytic.reaction.products.name" } }, - "results.properties.catalytic.catalyst_synthesis.preparation_method:4": { + "results.properties.catalytic.catalyst.preparation_method:4": { "terms": { "exclude_from_search": false, "update": true, "size": 14, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method" + "quantity": "results.properties.catalytic.catalyst.preparation_method" } }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type:5": { + "results.properties.catalytic.catalyst.catalyst_type:5": { "terms": { "exclude_from_search": true, "update": true, "size": 14, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type" + "quantity": "results.properties.catalytic.catalyst.catalyst_type" } }, - "results.properties.catalytic.reaction.temperature:6_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.temperature:6_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.reaction.temperature" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature" } }, - "results.properties.catalytic.reaction.weight_hourly_space_velocity:7_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity:7_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.reaction.weight_hourly_space_velocity" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity" } }, "results.properties.catalytic.reaction.reactants.gas_concentration_in:8_histogram": { @@ -13649,34 +13641,34 @@ "quantity": "results.properties.catalytic.reaction.reactants.gas_concentration_in" } }, - "results.properties.catalytic.reaction.pressure:9_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.pressure:9_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.reaction.pressure" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.pressure" } }, - "results.properties.catalytic.catalyst_characterization.surface_area:14_histogram": { + "results.properties.catalytic.catalyst.surface_area:14_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area" + "quantity": "results.properties.catalytic.catalyst.surface_area" } }, - "results.properties.catalytic.catalyst_characterization.method:15": { + "results.properties.catalytic.catalyst.characterization_methods:15": { "terms": { "exclude_from_search": true, "update": true, "size": 14, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_characterization.method" + "quantity": "results.properties.catalytic.catalyst.characterization_methods" } } }, @@ -13774,9 +13766,9 @@ "data": [] } }, - "results.properties.catalytic.catalyst_synthesis.preparation_method:4": { + "results.properties.catalytic.catalyst.preparation_method:4": { "terms": { - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method", + "quantity": "results.properties.catalytic.catalyst.preparation_method", "exclude_from_search": false, "metrics": [], "size": 14, @@ -13789,9 +13781,9 @@ ] } }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type:5": { + "results.properties.catalytic.catalyst.catalyst_type:5": { "terms": { - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type", + "quantity": "results.properties.catalytic.catalyst.catalyst_type", "exclude_from_search": true, "metrics": [], "size": 14, @@ -13804,18 +13796,18 @@ ] } }, - "results.properties.catalytic.reaction.temperature:6_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.temperature:6_histogram": { "histogram": { - "quantity": "results.properties.catalytic.reaction.temperature", + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature", "exclude_from_search": true, "metrics": [], "buckets": 30, "data": [] } }, - "results.properties.catalytic.reaction.weight_hourly_space_velocity:7_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity:7_histogram": { "histogram": { - "quantity": "results.properties.catalytic.reaction.weight_hourly_space_velocity", + "quantity": "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity", "exclude_from_search": true, "metrics": [], "buckets": 30, @@ -13831,18 +13823,18 @@ "data": [] } }, - "results.properties.catalytic.reaction.pressure:9_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.pressure:9_histogram": { "histogram": { - "quantity": "results.properties.catalytic.reaction.pressure", + "quantity": "results.properties.catalytic.reaction.reaction_conditions.pressure", "exclude_from_search": true, "metrics": [], "buckets": 30, "data": [] } }, - "results.properties.catalytic.catalyst_characterization.surface_area:14_histogram": { + "results.properties.catalytic.catalyst.surface_area:14_histogram": { "histogram": { - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area", + "quantity": "results.properties.catalytic.catalyst.surface_area", "exclude_from_search": true, "metrics": [], "buckets": 30, @@ -13856,9 +13848,9 @@ ] } }, - "results.properties.catalytic.catalyst_characterization.method:15": { + "results.properties.catalytic.catalyst.characterization_methods:15": { "terms": { - "quantity": "results.properties.catalytic.catalyst_characterization.method", + "quantity": "results.properties.catalytic.catalyst.characterization_methods", "exclude_from_search": true, "metrics": [], "size": 14, @@ -13900,7 +13892,7 @@ "required": { "include": [ "entry_id", - "results.properties.catalytic.reaction.temperature", + "results.properties.catalytic.reaction.reaction_conditions.temperature", "results.properties.catalytic.reaction.reactants.conversion", "results.properties.catalytic.reaction.reactants.name" ] @@ -13938,7 +13930,7 @@ "required": { "include": [ "entry_id", - "results.properties.catalytic.reaction.temperature", + "results.properties.catalytic.reaction.reaction_conditions.temperature", "results.properties.catalytic.reaction.reactants.conversion", "results.properties.catalytic.reaction.reactants.name" ] @@ -13984,7 +13976,7 @@ "required": { "include": [ "entry_id", - "results.properties.catalytic.reaction.temperature", + "results.properties.catalytic.reaction.reaction_conditions.temperature", "results.properties.catalytic.reaction.products.selectivity", "results.properties.catalytic.reaction.products.name" ] @@ -14022,7 +14014,7 @@ "required": { "include": [ "entry_id", - "results.properties.catalytic.reaction.temperature", + "results.properties.catalytic.reaction.reaction_conditions.temperature", "results.properties.catalytic.reaction.products.selectivity", "results.properties.catalytic.reaction.products.name" ] @@ -14160,7 +14152,7 @@ "results.properties.catalytic.reaction.reactants.name", "results.properties.catalytic.reaction.products.selectivity", "results.properties.catalytic.reaction.products.name", - "results.properties.catalytic.catalyst_synthesis.preparation_method" + "results.properties.catalytic.catalyst.preparation_method" ] } }, @@ -14200,7 +14192,7 @@ "results.properties.catalytic.reaction.reactants.name", "results.properties.catalytic.reaction.products.selectivity", "results.properties.catalytic.reaction.products.name", - "results.properties.catalytic.catalyst_synthesis.preparation_method" + "results.properties.catalytic.catalyst.preparation_method" ] }, "data": [ @@ -14208,7 +14200,7 @@ "results": { "properties": { "catalytic": { - "catalyst_synthesis": { + "catalyst": { "preparation_method": "hydrothermal" } } @@ -14220,7 +14212,7 @@ "results": { "properties": { "catalytic": { - "catalyst_synthesis": { + "catalyst": { "preparation_method": "hydrothermal" } } @@ -14688,54 +14680,54 @@ "quantity": "results.properties.catalytic.reaction.products.gas_concentration_out" } }, - "results.properties.catalytic.reaction.temperature:default_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.reaction.temperature" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature" } }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": { + "results.properties.catalytic.catalyst.catalyst_type:scroll": { "terms": { "exclude_from_search": true, "update": true, "size": 5, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type" + "quantity": "results.properties.catalytic.catalyst.catalyst_type" } }, - "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": { + "results.properties.catalytic.catalyst.preparation_method:scroll": { "terms": { "exclude_from_search": false, "update": true, "size": 5, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method" + "quantity": "results.properties.catalytic.catalyst.preparation_method" } }, - "results.properties.catalytic.catalyst_characterization.method:scroll": { + "results.properties.catalytic.catalyst.characterization_methods:scroll": { "terms": { "exclude_from_search": true, "update": true, "size": 5, "type": "terms", "changed": true, - "quantity": "results.properties.catalytic.catalyst_characterization.method" + "quantity": "results.properties.catalytic.catalyst.characterization_methods" } }, - "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": { + "results.properties.catalytic.catalyst.surface_area:default_histogram": { "histogram": { "exclude_from_search": true, "update": true, "type": "histogram", "buckets": 30, "changed": true, - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area" + "quantity": "results.properties.catalytic.catalyst.surface_area" } } }, @@ -14853,18 +14845,18 @@ "data": [] } }, - "results.properties.catalytic.reaction.temperature:default_histogram": { + "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": { "histogram": { - "quantity": "results.properties.catalytic.reaction.temperature", + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature", "exclude_from_search": true, "metrics": [], "buckets": 30, "data": [] } }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": { + "results.properties.catalytic.catalyst.catalyst_type:scroll": { "terms": { - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type", + "quantity": "results.properties.catalytic.catalyst.catalyst_type", "exclude_from_search": true, "metrics": [], "size": 5, @@ -14877,9 +14869,9 @@ ] } }, - "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": { + "results.properties.catalytic.catalyst.preparation_method:scroll": { "terms": { - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method", + "quantity": "results.properties.catalytic.catalyst.preparation_method", "exclude_from_search": false, "metrics": [], "size": 5, @@ -14892,18 +14884,18 @@ ] } }, - "results.properties.catalytic.catalyst_characterization.method:scroll": { + "results.properties.catalytic.catalyst.characterization_methods:scroll": { "terms": { - "quantity": "results.properties.catalytic.catalyst_characterization.method", + "quantity": "results.properties.catalytic.catalyst.characterization_methods", "exclude_from_search": true, "metrics": [], "size": 5, "data": [] } }, - "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": { + "results.properties.catalytic.catalyst.surface_area:default_histogram": { "histogram": { - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area", + "quantity": "results.properties.catalytic.catalyst.surface_area", "exclude_from_search": true, "metrics": [], "buckets": 30, @@ -16191,11 +16183,9 @@ "properties": { "available_properties": [], "catalytic": { - "catalyst_characterization": { + "catalyst": { "surface_area": 65.56, - "method_surface_area": "BET" - }, - "catalyst_synthesis": { + "characterization_methods": "BET", "preparation_method": "hydrothermal", "catalyst_type": "bulk catalyst" } @@ -16317,11 +16307,9 @@ "properties": { "available_properties": [], "catalytic": { - "catalyst_characterization": { + "catalyst": { "surface_area": 65.56, - "method_surface_area": "BET" - }, - "catalyst_synthesis": { + "characterization_methods": "BET", "preparation_method": "hydrothermal", "catalyst_type": "bulk catalyst" } diff --git a/gui/tests/env.js b/gui/tests/env.js index 154dc77a39..bcd87fd1dc 100644 --- a/gui/tests/env.js +++ b/gui/tests/env.js @@ -1627,17 +1627,17 @@ window.nomadEnv = { "results.material.elements": { "align": "left" }, - "results.properties.catalytic.catalyst_synthesis.catalyst_type": { + "results.properties.catalytic.catalyst.catalyst_type": { "align": "left" }, - "results.properties.catalytic.catalyst_synthesis.catalyst_name": { + "results.properties.catalytic.catalyst.catalyst_name": { "align": "left" }, - "results.properties.catalytic.catalyst_synthesis.preparation_method": { + "results.properties.catalytic.catalyst.preparation_method": { "label": "Preparation", "align": "left" }, - "results.properties.catalytic.catalyst_characterization.surface_area": { + "results.properties.catalytic.catalyst.surface_area": { "label": "Surface area (m^2/g)", "align": "left", "format": { @@ -1717,9 +1717,9 @@ window.nomadEnv = { "selected": [ "entry_name", "results.properties.catalytic.reaction.name", - "results.properties.catalytic.catalyst_synthesis.catalyst_type", - "results.properties.catalytic.catalyst_synthesis.preparation_method", - "results.properties.catalytic.catalyst_characterization.surface_area" + "results.properties.catalytic.catalyst.catalyst_type", + "results.properties.catalytic.catalyst.preparation_method", + "results.properties.catalytic.catalyst.surface_area" ] }, "rows": { @@ -2029,7 +2029,7 @@ window.nomadEnv = { "minW": 3 } }, - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method", + "quantity": "results.properties.catalytic.catalyst.preparation_method", "scale": "linear", "showinput": true }, @@ -2077,7 +2077,7 @@ window.nomadEnv = { "minW": 3 } }, - "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type", + "quantity": "results.properties.catalytic.catalyst.catalyst_type", "scale": "linear", "showinput": true }, @@ -2128,7 +2128,7 @@ window.nomadEnv = { }, "x": { "unit": "ml/(g*s)", - "quantity": "results.properties.catalytic.reaction.weight_hourly_space_velocity" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity" }, "scale": "linear", "autorange": false, @@ -2185,7 +2185,7 @@ window.nomadEnv = { "quantity": "results.properties.catalytic.reaction.reactants[*].gas_concentration_in" }, "y": { - "quantity": "results.properties.catalytic.reaction.temperature" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature" }, "markers": { "color": { @@ -2242,7 +2242,7 @@ window.nomadEnv = { }, "x": { "unit": "bar", - "quantity": "results.properties.catalytic.reaction.pressure" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.pressure" }, "scale": "linear", "autorange": false, @@ -2295,7 +2295,7 @@ window.nomadEnv = { } }, "x": { - "quantity": "results.properties.catalytic.reaction.temperature" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature" }, "y": { "title": "Conversion (%)", @@ -2355,7 +2355,7 @@ window.nomadEnv = { } }, "x": { - "quantity": "results.properties.catalytic.reaction.temperature" + "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature" }, "y": { "title": "Selectivity (%)", @@ -2483,7 +2483,7 @@ window.nomadEnv = { }, "markers": { "color": { - "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method" + "quantity": "results.properties.catalytic.catalyst.preparation_method" } }, "size": 1000, @@ -2536,7 +2536,7 @@ window.nomadEnv = { }, "x": { "unit": "m^2/g", - "quantity": "results.properties.catalytic.catalyst_characterization.surface_area" + "quantity": "results.properties.catalytic.catalyst.surface_area" }, "scale": "1/4", "autorange": false, @@ -2587,7 +2587,7 @@ window.nomadEnv = { "minW": 3 } }, - "quantity": "results.properties.catalytic.catalyst_characterization.method", + "quantity": "results.properties.catalytic.catalyst.characterization_methods", "scale": "linear", "showinput": true } diff --git a/nomad/config/defaults.yaml b/nomad/config/defaults.yaml index 51b155cf6b..65bea06829 100644 --- a/nomad/config/defaults.yaml +++ b/nomad/config/defaults.yaml @@ -1263,15 +1263,15 @@ ui: selected: - entry_name - results.properties.catalytic.reaction.name - - results.properties.catalytic.catalyst_synthesis.catalyst_type - - results.properties.catalytic.catalyst_synthesis.preparation_method - - results.properties.catalytic.catalyst_characterization.surface_area + - results.properties.catalytic.catalyst.catalyst_type + - results.properties.catalytic.catalyst.preparation_method + - results.properties.catalytic.catalyst.surface_area options: results.material.elements: {} - results.properties.catalytic.catalyst_synthesis.catalyst_type: {} - results.properties.catalytic.catalyst_synthesis.catalyst_name: {} - results.properties.catalytic.catalyst_synthesis.preparation_method: {label: Preparation} - results.properties.catalytic.catalyst_characterization.surface_area: + results.properties.catalytic.catalyst.catalyst_type: {} + results.properties.catalytic.catalyst.catalyst_name: {} + results.properties.catalytic.catalyst.preparation_method: {label: Preparation} + results.properties.catalytic.catalyst.surface_area: format: decimals: 2 mode: standard @@ -1372,7 +1372,7 @@ ui: sm: {h: 3, minH: 3, minW: 3, w: 6, x: 0, y: 12} xl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 6} xxl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 6} - quantity: results.properties.catalytic.catalyst_synthesis.preparation_method + quantity: results.properties.catalytic.catalyst.preparation_method scale: linear showinput: true type: terms @@ -1382,7 +1382,7 @@ ui: sm: {h: 3, minH: 3, minW: 3, w: 6, x: 6, y: 12} xl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 11} xxl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 11} - quantity: results.properties.catalytic.catalyst_synthesis.catalyst_type + quantity: results.properties.catalytic.catalyst.catalyst_type scale: linear showinput: true type: terms @@ -1395,7 +1395,7 @@ ui: xxl: {h: 4, minH: 3, minW: 8, w: 12, x: 12, y: 20} nbins: 30 x: - quantity: results.properties.catalytic.reaction.weight_hourly_space_velocity + quantity: results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity unit: 'ml/(g*s)' title: 'Reaction Weight Hourly Space Velocity' scale: linear @@ -1416,7 +1416,7 @@ ui: quantity: results.properties.catalytic.reaction.reactants[*].gas_concentration_in title: 'gas concentration (%)' y: - quantity: results.properties.catalytic.reaction.temperature + quantity: results.properties.catalytic.reaction.reaction_conditions.temperature title: 'Reactant feed concentration vs. Temperature' type: scatterplot - autorange: false @@ -1428,7 +1428,7 @@ ui: xxl: {h: 4, minH: 3, minW: 8, w: 12, x: 12, y: 16} nbins: 30 x: - quantity: results.properties.catalytic.reaction.pressure + quantity: results.properties.catalytic.reaction.reaction_conditions.pressure unit: 'bar' title: 'Reaction Pressure' scale: linear @@ -1448,7 +1448,7 @@ ui: title: 'Temperature vs. Conversion' type: scatterplot x: - quantity: results.properties.catalytic.reaction.temperature + quantity: results.properties.catalytic.reaction.reaction_conditions.temperature y: quantity: results.properties.catalytic.reaction.reactants[*].conversion title: 'Conversion (%)' @@ -1466,7 +1466,7 @@ ui: title: 'Temperature vs. Selectivity' type: scatterplot x: - quantity: results.properties.catalytic.reaction.temperature + quantity: results.properties.catalytic.reaction.reaction_conditions.temperature y: quantity: results.properties.catalytic.reaction.products[*].selectivity title: 'Selectivity (%)' @@ -1497,7 +1497,7 @@ ui: xxl: {h: 9, minH: 3, minW: 3, w: 12, x: 12, y: 33} markers: color: - quantity: results.properties.catalytic.catalyst_synthesis.preparation_method + quantity: results.properties.catalytic.catalyst.preparation_method size: 1000 type: scatterplot x: @@ -1515,7 +1515,7 @@ ui: xxl: {h: 4, minH: 3, minW: 8, w: 12, x: 0, y: 42} nbins: 30 x: - quantity: results.properties.catalytic.catalyst_characterization.surface_area + quantity: results.properties.catalytic.catalyst.surface_area unit: 'm^2/g' title: 'Catalyst Surface Area' scale: 1/4 @@ -1527,7 +1527,7 @@ ui: sm: {h: 4, minH: 4, minW: 3, w: 8, x: 8, y: 31} xl: {h: 4, minH: 3, minW: 3, w: 12, x: 12, y: 42} xxl: {h: 4, minH: 3, minW: 3, w: 12, x: 12, y: 42} - quantity: results.properties.catalytic.catalyst_characterization.method + quantity: results.properties.catalytic.catalyst.characterization_methods scale: linear showinput: true type: terms diff --git a/nomad/datamodel/results.py b/nomad/datamodel/results.py index c7abafac10..52c2b61d22 100644 --- a/nomad/datamodel/results.py +++ b/nomad/datamodel/results.py @@ -3442,8 +3442,9 @@ class Product(Reagent): class Rate(MSection): m_def = Section( description=""" - The rate of a catalytic test reaction. + Section bundling multiple representations of catalytic reaction rates. """, + links=['https://w3id.org/nfdi4cat/voc4cat_0007024'], label_quantity='name', ) name = Quantity( @@ -3461,7 +3462,8 @@ class Rate(MSection): type=np.float64, shape=[], description=""" - The rate of the number of reactant or product molecules converted/produced, per mass of total catalyst, per time. + The rate of the number of reactant or product molecules converted/produced, + per mass of total catalyst, per time. """, unit='mol/(g*s)', links=['https://w3id.org/nfdi4cat/voc4cat_0007024'], @@ -3472,7 +3474,8 @@ class Rate(MSection): type=np.float64, shape=[], description=""" - The specific rate of the reactant, per mass of active catalyst component (e.g. metal). + The specific rate of the reactant, per mass of active catalyst component + (e.g. metal). """, unit='mol/(g*s)', links=['https://w3id.org/nfdi4cat/voc4cat_0007025'], @@ -3493,69 +3496,51 @@ class Rate(MSection): shape=['*'], unit='g/g/s', description=""" - The rate calculated from the mass of reactant or product converted/produced, per total catalyst mass per time. + The rate calculated from the mass of reactant or product converted/produced, + per total catalyst mass per time. """, + links=['https://w3id.org/nfdi4cat/voc4cat_0007024'], ) - turn_over_frequency = Quantity( + turnover_frequency = Quantity( type=np.float64, shape=[], description=""" - The turn over frequency, calculated from mol of reactant or product per number of sites over time. + The turnover frequency, calculated from mol of reactant or product per + number of sites over time. """, unit='1/s', a_elasticsearch=Elasticsearch(material_entry_type), ) -class Reaction(MSection): +class ReactionConditions(MSection): m_def = Section( description=""" - Properties of a catalytic test reaction. - """ - ) - name = Quantity( - type=str, - shape=[], - description=""" - Name of the catalytic test reaction. + Conditions under which a catalytic test reaction was performed. """, - links=['https://w3id.org/nfdi4cat/voc4cat_0007009'], - a_elasticsearch=[ - Elasticsearch(material_entry_type), - Elasticsearch(suggestion='default'), - ], + # links=['https://w3id.org/nfdi4cat/voc4cat_0007037'], ) - type = Quantity( - type=str, - shape=[], + temperature = Quantity( + type=np.float64, + shape=['*'], + unit='K', description=""" - Classification of the catalytic test reaction such as Oxidation, Hydrogenation, - Isomerization, Coupling... + The reaction temperature(s) in the catalytic reactor during a chemical reaction. """, - links=['https://w3id.org/nfdi4cat/voc4cat_0007010'], - a_elasticsearch=[ - Elasticsearch(material_entry_type), - Elasticsearch(suggestion='default'), - ], - ) - - reactants = SubSection( - sub_section=Reactant.m_def, - repeats=True, - a_elasticsearch=Elasticsearch(material_entry_type, nested=True), - ) - - products = SubSection( - sub_section=Product.m_def, - repeats=True, - a_elasticsearch=Elasticsearch(material_entry_type, nested=True), + links=['https://w3id.org/nfdi4cat/voc4cat_0007032'], + a_elasticsearch=Elasticsearch(material_entry_type), ) - rates = SubSection( - sub_section=Rate.m_def, - repeats=True, - a_elasticsearch=Elasticsearch(material_entry_type, nested=True), + pressure = Quantity( + type=np.float64, + shape=['*'], + unit='Pa', + description=""" + The pressure during the catalytic test reaction. + """, + links=['https://w3id.org/nfdi4cat/voc4cat_0000118'], + a_elasticsearch=Elasticsearch(material_entry_type), ) weight_hourly_space_velocity = Quantity( @@ -3590,52 +3575,140 @@ class Reaction(MSection): a_elasticsearch=Elasticsearch(material_entry_type), ) - temperature = Quantity( + time_on_stream = Quantity( type=np.float64, shape=['*'], - unit='K', + unit='s', description=""" - The reaction temperature(s) in the catalytic reactor during a chemical reaction. + The time on stream of the catalyst in the catalytic reaction. """, - links=['https://w3id.org/nfdi4cat/voc4cat_0007032'], a_elasticsearch=Elasticsearch(material_entry_type), ) - time_on_stream = Quantity( - type=np.float64, + +class ReactionStep(MSection): + m_def = Section( + description=""" + Properties of single steps of a catalytic reaction mechanism. + """, + # links=['https://w3id.org/nfdi4cat/voc4cat_0007038'], + ) + + initial_states = Quantity( + type=str, shape=['*'], - unit='s', description=""" - The time on stream of the catalyst in the catalytic reaction. + The names of reactants of the reaction or elementary step. """, - a_elasticsearch=Elasticsearch(material_entry_type), + a_elasticsearch=[ + Elasticsearch(material_entry_type), + Elasticsearch(suggestion='default'), + ], + ) + + final_states = Quantity( + type=str, + shape=['*'], + description=""" + The names of products of the reaction or elementary step. + """, + a_elasticsearch=[ + Elasticsearch(material_entry_type), + Elasticsearch(suggestion='default'), + ], ) - total_time_on_stream = Quantity( + reaction_enthalpy = Quantity( type=np.float64, shape=[], - unit='s', + unit='joule', description=""" - The total time on stream of the catalyst in the catalytic test reaction. + The reaction enthalpy of the reaction or reaction step. """, a_elasticsearch=Elasticsearch(material_entry_type), ) - pressure = Quantity( + activation_energy = Quantity( type=np.float64, - shape=['*'], - unit='Pa', + shape=[], + unit='joule', description=""" - The pressure during the catalytic test reaction. + The (apparent) activation energy of the catalyzed reaction or reaction step. + """, + a_elasticsearch=Elasticsearch(material_entry_type), + ) + + +class Reaction(MSection): + m_def = Section( + description=""" + A collection of specifications and properties of a full catalytic reaction. + This may include reaction conditions, results and mechanistic aspects of a reaction. + """, + links=['https://w3id.org/nfdi4cat/voc4cat_0005007'], + ) + name = Quantity( + type=str, + shape=[], + description=""" + Name of the catalytic test reaction. + """, + links=['https://w3id.org/nfdi4cat/voc4cat_0007009'], + a_elasticsearch=[ + Elasticsearch(material_entry_type), + Elasticsearch(suggestion='default'), + ], + ) + + type = Quantity( + type=str, + shape=[], + description=""" + Classification of the catalytic test reaction such as Oxidation, Hydrogenation, + Isomerization, Coupling... """, + links=['https://w3id.org/nfdi4cat/voc4cat_0007010'], + a_elasticsearch=[ + Elasticsearch(material_entry_type), + Elasticsearch(suggestion='default'), + ], + ) + + reactants = SubSection( + sub_section=Reactant.m_def, + repeats=True, + a_elasticsearch=Elasticsearch(material_entry_type, nested=True), + ) + + products = SubSection( + sub_section=Product.m_def, + repeats=True, + a_elasticsearch=Elasticsearch(material_entry_type, nested=True), + ) + + rates = SubSection( + sub_section=Rate.m_def, + repeats=True, + a_elasticsearch=Elasticsearch(material_entry_type, nested=True), + ) + + reaction_conditions = SubSection( + sub_section=ReactionConditions.m_def, + repeats=False, + a_elasticsearch=Elasticsearch(material_entry_type), + ) + + reaction_mechanism = SubSection( + sub_section=ReactionStep.m_def, + repeats=True, a_elasticsearch=Elasticsearch(material_entry_type), ) -class CatalystSynthesis(MSection): +class Catalyst(MSection): m_def = Section( description=""" - Synthesis of a heterogeneous catalyst. + Properties of a heterogeneous catalyst. """ ) @@ -3655,7 +3728,7 @@ class CatalystSynthesis(MSection): type=str, shape=[], description=""" - The main preparation method of the sample. + The main preparation method of the catalyst sample. """, links=['https://w3id.org/nfdi4cat/voc4cat_0007016'], a_elasticsearch=[ @@ -3666,9 +3739,10 @@ class CatalystSynthesis(MSection): catalyst_type = Quantity( type=str, - shape=[], + shape=['*'], description=""" - The type of catalyst, wether metal or oxide, ... + The type of catalyst, wether metal or oxide, model, bulk, supported, ect. + Multiple values can apply. """, links=['https://w3id.org/nfdi4cat/voc4cat_0007014'], a_elasticsearch=[ @@ -3677,19 +3751,13 @@ class CatalystSynthesis(MSection): ], ) - -class CatalystCharacterization(MSection): - m_def = Section( - description=""" - Properties of a heterogeneous catalyst. - """ - ) - method = Quantity( + characterization_methods = Quantity( type=str, shape=['*'], description=""" - A method used to characterize the catalyst. + A list of methods used to characterize the catalyst sample. """, + links=['https://w3id.org/nfdi4cat/voc4cat_0000066'], a_elasticsearch=[ Elasticsearch(material_entry_type), Elasticsearch(suggestion='default'), @@ -3707,30 +3775,15 @@ class CatalystCharacterization(MSection): a_elasticsearch=Elasticsearch(material_entry_type), ) - method_surface_area = Quantity( - type=str, - shape=[], - description=""" - The method with which the surface area per catalyst mass was determined, e.g. BET. - """, - a_elasticsearch=[ - Elasticsearch(material_entry_type), - Elasticsearch(suggestion='default'), - ], - ) - class CatalyticProperties(MSection): m_def = Section( description=""" - Properties of Heterogeneous Catalysts. + Properties relating to catalysis. """ ) reaction = SubSection(sub_section=Reaction.m_def, repeats=False) - catalyst_synthesis = SubSection(sub_section=CatalystSynthesis.m_def, repeats=False) - catalyst_characterization = SubSection( - sub_section=CatalystCharacterization.m_def, repeats=False - ) + catalyst = SubSection(sub_section=Catalyst.m_def, repeats=False) class EELSInstrument(MSection): diff --git a/tests/states/search.py b/tests/states/search.py index ba26942857..603a81453c 100644 --- a/tests/states/search.py +++ b/tests/states/search.py @@ -124,11 +124,9 @@ properties_solar_cell = { } properties_catalysis = { 'catalytic': { - 'catalyst_characterization': { + 'catalyst': { 'surface_area': 65.56, - 'method_surface_area': 'BET', - }, - 'catalyst_synthesis': { + 'characterization_methods': 'BET', 'catalyst_name': 'MoVOx', 'catalyst_type': 'bulk catalyst', 'preparation_method': 'hydrothermal', -- GitLab