diff --git a/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/README.md b/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/README.md index 86a0f9a4..999b6f2a 100644 --- a/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/README.md +++ b/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/README.md @@ -38,9 +38,11 @@ The purpose of this dataset is to estimate timing and storage requirements for t * `esp_subsample_filtered.json`: subset of ESP50k dataset selected for this benchmark * `generate-compute.ipynb`: Notebook used to generate the compute expansion `compute.json` * `compute.json`: compute expansion specs -* `generate-compute-wb97xd`: Notebook used to generate the second compute expansion `compute2.json` +* `generate-compute-wb97xd.ipynb`: Notebook used to generate the second compute expansion `compute2.json` * `compute2.json`: second compute expansion specs * `ddx_error_exploration.ipynb`: Notebook examining errors in the initial PBE0/def2-TZVPPD/DDX dataset +* `generate-compute-nodiffuse.ipynb`: Notebook used to generate the third compute expansion `compute3.json` +* `compute3.json`: Third compute expansion specs, removes diffuse functions ## Metadata * elements: {'H', 'P', 'C', 'N', 'O', 'S', 'Cl', 'I', 'Br', 'F'} @@ -109,3 +111,35 @@ The purpose of this dataset is to estimate timing and storage requirements for t * mayer_indices * wiberg_lowdin_indices * dipole_polarizabilities +* Spec: wb97x-d/def2-TZVPP/ddx-water + * basis: def2-TZVPP + * implicit_solvent: {'ddx_model': 'pcm', 'ddx_radii_scaling': 1.1, 'ddx_radii_set': 'uff', 'ddx_solvent_epsilon': 78.4, 'ddx_solvent': 'water'} + * keywords: {'dft_spherical_points': 590, 'dft_radial_points': 99} + * maxiter: 200 + * method: wb97x-d + * program: psi4 + * SCF properties: + * dipole + * quadrupole + * lowdin_charges + * mulliken_charges + * mbis_charges + * mayer_indices + * wiberg_lowdin_indices + * dipole_polarizabilities +* Spec: wb97x-d/def2-TZVPP + * basis: def2-TZVPP + * implicit_solvent: None + * keywords: {'dft_spherical_points': 590, 'dft_radial_points': 99} + * maxiter: 200 + * method: wb97x-d + * program: psi4 + * SCF properties: + * dipole + * quadrupole + * lowdin_charges + * mulliken_charges + * mbis_charges + * mayer_indices + * wiberg_lowdin_indices + * dipole_polarizabilities diff --git a/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/compute3.json b/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/compute3.json new file mode 100644 index 00000000..186e919c --- /dev/null +++ b/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/compute3.json @@ -0,0 +1,81 @@ +{ + "qc_specifications": { + "wb97x-d/def2-TZVPP/ddx-water": { + "method": "wb97x-d", + "basis": "def2-TZVPP", + "program": "psi4", + "spec_name": "wb97x-d/def2-TZVPP/ddx-water", + "spec_description": "wb97x-d functional with def2-TZVPP basis set and DDX water (eps = 78.4) using UFF radii and 1.1x scaling factor", + "store_wavefunction": "none", + "implicit_solvent": { + "ddx_model": "pcm", + "ddx_radii_scaling": 1.1, + "ddx_radii_set": "uff", + "ddx_solvent_epsilon": 78.4, + "ddx_solvent": "water" + }, + "maxiter": 200, + "scf_properties": [ + "dipole", + "quadrupole", + "lowdin_charges", + "mulliken_charges", + "mbis_charges", + "mayer_indices", + "wiberg_lowdin_indices", + "dipole_polarizabilities" + ], + "keywords": { + "dft_spherical_points": 590, + "dft_radial_points": 99 + } + }, + "wb97x-d/def2-TZVPP": { + "method": "wb97x-d", + "basis": "def2-TZVPP", + "program": "psi4", + "spec_name": "wb97x-d/def2-TZVPP", + "spec_description": "wb97x-d functional with def2-TZVPP basis set and vacuum using UFF radii and 1.1x scaling factor", + "store_wavefunction": "none", + "implicit_solvent": null, + "maxiter": 200, + "scf_properties": [ + "dipole", + "quadrupole", + "lowdin_charges", + "mulliken_charges", + "mbis_charges", + "mayer_indices", + "wiberg_lowdin_indices", + "dipole_polarizabilities" + ], + "keywords": { + "dft_spherical_points": 590, + "dft_radial_points": 99 + } + } + }, + "driver": "properties", + "priority": "normal", + "dataset_tags": [ + "openff" + ], + "compute_tag": "nagl2", + "dataset_name": "OpenFF NAGL2 ESP Timing Benchmark v1.1", + "dataset_tagline": "wb97x-d/def2-TZVPP single point calculations of ~1000 diverse molecules.", + "type": "DataSet", + "description": "wb97x-d/def2-TZVPP in vacuum and ddX water single point calculations of ~1000 diverse molecules sub-sampled from the ESP50k, multi-BR ESP, and I fragment datasets, to benchmark computational cost.", + "metadata": { + "submitter": "amcisaac", + "creation_date": "2024-11-04", + "collection_type": "DataSet", + "dataset_name": "OpenFF NAGL2 ESP Timing Benchmark v1.1", + "short_description": "wb97x-d/def2-TZVPP single point calculations of ~1000 diverse molecules.", + "long_description_url": "https://github.com/openforcefield/qca-dataset-submission/tree/master/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1", + "long_description": "wb97x-d/def2-TZVPP in vacuum and ddX water single point calculations of ~1000 diverse molecules sub-sampled from the ESP50k, multi-BR ESP, and I fragment datasets, to benchmark computational cost.", + "elements": [] + }, + "provenance": {}, + "dataset": {}, + "filtered_molecules": {} +} \ No newline at end of file diff --git a/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/generate-compute-nodiffuse.ipynb b/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/generate-compute-nodiffuse.ipynb new file mode 100644 index 00000000..592327a0 --- /dev/null +++ b/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1/generate-compute-nodiffuse.ipynb @@ -0,0 +1,466 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bab0dd68-9ab4-4d70-a4d8-73970a296fec", + "metadata": {}, + "source": [ + "# Changing compute spec to use def2-TZVPP due to issues with diffuse functions + DDX" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3d3cf7ba-e0db-439e-bb2e-983a2aa463ef", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:40:26.970689Z", + "iopub.status.busy": "2024-11-05T01:40:26.969744Z", + "iopub.status.idle": "2024-11-05T01:40:34.610160Z", + "shell.execute_reply": "2024-11-05T01:40:34.609705Z", + "shell.execute_reply.started": "2024-11-05T01:40:26.970637Z" + } + }, + "outputs": [], + "source": [ + "from qcportal import PortalClient\n", + "from qcelemental.models.results import WavefunctionProtocolEnum\n", + "from openff.qcsubmit.results import OptimizationResultCollection,BasicResultCollection\n", + "from openff.qcsubmit.datasets import BasicDataset\n", + "from openff.qcsubmit.results.filters import ConnectivityFilter, ConformerRMSDFilter\n", + "from openff.qcsubmit.factories import BasicDatasetFactory\n", + "from openff.qcsubmit.common_structures import Metadata, QCSpec" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b2d28e39-5696-4577-a0a8-c02b0a98d019", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:40:34.611499Z", + "iopub.status.busy": "2024-11-05T01:40:34.611204Z", + "iopub.status.idle": "2024-11-05T01:40:34.995579Z", + "shell.execute_reply": "2024-11-05T01:40:34.994036Z", + "shell.execute_reply.started": "2024-11-05T01:40:34.611485Z" + } + }, + "outputs": [], + "source": [ + "client = PortalClient(\"https://api.qcarchive.molssi.org:443/\")" + ] + }, + { + "cell_type": "markdown", + "id": "4a825469-397a-415b-8d5d-016e798dac76", + "metadata": {}, + "source": [ + "# Set up all the name, etc which is the same as the original dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "03234d41-9add-4948-b9ba-6ad9f9d987cc", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:40:42.744963Z", + "iopub.status.busy": "2024-11-05T01:40:42.744417Z", + "iopub.status.idle": "2024-11-05T01:40:42.756632Z", + "shell.execute_reply": "2024-11-05T01:40:42.754645Z", + "shell.execute_reply.started": "2024-11-05T01:40:42.744926Z" + } + }, + "outputs": [], + "source": [ + "from openff.qcsubmit.common_structures import SCFProperties, Metadata\n", + "\n", + "# want a finer grid for wb97 functionals\n", + "keywords = {\n", + " \"dft_spherical_points\": 590,\n", + " \"dft_radial_points\": 99,\n", + " # 'dft_bs_radius_alpha': 5.0 # Need this to converge ddX PCM + diffuse functions\n", + "}\n", + "\n", + "# let's calculate a bunch of stuff while we're at it; in case we decide to train on any of this.\n", + "properties = [\n", + " SCFProperties.Dipole,\n", + " SCFProperties.Quadrupole,\n", + " SCFProperties.LowdinCharges,\n", + " SCFProperties.MullikenCharges,\n", + " SCFProperties.MBISCharges,\n", + " SCFProperties.MayerIndices,\n", + " SCFProperties.WibergLowdinIndices,\n", + " SCFProperties.DipolePolarizabilities,\n", + " ]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "bba475b9-1fa9-4655-a6d7-bf52fae73682", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:09.561677Z", + "iopub.status.busy": "2024-11-05T01:41:09.560390Z", + "iopub.status.idle": "2024-11-05T01:41:09.581194Z", + "shell.execute_reply": "2024-11-05T01:41:09.580498Z", + "shell.execute_reply.started": "2024-11-05T01:41:09.561572Z" + } + }, + "outputs": [], + "source": [ + "from qcelemental.models import DriverEnum\n", + "\n", + "dataset = BasicDataset(\n", + " dataset_name=\"OpenFF NAGL2 ESP Timing Benchmark v1.1\",\n", + " dataset_tagline=\"wb97x-d/def2-TZVPP single point calculations of ~1000 diverse molecules.\",\n", + " description=(\n", + " \"wb97x-d/def2-TZVPP in vacuum and ddX water single point calculations of ~1000 diverse molecules sub-sampled from the ESP50k, multi-BR ESP, and I fragment datasets, to benchmark computational cost.\"\n", + " ),\n", + " driver=DriverEnum.properties, # This was DriverEnum.energy for the other ESP datasets, but I think to calculate dipole etc it needs to be properties.\n", + " metadata=Metadata(\n", + " submitter=\"amcisaac\",\n", + " long_description_url=(\n", + " \"https://github.com/openforcefield/qca-dataset-submission/tree/master/submissions/2024-09-18-OpenFF-NAGL2-ESP-Timing-Benchmark-v1.1\"\n", + " )\n", + " ),\n", + " compute_tag = 'nagl2'\n", + " # qc_specifications={\n", + " # \"pbe0/def2-TZVPPD\": QCSpec(\n", + " # program=\"psi4\",\n", + " # method=\"pbe0\",\n", + " # basis=\"def2-TZVPPD\",\n", + " # spec_name=\"pbe0/def2-TZVPPD\",\n", + " # spec_description=(\n", + " # \"PBE0 functional with def2-TZVPPD basis set\"\n", + " # ),\n", + " # store_wavefunction=WavefunctionProtocolEnum.orbitals_and_eigenvalues,\n", + " # keywords=keywords,\n", + " # scf_properties=properties\n", + " # ),\n", + " \n", + " # }\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9c79d245-df1e-4f0a-a9d6-1b9951420e87", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:10.015920Z", + "iopub.status.busy": "2024-11-05T01:41:10.014569Z", + "iopub.status.idle": "2024-11-05T01:41:10.030228Z", + "shell.execute_reply": "2024-11-05T01:41:10.028730Z", + "shell.execute_reply.started": "2024-11-05T01:41:10.015853Z" + } + }, + "outputs": [], + "source": [ + "dataset.clear_qcspecs()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "8e419645-dbaa-40aa-bec5-957cfd1586c7", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:10.228789Z", + "iopub.status.busy": "2024-11-05T01:41:10.227353Z", + "iopub.status.idle": "2024-11-05T01:41:10.245651Z", + "shell.execute_reply": "2024-11-05T01:41:10.244837Z", + "shell.execute_reply.started": "2024-11-05T01:41:10.228687Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset._get_specifications()" + ] + }, + { + "cell_type": "markdown", + "id": "2d0cabfd-7f43-43f0-a4bb-d3fd88b72ca0", + "metadata": {}, + "source": [ + "# Add new QCSpec for DDX" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5048614b-3837-4064-b52d-f2a55be38bfb", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:13.825178Z", + "iopub.status.busy": "2024-11-05T01:41:13.823988Z", + "iopub.status.idle": "2024-11-05T01:41:13.834174Z", + "shell.execute_reply": "2024-11-05T01:41:13.832739Z", + "shell.execute_reply.started": "2024-11-05T01:41:13.825096Z" + } + }, + "outputs": [], + "source": [ + "from openff.qcsubmit.common_structures import DDXSettings\n", + "# Solvent specs\n", + "ddx_spec = DDXSettings(\n", + " ddx_solvent_epsilon=78.4, \n", + " ddx_radii_scaling = 1.1, # default but wanted to specify explicitly\n", + " ddx_radii_set = 'uff', # default but wanted to specify explicitly \n", + " ddx_model = 'pcm'\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3588d626-2900-4570-97eb-aa8b01395924", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:25.076798Z", + "iopub.status.busy": "2024-11-05T01:41:25.075316Z", + "iopub.status.idle": "2024-11-05T01:41:25.094723Z", + "shell.execute_reply": "2024-11-05T01:41:25.093371Z", + "shell.execute_reply.started": "2024-11-05T01:41:25.076702Z" + } + }, + "outputs": [], + "source": [ + "dataset.add_qc_spec(program=\"psi4\",\n", + " method=\"wb97x-d\",\n", + " basis=\"def2-TZVPP\",\n", + " spec_name=\"wb97x-d/def2-TZVPP/ddx-water\",\n", + " spec_description=(\n", + " \"wb97x-d functional with def2-TZVPP basis set and DDX water (eps = 78.4) using UFF radii and 1.1x scaling factor\"\n", + " ),\n", + " # store_wavefunction=WavefunctionProtocolEnum.orbitals_and_eigenvalues, # Don't save wavefunctions in case there's a lot of errors\n", + " keywords=keywords,\n", + " scf_properties=properties,\n", + " implicit_solvent= ddx_spec)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "224af55b-b0b6-4beb-bb78-34a9f86d52d2", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:34.859854Z", + "iopub.status.busy": "2024-11-05T01:41:34.857889Z", + "iopub.status.idle": "2024-11-05T01:41:34.879265Z", + "shell.execute_reply": "2024-11-05T01:41:34.877483Z", + "shell.execute_reply.started": "2024-11-05T01:41:34.859758Z" + } + }, + "outputs": [], + "source": [ + "dataset.add_qc_spec(program=\"psi4\",\n", + " method=\"wb97x-d\",\n", + " basis=\"def2-TZVPP\",\n", + " spec_name=\"wb97x-d/def2-TZVPP\",\n", + " spec_description=(\n", + " \"wb97x-d functional with def2-TZVPP basis set and vacuum using UFF radii and 1.1x scaling factor\"\n", + " ),\n", + " # store_wavefunction=WavefunctionProtocolEnum.orbitals_and_eigenvalues, # Don't save wavefunctions in case there's a lot of errors\n", + " keywords=keywords,\n", + " scf_properties=properties,)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e8d170ee-0a23-4dff-8207-24ec1a838f20", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:41:35.977427Z", + "iopub.status.busy": "2024-11-05T01:41:35.976170Z", + "iopub.status.idle": "2024-11-05T01:41:35.993471Z", + "shell.execute_reply": "2024-11-05T01:41:35.992632Z", + "shell.execute_reply.started": "2024-11-05T01:41:35.977335Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'wb97x-d/def2-TZVPP/ddx-water': QCSpecification(program='psi4', driver=, method='wb97x-d', basis='def2-tzvpp', keywords={'maxiter': 200, 'function_kwargs': {'properties': [, , , , , , , ]}, 'dft_spherical_points': 590, 'dft_radial_points': 99, 'ddx': True, 'ddx_model': 'pcm', 'ddx_radii_scaling': 1.1, 'ddx_radii_set': 'uff', 'ddx_solvent_epsilon': 78.4, 'ddx_solvent': 'water'}, protocols=AtomicResultProtocols(wavefunction=, stdout=True, error_correction=ErrorCorrectionProtocol(default_policy=True, policies=None), native_files=)),\n", + " 'wb97x-d/def2-TZVPP': QCSpecification(program='psi4', driver=, method='wb97x-d', basis='def2-tzvpp', keywords={'maxiter': 200, 'function_kwargs': {'properties': [, , , , , , , ]}, 'dft_spherical_points': 590, 'dft_radial_points': 99}, protocols=AtomicResultProtocols(wavefunction=, stdout=True, error_correction=ErrorCorrectionProtocol(default_policy=True, policies=None), native_files=))}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset._get_specifications()" + ] + }, + { + "cell_type": "markdown", + "id": "8e812a07-bd89-47f2-9380-6c939838aac6", + "metadata": {}, + "source": [ + "# Exporting dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d69c1de7-42a6-407f-a555-6fc5a7ef0e61", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:42:23.467010Z", + "iopub.status.busy": "2024-11-05T01:42:23.465933Z", + "iopub.status.idle": "2024-11-05T01:42:23.478453Z", + "shell.execute_reply": "2024-11-05T01:42:23.477184Z", + "shell.execute_reply.started": "2024-11-05T01:42:23.466944Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'wb97x-d/def2-TZVPP/ddx-water': QCSpec(method='wb97x-d', basis='def2-TZVPP', program='psi4', spec_name='wb97x-d/def2-TZVPP/ddx-water', spec_description='wb97x-d functional with def2-TZVPP basis set and DDX water (eps = 78.4) using UFF radii and 1.1x scaling factor', store_wavefunction=, implicit_solvent=DDXSettings(ddx_model='pcm', ddx_radii_scaling=1.1, ddx_radii_set='uff', ddx_solvent_epsilon=78.4, ddx_solvent='water'), maxiter=200, scf_properties=[, , , , , , , ], keywords={'dft_spherical_points': 590, 'dft_radial_points': 99}), 'wb97x-d/def2-TZVPP': QCSpec(method='wb97x-d', basis='def2-TZVPP', program='psi4', spec_name='wb97x-d/def2-TZVPP', spec_description='wb97x-d functional with def2-TZVPP basis set and vacuum using UFF radii and 1.1x scaling factor', store_wavefunction=, implicit_solvent=None, maxiter=200, scf_properties=[, , , , , , , ], keywords={'dft_spherical_points': 590, 'dft_radial_points': 99})}\n" + ] + } + ], + "source": [ + "dataset.export_dataset(\"compute3.json\")\n", + "\n", + "print(dataset.qc_specifications)" + ] + }, + { + "cell_type": "markdown", + "id": "88a45064-d703-457e-b29b-ba0aa758ca9a", + "metadata": {}, + "source": [ + "# Dataset information" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "5bc6ee5d-590a-418b-98d1-2f0fa5b8119f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-11-05T01:47:08.925637Z", + "iopub.status.busy": "2024-11-05T01:47:08.923575Z", + "iopub.status.idle": "2024-11-05T01:47:08.938215Z", + "shell.execute_reply": "2024-11-05T01:47:08.937322Z", + "shell.execute_reply.started": "2024-11-05T01:47:08.925559Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "## Metadata\n", + "* Elements: {}\n", + "* Spec: wb97x-d/def2-TZVPP/ddx-water\n", + " * basis: def2-TZVPP\n", + " * implicit_solvent: {'ddx_model': 'pcm', 'ddx_radii_scaling': 1.1, 'ddx_radii_set': 'uff', 'ddx_solvent_epsilon': 78.4, 'ddx_solvent': 'water'}\n", + " * keywords: {'dft_spherical_points': 590, 'dft_radial_points': 99}\n", + " * maxiter: 200\n", + " * method: wb97x-d\n", + " * program: psi4\n", + " * SCF properties:\n", + " * dipole\n", + " * quadrupole\n", + " * lowdin_charges\n", + " * mulliken_charges\n", + " * mbis_charges\n", + " * mayer_indices\n", + " * wiberg_lowdin_indices\n", + " * dipole_polarizabilities\n", + "* Spec: wb97x-d/def2-TZVPP\n", + " * basis: def2-TZVPP\n", + " * implicit_solvent: None\n", + " * keywords: {'dft_spherical_points': 590, 'dft_radial_points': 99}\n", + " * maxiter: 200\n", + " * method: wb97x-d\n", + " * program: psi4\n", + " * SCF properties:\n", + " * dipole\n", + " * quadrupole\n", + " * lowdin_charges\n", + " * mulliken_charges\n", + " * mbis_charges\n", + " * mayer_indices\n", + " * wiberg_lowdin_indices\n", + " * dipole_polarizabilities\n" + ] + } + ], + "source": [ + "print(\"## Metadata\")\n", + "print(f\"* Elements: {{{', '.join(dataset.metadata.dict()['elements'])}}}\")\n", + "\n", + "def print_field(od, field): print(f\" * {field}: {od[field]}\")\n", + "\n", + "fields = [\"basis\", \"implicit_solvent\", \"keywords\", \"maxiter\", \"method\", \"program\"]\n", + "for spec, obj in dataset.qc_specifications.items():\n", + " od = obj.dict()\n", + " print(\"* Spec:\", spec)\n", + " for field in fields:\n", + " print_field(od, field)\n", + " print(\" * SCF properties:\")\n", + " for field in od[\"scf_properties\"]:\n", + " print(f\" * {field}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "09dd2cfa-62c0-4681-a44e-bdac427fd96d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e1348c98-335e-4c8e-8384-6c3fcb86897e", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.19" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}