From b31a91e6c2fd4a93ebd6e3ef248183e0492a2f45 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 22 Mar 2025 09:49:22 +0100 Subject: [PATCH 01/11] Add files via upload --- pyiron_base_qe.ipynb | 1 + pyiron_base_simple.ipynb | 1 + 2 files changed, 2 insertions(+) create mode 100644 pyiron_base_qe.ipynb create mode 100644 pyiron_base_simple.ipynb diff --git a/pyiron_base_qe.ipynb b/pyiron_base_qe.ipynb new file mode 100644 index 0000000..8fa72ad --- /dev/null +++ b/pyiron_base_qe.ipynb @@ -0,0 +1 @@ +{"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.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"be2d61b0-0d47-4349-b4b0-1b767c961644","cell_type":"markdown","source":"# Quantum Espresso Energy Volume Curve Workflow with pyiron_base","metadata":{}},{"id":"0bad2a57-1bd2-4837-94fe-f8c60e211fae","cell_type":"markdown","source":"## Define workflow with pyiron_base","metadata":{}},{"id":"a2ed2608-9e1b-4a81-81cb-5079573ea2d1","cell_type":"code","source":"import numpy as np\nfrom pyiron_base import Project, job\nfrom python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"b75c2530-9b89-4185-838f-a17e517fa68f","cell_type":"code","source":"from quantum_espresso_workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"07a950ca","cell_type":"code","source":"workflow_json_filename = \"pyiron_base_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"208ddfb8-dfda-4227-aa1f-3dc29e34ea82","cell_type":"code","source":"calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"5071d3a0-7c1f-44c5-85e0-dede1566c10c","cell_type":"code","source":"pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"13debfcd-362d-4fd0-a91f-5ab33632fceb","cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[{"data":{"application/vnd.jupyter.widget-view+json":{"model_id":"02502d277bff46be94b6eba7a2d64f98","version_major":2,"version_minor":0},"text/plain":"0it [00:00, ?it/s]"},"metadata":{},"output_type":"display_data"}],"execution_count":6},{"id":"1f1cb12f-4001-478d-8ea0-b369f4f2981a","cell_type":"code","source":"structure = get_bulk_structure(\n element=\"Al\",\n a=4.05,\n cubic=True,\n pyiron_project=pr,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"4140f07b-af54-41ef-be22-df6b5b53bf95","cell_type":"code","source":"calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n pyiron_project=pr,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"3c4dae11-8750-42d5-807c-cd19f2b65706","cell_type":"code","source":"number_of_strains = 5\nstructure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n pyiron_project=pr,\n list_length=number_of_strains,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"fdf3b62d-6cce-4312-8a5b-057224e36aca","cell_type":"code","source":"job_strain_lst = []\nfor i, structure_strain in enumerate(structure_lst):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": structure_strain,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n pyiron_project=pr,\n )\n job_strain_lst.append(calc_strain)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"b2823306-0a8a-4ae6-bb1f-104e90e2fe41","cell_type":"code","source":"plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n pyiron_project=pr,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"52646121-335f-48e6-bd5e-a1d69d00e8bc","cell_type":"code","source":"write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\"nodes\": {\"0\": \"quantum_espresso_workflow.plot_energy_volume_curve\", \"1\": \"python_workflow_definition.shared.get_list\", \"2\": \"quantum_espresso_workflow.calculate_qe\", \"3\": \"python_workflow_definition.shared.get_dict\", \"4\": \"quantum_espresso_workflow.generate_structures\", \"5\": \"quantum_espresso_workflow.calculate_qe\", \"6\": \"python_workflow_definition.shared.get_dict\", \"7\": \"quantum_espresso_workflow.get_bulk_structure\", \"8\": \"quantum_espresso_workflow.calculate_qe\", \"9\": \"python_workflow_definition.shared.get_dict\", \"10\": \"quantum_espresso_workflow.calculate_qe\", \"11\": \"python_workflow_definition.shared.get_dict\", \"12\": \"quantum_espresso_workflow.calculate_qe\", \"13\": \"python_workflow_definition.shared.get_dict\", \"14\": \"quantum_espresso_workflow.calculate_qe\", \"15\": \"python_workflow_definition.shared.get_dict\", \"16\": \"python_workflow_definition.shared.get_list\", \"17\": \"strain_0\", \"18\": \"mini\", \"19\": \"Al\", \"20\": 4.05, \"21\": true, \"22\": {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}, \"23\": [3, 3, 3], \"24\": \"vc-relax\", \"25\": 0.02, \"26\": [0.9, 0.9500000000000001, 1.0, 1.05, 1.1], \"27\": \"scf\", \"28\": \"strain_1\", \"29\": \"strain_2\", \"30\": \"strain_3\", \"31\": \"strain_4\"}, \"edges\": [{\"target\": 0, \"targetHandle\": \"volume_lst\", \"source\": 1, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"0\", \"source\": 2, \"sourceHandle\": \"volume\"}, {\"target\": 2, \"targetHandle\": \"working_directory\", \"source\": 17, \"sourceHandle\": null}, {\"target\": 2, \"targetHandle\": \"input_dict\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_0\"}, {\"target\": 4, \"targetHandle\": \"structure\", \"source\": 5, \"sourceHandle\": \"structure\"}, {\"target\": 5, \"targetHandle\": \"working_directory\", \"source\": 18, \"sourceHandle\": null}, {\"target\": 5, \"targetHandle\": \"input_dict\", \"source\": 6, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"structure\", \"source\": 7, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"element\", \"source\": 19, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"a\", \"source\": 20, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"cubic\", \"source\": 21, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"calculation\", \"source\": 24, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 4, \"targetHandle\": \"strain_lst\", \"source\": 26, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"1\", \"source\": 8, \"sourceHandle\": \"volume\"}, {\"target\": 8, \"targetHandle\": \"working_directory\", \"source\": 28, \"sourceHandle\": null}, {\"target\": 8, \"targetHandle\": \"input_dict\", \"source\": 9, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_1\"}, {\"target\": 9, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"2\", \"source\": 10, \"sourceHandle\": \"volume\"}, {\"target\": 10, \"targetHandle\": \"working_directory\", \"source\": 29, \"sourceHandle\": null}, {\"target\": 10, \"targetHandle\": \"input_dict\", \"source\": 11, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_2\"}, {\"target\": 11, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"3\", \"source\": 12, \"sourceHandle\": \"volume\"}, {\"target\": 12, \"targetHandle\": \"working_directory\", \"source\": 30, \"sourceHandle\": null}, {\"target\": 12, \"targetHandle\": \"input_dict\", \"source\": 13, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_3\"}, {\"target\": 13, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"4\", \"source\": 14, \"sourceHandle\": \"volume\"}, {\"target\": 14, \"targetHandle\": \"working_directory\", \"source\": 31, \"sourceHandle\": null}, {\"target\": 14, \"targetHandle\": \"input_dict\", \"source\": 15, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_4\"}, {\"target\": 15, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"energy_lst\", \"source\": 16, \"sourceHandle\": null}, {\"target\": 16, \"targetHandle\": \"0\", \"source\": 2, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"1\", \"source\": 8, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"2\", \"source\": 10, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"3\", \"source\": 12, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"4\", \"source\": 14, \"sourceHandle\": \"energy\"}]}"}],"execution_count":13},{"id":"7d75a2f6-6fad-49c8-bd29-37cca1b84441","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"28760464-2a2c-40c2-9451-20713da2ba2c","cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"data":{"text/plain":"Profile"},"execution_count":14,"metadata":{},"output_type":"execute_result"}],"execution_count":14},{"id":"9e8043aa-dc65-42ba-9871-0714f7f2573b","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"b9c0c6e1-a62c-41e6-a9ce-1c010c797e70","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"a442fe46-057c-469b-a5e0-173ed4829dfb","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"id":"32fcd4b2-4f0a-442d-b098-827672823796","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"id":"a80b59bd-fe30-49c6-92ca-35ef2d77a6fb","cell_type":"code","source":"result = wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:06 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 08:34:07 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node18,pickle_node19,pickle_node20,pickle_node21,pickle_node22,pickle_node23,pickle_node24,pickle_node25,pickle_node26,pickle_node27,pickle_node28,pickle_node29,pickle_node30,pickle_node31,pickle_node32\n03/22/2025 08:34:07 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node18, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_0'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:08 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node19, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'mini'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:09 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node20, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'Al'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:09 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node21, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 4.05}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:10 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node22, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': True}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:11 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node23, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:12 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node24, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': [3, 3, 3]}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:13 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node25, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'vc-relax'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:14 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node26, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 0.02}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:15 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node27, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': [0.9, 0.95, 1.0, 1.05, 1.1]}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:16 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node28, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'scf'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:17 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node29, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_1'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:17 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node30, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_2'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:18 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node31, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_3'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:20 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node32, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_4'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:21 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 113, 121, 129, 137\n03/22/2025 08:34:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:57 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:57 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n"}],"execution_count":null},{"id":"6a8d1a17-3698-4873-8937-616e9e7dc7ca","cell_type":"code","source":"from IPython.display import Image, display\n\nplot_task = [t for t in wg.tasks if t.name.startswith('plot_energy_volume_curve')][0]\nplot_file = f\"{plot_task.node.get_remote_workdir()}/evcurve.png\"\n\ndisplay(Image(filename=str(plot_file)))\n","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"c4f5c047-c6da-4b54-9007-415faca7a448","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"b8e3c2ca-2672-4e9d-aada-63344842dbcf","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"48a27146-7372-40ab-8b02-e2a9283d4748","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"98fa5694-2cc6-44e9-a6e7-2cc71b4f48ce","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/pyiron_base_simple.ipynb b/pyiron_base_simple.ipynb new file mode 100644 index 0000000..20c537a --- /dev/null +++ b/pyiron_base_simple.ipynb @@ -0,0 +1 @@ +{"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.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"c39b76fb-259f-4e16-a44d-02a295c82386","cell_type":"markdown","source":"# Simple Workflow with pyiron_base","metadata":{}},{"id":"3638419b-a0cb-49e2-b157-7fbb1acde90f","cell_type":"markdown","source":"## Define workflow with pyiron_base","metadata":{}},{"id":"b4a78447-e87c-4fb4-8d17-d9a280eb7254","cell_type":"code","source":"from pyiron_base import Project, job","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"06c2bd9e-b2ac-4b88-9158-fa37331c3418","cell_type":"code","source":"from python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"fb847d49-7bf9-4839-9b99-c116d1b0e9ee","cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"8f95244e","cell_type":"code","source":"workflow_json_filename = \"pyiron_base_simple.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"07598344-0f75-433b-8902-bea21a42088c","cell_type":"code","source":"add_x_and_y = job(_add_x_and_y, output_key_lst=[\"x\", \"y\", \"z\"])\nadd_x_and_y_and_z = job(_add_x_and_y_and_z)","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"ecef1ed5-a8d3-48c3-9e01-4a40e55c1153","cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"0it [00:00, ?it/s]","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"37f4bde844fc45fc8854dfcdc20cd5cc"}},"metadata":{}}],"execution_count":6},{"id":"2b88a30a-e26b-4802-89b7-79ca08cc0af9","cell_type":"code","source":"obj = add_x_and_y(x=1, y=2, pyiron_project=pr)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"a5e5ca63-2906-47c9-bac6-adebf8643cba","cell_type":"code","source":"w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z, pyiron_project=pr)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"e464da97-16a1-4772-9a07-0a47f152781d","cell_type":"code","source":"write_workflow_json(delayed_object=w, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"bca646b2-0a9a-4271-966a-e5903a8c9031","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\"nodes\": {\"0\": \"simple_workflow.add_x_and_y_and_z\", \"1\": \"simple_workflow.add_x_and_y\", \"2\": 1, \"3\": 2}, \"edges\": [{\"target\": 0, \"targetHandle\": \"x\", \"source\": 1, \"sourceHandle\": \"x\"}, {\"target\": 1, \"targetHandle\": \"x\", \"source\": 2, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"y\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"y\", \"source\": 1, \"sourceHandle\": \"y\"}, {\"target\": 0, \"targetHandle\": \"z\", \"source\": 1, \"sourceHandle\": \"z\"}]}"}],"execution_count":10},{"id":"a4c0faaf-e30d-4ded-8e9f-57f97f51b14c","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"2ecc229f-daa1-49b9-9279-a6b5ae1aa4f2","cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":11},{"id":"68a56b32-9f99-43d7-aaee-0c1cd9522681","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"8f2a621d-b533-4ddd-8bcd-c22db2f922ec","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)\nwg","metadata":{"trusted":true},"outputs":[{"execution_count":13,"output_type":"execute_result","data":{"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":1,"model_id":"09020dadcc3b484883ca641d466aed90"}},"metadata":{}}],"execution_count":13},{"id":"cf80267d-c2b0-4236-bf1d-a57596985fc1","cell_type":"code","source":"\nwg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node3,pickle_node4\n03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|run_tasks]: Run task: pickle_node3, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 1}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:38:58 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|run_tasks]: Run task: pickle_node4, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 2}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:38:59 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 180, 188\n03/22/2025 08:39:01 AM <1011> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:39:01 AM <1011> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:01 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:01 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:39:21 AM <1011> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n"}],"execution_count":null},{"id":"0c3503e1-0a32-40e1-845d-3fd9ec3c4c19","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"4abb0481-8e38-479d-ae61-6c46d091653e","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"4b45e83b-945f-48c5-8e20-9df0ce0a14a1","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"8665c39c-220c-4982-b738-c31f6460530f","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"cf76f305-24de-45a7-be8e-cfe45cd6458e","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file From fe108ca67eff4047260048a50567644a81aedde9 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 22 Mar 2025 09:50:17 +0100 Subject: [PATCH 02/11] Delete pyiron_base_to_aiida_qe.ipynb --- pyiron_base_to_aiida_qe.ipynb | 726 ---------------------------------- 1 file changed, 726 deletions(-) delete mode 100644 pyiron_base_to_aiida_qe.ipynb diff --git a/pyiron_base_to_aiida_qe.ipynb b/pyiron_base_to_aiida_qe.ipynb deleted file mode 100644 index a40020d..0000000 --- a/pyiron_base_to_aiida_qe.ipynb +++ /dev/null @@ -1,726 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "28d69730-d8cb-4174-ae3f-aa70da8a8108", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "cacaa0a8-27c8-44de-9e37-69cd3d13408b", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Profile" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aiida import load_profile\n", - "\n", - "load_profile()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "14d87342-706e-4120-99e6-b5363f724601", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project, job" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "a2ed2608-9e1b-4a81-81cb-5079573ea2d1", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.pyiron_base import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "444347b0-d5ba-4903-b8d4-a9d7fc35d268", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.aiida import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "b75c2530-9b89-4185-838f-a17e517fa68f", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from quantum_espresso_workflow import (\n", - " calculate_qe as _calculate_qe, \n", - " generate_structures as _generate_structures, \n", - " get_bulk_structure as _get_bulk_structure, \n", - " plot_energy_volume_curve as _plot_energy_volume_curve,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "07a950ca", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"pyiron_base_to_aiida_qe.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "208ddfb8-dfda-4227-aa1f-3dc29e34ea82", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\n", - "generate_structures = job(_generate_structures)\n", - "plot_energy_volume_curve = job(_plot_energy_volume_curve)\n", - "get_bulk_structure = job(_get_bulk_structure)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "5071d3a0-7c1f-44c5-85e0-dede1566c10c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "13debfcd-362d-4fd0-a91f-5ab33632fceb", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b28438da37d7453da54c0dfb2d0bfdf5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pr = Project(\"test\")\n", - "pr.remove_jobs(recursive=True, silently=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "1f1cb12f-4001-478d-8ea0-b369f4f2981a", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "structure = get_bulk_structure(\n", - " element=\"Al\",\n", - " a=4.05,\n", - " cubic=True,\n", - " pyiron_project=pr,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "4140f07b-af54-41ef-be22-df6b5b53bf95", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "calc_mini = calculate_qe(\n", - " working_directory=\"mini\",\n", - " input_dict={\n", - " \"structure\": structure,\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"vc-relax\",\n", - " \"smearing\": 0.02,\n", - " },\n", - " pyiron_project=pr,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "3c4dae11-8750-42d5-807c-cd19f2b65706", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "number_of_strains = 5\n", - "structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n", - " structure=calc_mini.output.structure,\n", - " strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n", - " pyiron_project=pr,\n", - " list_length=number_of_strains,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "fdf3b62d-6cce-4312-8a5b-057224e36aca", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "job_strain_lst = []\n", - "for i, structure_strain in enumerate(structure_lst):\n", - " calc_strain = calculate_qe(\n", - " working_directory=\"strain_\" + str(i),\n", - " input_dict={\n", - " \"structure\": structure_strain,\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"scf\",\n", - " \"smearing\": 0.02,\n", - " },\n", - " pyiron_project=pr,\n", - " )\n", - " job_strain_lst.append(calc_strain)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "b2823306-0a8a-4ae6-bb1f-104e90e2fe41", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "plot = plot_energy_volume_curve(\n", - " volume_lst=[job.output.volume for job in job_strain_lst],\n", - " energy_lst=[job.output.energy for job in job_strain_lst],\n", - " pyiron_project=pr,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "52646121-335f-48e6-bd5e-a1d69d00e8bc", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────\u001b[0m\n", - " \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mpyiron_base_to_aiida_qe.json\u001b[0m\n", - "\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────\u001b[0m\n", - "\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mnodes\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m0\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.plot_energy_volume_curve\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m1\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m2\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espress\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mo_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m3\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_d\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m4\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.generate_structures\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m5\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquant\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m6\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.sh\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m7\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.get_bulk_structure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m8\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m9\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_defi\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mnition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m10\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m11\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m12\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_es\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mpresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m13\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m14\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m15\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpyth\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mon_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m16\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definit\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mion.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m17\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m18\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mmini\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m19\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m20\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m21\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mtrue\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m22\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mAl\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl.pbe-n-kjpaw_psl.1.0.0.UPF\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m23\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m[\u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m24\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvc-relax\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m25\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m02\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m26\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9500000000000001\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m27\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mscf\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m28\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m29\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m30\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m31\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208medges\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtar\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mso\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208murceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mdirectory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m18\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetH\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtar\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186melement\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m19\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ma\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcubic\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m24\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHan\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mdle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m26\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mn\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141mull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_dir\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mectory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m28\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208margetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnu\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141mll\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mso\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208murceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworkin\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mg_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarg\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208metHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208marget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHa\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msou\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculat\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mion\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarg\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208metHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnul\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141ml\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceH\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mk\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mt\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186men\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceH\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────\u001b[0m\n" - ] - } - ], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "32fcd4b2-4f0a-442d-b098-827672823796", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Failed to link {'target': 3, 'targetHandle': 'structure', 'source': 4, 'sourceHandle': 0} with error: 'int' object has no attribute 'split'\n", - "Failed to link {'target': 9, 'targetHandle': 'structure', 'source': 4, 'sourceHandle': 1} with error: 'int' object has no attribute 'split'\n", - "Failed to link {'target': 11, 'targetHandle': 'structure', 'source': 4, 'sourceHandle': 2} with error: 'int' object has no attribute 'split'\n", - "Failed to link {'target': 13, 'targetHandle': 'structure', 'source': 4, 'sourceHandle': 3} with error: 'int' object has no attribute 'split'\n", - "Failed to link {'target': 15, 'targetHandle': 'structure', 'source': 4, 'sourceHandle': 4} with error: 'int' object has no attribute 'split'\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition/python_workflow_definition/src/python_workflow_definition/aiida.py\", line 44, in load_workflow_json\n", - " if link[\"sourceHandle\"] not in from_task.outputs:\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/node-graph/src/node_graph/socket.py\", line 703, in __contains__\n", - " keys = name.split(\".\", 1)\n", - "AttributeError: 'int' object has no attribute 'split'\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition/python_workflow_definition/src/python_workflow_definition/aiida.py\", line 44, in load_workflow_json\n", - " if link[\"sourceHandle\"] not in from_task.outputs:\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/node-graph/src/node_graph/socket.py\", line 703, in __contains__\n", - " keys = name.split(\".\", 1)\n", - "AttributeError: 'int' object has no attribute 'split'\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition/python_workflow_definition/src/python_workflow_definition/aiida.py\", line 44, in load_workflow_json\n", - " if link[\"sourceHandle\"] not in from_task.outputs:\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/node-graph/src/node_graph/socket.py\", line 703, in __contains__\n", - " keys = name.split(\".\", 1)\n", - "AttributeError: 'int' object has no attribute 'split'\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition/python_workflow_definition/src/python_workflow_definition/aiida.py\", line 44, in load_workflow_json\n", - " if link[\"sourceHandle\"] not in from_task.outputs:\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/node-graph/src/node_graph/socket.py\", line 703, in __contains__\n", - " keys = name.split(\".\", 1)\n", - "AttributeError: 'int' object has no attribute 'split'\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition/python_workflow_definition/src/python_workflow_definition/aiida.py\", line 44, in load_workflow_json\n", - " if link[\"sourceHandle\"] not in from_task.outputs:\n", - " File \"/home/geiger_j/aiida_projects/adis/git-repos/node-graph/src/node_graph/socket.py\", line 703, in __contains__\n", - " keys = name.split(\".\", 1)\n", - "AttributeError: 'int' object has no attribute 'split'\n" - ] - } - ], - "source": [ - "wg = load_workflow_json(file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a80b59bd-fe30-49c6-92ca-35ef2d77a6fb", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:41 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 03:49:42 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node18,pickle_node19,pickle_node20,pickle_node21,pickle_node22,pickle_node23,pickle_node24,pickle_node25,pickle_node26,pickle_node27,pickle_node28,pickle_node29,pickle_node30,pickle_node31,pickle_node32\n", - "03/21/2025 03:49:43 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node18, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_0'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:44 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node19, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'mini'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:46 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node20, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'Al'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:47 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node21, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 4.05}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:49 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node22, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': True}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:51 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node23, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:52 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node24, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': [3, 3, 3]}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:54 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node25, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'vc-relax'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:56 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node26, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 0.02}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:58 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node27, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': [0.9, 0.95, 1.0, 1.05, 1.1]}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:49:59 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node28, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'scf'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:50:01 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node29, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_1'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:50:02 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node30, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_2'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:50:04 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node31, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_3'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 03:50:06 PM <47922> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [15507|WorkGraphEngine|run_tasks]: Run task: pickle_node32, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_4'}\n" - ] - } - ], - "source": [ - "result = wg.run()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6a8d1a17-3698-4873-8937-616e9e7dc7ca", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'DynamicNode' object has no attribute 'node'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[20], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mIPython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdisplay\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Image, display\n\u001b[1;32m 3\u001b[0m plot_task \u001b[38;5;241m=\u001b[39m [t \u001b[38;5;28;01mfor\u001b[39;00m t \u001b[38;5;129;01min\u001b[39;00m wg\u001b[38;5;241m.\u001b[39mtasks \u001b[38;5;28;01mif\u001b[39;00m t\u001b[38;5;241m.\u001b[39mname\u001b[38;5;241m.\u001b[39mstartswith(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mplot_energy_volume_curve\u001b[39m\u001b[38;5;124m'\u001b[39m)][\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m----> 4\u001b[0m plot_file \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[43mplot_task\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnode\u001b[49m\u001b[38;5;241m.\u001b[39mget_remote_workdir()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m/evcurve.png\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 6\u001b[0m display(Image(filename\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mstr\u001b[39m(plot_file)))\n", - "\u001b[0;31mAttributeError\u001b[0m: 'DynamicNode' object has no attribute 'node'" - ] - } - ], - "source": [ - "from IPython.display import Image, display\n", - "\n", - "plot_task = [t for t in wg.tasks if t.name.startswith('plot_energy_volume_curve')][0]\n", - "plot_file = f\"{plot_task.node.get_remote_workdir()}/evcurve.png\"\n", - "\n", - "display(Image(filename=str(plot_file)))\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From b366213132ca93f7f58af42e8bce7131caae135f Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 22 Mar 2025 09:50:32 +0100 Subject: [PATCH 03/11] Delete pyiron_base_to_aiida_simple.ipynb --- pyiron_base_to_aiida_simple.ipynb | 361 ------------------------------ 1 file changed, 361 deletions(-) delete mode 100644 pyiron_base_to_aiida_simple.ipynb diff --git a/pyiron_base_to_aiida_simple.ipynb b/pyiron_base_to_aiida_simple.ipynb deleted file mode 100644 index af2344d..0000000 --- a/pyiron_base_to_aiida_simple.ipynb +++ /dev/null @@ -1,361 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "000bbd4a-f53c-4eea-9d85-76f0aa2ca10b", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Profile" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aiida import load_profile\n", - "\n", - "load_profile()" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b4a78447-e87c-4fb4-8d17-d9a280eb7254", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project, job" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "06c2bd9e-b2ac-4b88-9158-fa37331c3418", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.pyiron_base import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "fb6dbdaa-8cab-48b2-8307-448003eca3f5", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.aiida import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fb847d49-7bf9-4839-9b99-c116d1b0e9ee", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from simple_workflow import (\n", - " add_x_and_y as _add_x_and_y, \n", - " add_x_and_y_and_z as _add_x_and_y_and_z,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f95244e", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"pyiron_base_to_aiida_simple.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "07598344-0f75-433b-8902-bea21a42088c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "add_x_and_y = job(_add_x_and_y, output_key_lst=[\"x\", \"y\", \"z\"])\n", - "add_x_and_y_and_z = job(_add_x_and_y_and_z)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "ecef1ed5-a8d3-48c3-9e01-4a40e55c1153", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "080b31b1d2ff47bfbabda6d012fc9e14", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/17 [00:00 aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:36:41 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node3,pickle_node4\n", - "03/21/2025 12:36:41 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|run_tasks]: Run task: pickle_node3, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 1}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:36:42 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|run_tasks]: Run task: pickle_node4, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 2}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:36:43 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 12799, 12807\n", - "03/21/2025 12:36:46 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|update_task_state]: Task: pickle_node3 finished.\n", - "03/21/2025 12:36:46 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|update_task_state]: Task: pickle_node4 finished.\n", - "03/21/2025 12:36:47 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:36:47 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: tasks ready to run: add_x_and_y2\n", - "03/21/2025 12:36:47 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|run_tasks]: Run task: add_x_and_y2, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'register_pickle_by_value': True, 'x': , 'y': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:36:48 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 12822\n", - "03/21/2025 12:36:50 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|update_task_state]: Task: add_x_and_y2 finished.\n", - "03/21/2025 12:36:51 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:36:51 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: tasks ready to run: add_x_and_y_and_z1\n", - "03/21/2025 12:36:51 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|run_tasks]: Run task: add_x_and_y_and_z1, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'register_pickle_by_value': True, 'x': , 'y': , 'z': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:36:51 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 12835\n", - "03/21/2025 12:36:54 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|update_task_state]: Task: add_x_and_y_and_z1 finished.\n", - "03/21/2025 12:36:54 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:36:54 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 12:36:54 PM <3704092> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12791|WorkGraphEngine|finalize]: Finalize workgraph.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'execution_count': }" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "wg.run()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10c2a6c3", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From f7257f7f7fd32e0324c71c19a7fa0c8f1a961619 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 22 Mar 2025 09:50:48 +0100 Subject: [PATCH 04/11] Delete pyiron_base_to_jobflow_qe.ipynb --- pyiron_base_to_jobflow_qe.ipynb | 444 -------------------------------- 1 file changed, 444 deletions(-) delete mode 100644 pyiron_base_to_jobflow_qe.ipynb diff --git a/pyiron_base_to_jobflow_qe.ipynb b/pyiron_base_to_jobflow_qe.ipynb deleted file mode 100644 index 9b39665..0000000 --- a/pyiron_base_to_jobflow_qe.ipynb +++ /dev/null @@ -1,444 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 14, - "id": "28d69730-d8cb-4174-ae3f-aa70da8a8108", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "cacaa0a8-27c8-44de-9e37-69cd3d13408b", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from jobflow.managers.local import run_locally" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "14d87342-706e-4120-99e6-b5363f724601", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project, job" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "a2ed2608-9e1b-4a81-81cb-5079573ea2d1", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.pyiron_base import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "444347b0-d5ba-4903-b8d4-a9d7fc35d268", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.jobflow import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "b75c2530-9b89-4185-838f-a17e517fa68f", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from quantum_espresso_workflow import (\n", - " calculate_qe as _calculate_qe, \n", - " generate_structures as _generate_structures, \n", - " get_bulk_structure as _get_bulk_structure, \n", - " plot_energy_volume_curve as _plot_energy_volume_curve,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "07a950ca", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"pyiron_base_to_jobflow_qe.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "208ddfb8-dfda-4227-aa1f-3dc29e34ea82", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\n", - "generate_structures = job(_generate_structures)\n", - "plot_energy_volume_curve = job(_plot_energy_volume_curve)\n", - "get_bulk_structure = job(_get_bulk_structure)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "5071d3a0-7c1f-44c5-85e0-dede1566c10c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "13debfcd-362d-4fd0-a91f-5ab33632fceb", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0c30d907e2cc45ecb5447f75b42fb69d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pr = Project(\"test\")\n", - "pr.remove_jobs(recursive=True, silently=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "1f1cb12f-4001-478d-8ea0-b369f4f2981a", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "structure = get_bulk_structure(\n", - " element=\"Al\",\n", - " a=4.05,\n", - " cubic=True,\n", - " pyiron_project=pr,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "4140f07b-af54-41ef-be22-df6b5b53bf95", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "calc_mini = calculate_qe(\n", - " working_directory=\"mini\",\n", - " input_dict={\n", - " \"structure\": structure,\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"vc-relax\",\n", - " \"smearing\": 0.02,\n", - " },\n", - " pyiron_project=pr,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "3c4dae11-8750-42d5-807c-cd19f2b65706", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "number_of_strains = 5\n", - "structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n", - " structure=calc_mini.output.structure,\n", - " strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n", - " pyiron_project=pr,\n", - " list_length=number_of_strains,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "fdf3b62d-6cce-4312-8a5b-057224e36aca", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "job_strain_lst = []\n", - "for i, structure_strain in enumerate(structure_lst):\n", - " calc_strain = calculate_qe(\n", - " working_directory=\"strain_\" + str(i),\n", - " input_dict={\n", - " \"structure\": structure_strain,\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"scf\",\n", - " \"smearing\": 0.02,\n", - " },\n", - " pyiron_project=pr,\n", - " )\n", - " job_strain_lst.append(calc_strain)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "b2823306-0a8a-4ae6-bb1f-104e90e2fe41", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "plot = plot_energy_volume_curve(\n", - " volume_lst=[job.output.volume for job in job_strain_lst],\n", - " energy_lst=[job.output.energy for job in job_strain_lst],\n", - " pyiron_project=pr,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "52646121-335f-48e6-bd5e-a1d69d00e8bc", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "32fcd4b2-4f0a-442d-b098-827672823796", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "flow = load_workflow_json(file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "a80b59bd-fe30-49c6-92ca-35ef2d77a6fb", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2025-03-17 09:50:21,792 INFO Started executing jobs locally\n", - "2025-03-17 09:50:22,018 INFO Starting job - get_bulk_structure (4c9813a9-b659-4297-91fb-09afce5a7760)\n", - "2025-03-17 09:50:22,021 INFO Finished job - get_bulk_structure (4c9813a9-b659-4297-91fb-09afce5a7760)\n", - "2025-03-17 09:50:22,022 INFO Starting job - get_dict (3690ec2a-b248-407d-b66f-f851a7f17c0a)\n", - "2025-03-17 09:50:22,024 INFO Finished job - get_dict (3690ec2a-b248-407d-b66f-f851a7f17c0a)\n", - "2025-03-17 09:50:22,025 INFO Starting job - calculate_qe (af9fbdab-b34c-4e21-a8d5-399dc2d723f6)\n", - "2025-03-17 09:50:51,064 INFO Finished job - calculate_qe (af9fbdab-b34c-4e21-a8d5-399dc2d723f6)\n", - "2025-03-17 09:50:51,065 INFO Starting job - generate_structures (cf237605-9077-4f81-8e4d-06632fc8e485)\n", - "2025-03-17 09:50:51,074 INFO Finished job - generate_structures (cf237605-9077-4f81-8e4d-06632fc8e485)\n", - "2025-03-17 09:50:51,080 INFO Starting job - get_dict (ae13ecea-119c-4ca3-be88-0a5664375495)\n", - "2025-03-17 09:50:51,090 INFO get_dict failed with exception:\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/managers/local.py\", line 117, in _run_job\n", - " response = job.run(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 593, in run\n", - " self.resolve_args(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 709, in resolve_args\n", - " resolved_kwargs = find_and_resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 473, in find_and_resolve_references\n", - " resolved_references = resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 361, in resolve_references\n", - " resolved_references[ref] = ref.resolve(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 187, in resolve\n", - " data[attr]\n", - "KeyError: '1'\n", - "\n", - "2025-03-17 09:50:51,093 INFO Starting job - get_dict (fb1a9cb3-5213-4bec-8fb8-4cd00d492024)\n", - "2025-03-17 09:50:51,099 INFO get_dict failed with exception:\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/managers/local.py\", line 117, in _run_job\n", - " response = job.run(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 593, in run\n", - " self.resolve_args(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 709, in resolve_args\n", - " resolved_kwargs = find_and_resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 473, in find_and_resolve_references\n", - " resolved_references = resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 361, in resolve_references\n", - " resolved_references[ref] = ref.resolve(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 187, in resolve\n", - " data[attr]\n", - "KeyError: '2'\n", - "\n", - "2025-03-17 09:50:51,099 INFO Starting job - get_dict (1a266d19-b272-4061-995b-0a5f765d12b4)\n", - "2025-03-17 09:50:51,103 INFO get_dict failed with exception:\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/managers/local.py\", line 117, in _run_job\n", - " response = job.run(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 593, in run\n", - " self.resolve_args(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 709, in resolve_args\n", - " resolved_kwargs = find_and_resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 473, in find_and_resolve_references\n", - " resolved_references = resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 361, in resolve_references\n", - " resolved_references[ref] = ref.resolve(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 187, in resolve\n", - " data[attr]\n", - "KeyError: '3'\n", - "\n", - "2025-03-17 09:50:51,104 INFO Starting job - get_dict (5f9e5e45-5fa7-476f-9c6f-89bcf64383b2)\n", - "2025-03-17 09:50:51,109 INFO get_dict failed with exception:\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/managers/local.py\", line 117, in _run_job\n", - " response = job.run(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 593, in run\n", - " self.resolve_args(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 709, in resolve_args\n", - " resolved_kwargs = find_and_resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 473, in find_and_resolve_references\n", - " resolved_references = resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 361, in resolve_references\n", - " resolved_references[ref] = ref.resolve(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 187, in resolve\n", - " data[attr]\n", - "KeyError: '4'\n", - "\n", - "2025-03-17 09:50:51,110 INFO Starting job - get_dict (7a007848-6846-4caa-8842-797ac9a9cc05)\n", - "2025-03-17 09:50:51,114 INFO get_dict failed with exception:\n", - "Traceback (most recent call last):\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/managers/local.py\", line 117, in _run_job\n", - " response = job.run(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 593, in run\n", - " self.resolve_args(store=store)\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/job.py\", line 709, in resolve_args\n", - " resolved_kwargs = find_and_resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 473, in find_and_resolve_references\n", - " resolved_references = resolve_references(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 361, in resolve_references\n", - " resolved_references[ref] = ref.resolve(\n", - " File \"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/jobflow/core/reference.py\", line 187, in resolve\n", - " data[attr]\n", - "KeyError: '0'\n", - "\n", - "2025-03-17 09:50:51,118 INFO Finished executing jobs locally\n" - ] - }, - { - "data": { - "text/plain": [ - "{'4c9813a9-b659-4297-91fb-09afce5a7760': {1: Response(output={'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], 'cell': [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], 'pbc': [True, True, True]}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition'))},\n", - " '3690ec2a-b248-407d-b66f-f851a7f17c0a': {1: Response(output={'structure': {'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], 'cell': [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], 'pbc': [True, True, True]}, 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'kpts': [3, 3, 3], 'calculation': 'vc-relax', 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition'))},\n", - " 'af9fbdab-b34c-4e21-a8d5-399dc2d723f6': {1: Response(output={'structure': {'numbers': array([13, 13, 13, 13]), 'positions': array([[0. , 0. , 0. ],\n", - " [0. , 2.0228187, 2.0228187],\n", - " [2.0228187, 0. , 2.0228187],\n", - " [2.0228187, 2.0228187, 0. ]]), 'cell': array([[4.04563739, 0. , 0. ],\n", - " [0. , 4.04563739, 0. ],\n", - " [0. , 0. , 4.04563739]]), 'pbc': array([ True, True, True])}, 'energy': -1074.9365262239562, 'volume': 66.21568309221016}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition'))},\n", - " 'cf237605-9077-4f81-8e4d-06632fc8e485': {1: Response(output={'s_0': {'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 1.9530099776292937, 1.9530099776292937], [1.9530099776292937, 0.0, 1.9530099776292937], [1.9530099776292937, 1.9530099776292937, 0.0]], 'cell': [[3.9060199552585884, 0.0, 0.0], [0.0, 3.9060199552585884, 0.0], [0.0, 0.0, 3.9060199552585884]], 'pbc': [True, True, True]}, 's_1': {'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 1.988527008346639, 1.988527008346639], [1.988527008346639, 0.0, 1.988527008346639], [1.988527008346639, 1.988527008346639, 0.0]], 'cell': [[3.9770540166932786, 0.0, 0.0], [0.0, 3.9770540166932786, 0.0], [0.0, 0.0, 3.9770540166932786]], 'pbc': [True, True, True]}, 's_2': {'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 2.02281869564732, 2.02281869564732], [2.02281869564732, 0.0, 2.02281869564732], [2.02281869564732, 2.02281869564732, 0.0]], 'cell': [[4.045637391294641, 0.0, 0.0], [0.0, 4.045637391294641, 0.0], [0.0, 0.0, 4.045637391294641]], 'pbc': [True, True, True]}, 's_3': {'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 2.0559855527529103, 2.0559855527529103], [2.0559855527529103, 0.0, 2.0559855527529103], [2.0559855527529103, 2.0559855527529103, 0.0]], 'cell': [[4.1119711055058215, 0.0, 0.0], [0.0, 4.1119711055058215, 0.0], [0.0, 0.0, 4.1119711055058215]], 'pbc': [True, True, True]}, 's_4': {'numbers': [13, 13, 13, 13], 'positions': [[0.0, 0.0, 0.0], [0.0, 2.088115516690114, 2.088115516690114], [2.088115516690114, 0.0, 2.088115516690114], [2.088115516690114, 2.088115516690114, 0.0]], 'cell': [[4.176231033380229, 0.0, 0.0], [0.0, 4.176231033380229, 0.0], [0.0, 0.0, 4.176231033380229]], 'pbc': [True, True, True]}}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/geiger_j/aiida_projects/adis/git-repos/python-workflow-definition'))}}" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "result = run_locally(flow)\n", - "result" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6a8d1a17-3698-4873-8937-616e9e7dc7ca", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From c5c7cdc84f162631eb3a43eb9a9464da10198891 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 22 Mar 2025 09:51:05 +0100 Subject: [PATCH 05/11] Delete pyiron_base_to_jobflow_simple.ipynb --- pyiron_base_to_jobflow_simple.ipynb | 253 ---------------------------- 1 file changed, 253 deletions(-) delete mode 100644 pyiron_base_to_jobflow_simple.ipynb diff --git a/pyiron_base_to_jobflow_simple.ipynb b/pyiron_base_to_jobflow_simple.ipynb deleted file mode 100644 index 0d0ae2a..0000000 --- a/pyiron_base_to_jobflow_simple.ipynb +++ /dev/null @@ -1,253 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 14, - "id": "cacaa0a8-27c8-44de-9e37-69cd3d13408b", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from jobflow.managers.local import run_locally" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "14d87342-706e-4120-99e6-b5363f724601", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project, job" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "a2ed2608-9e1b-4a81-81cb-5079573ea2d1", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.pyiron_base import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "444347b0-d5ba-4903-b8d4-a9d7fc35d268", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"cipher\": algorithms.TripleDES,\n", - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"class\": algorithms.TripleDES,\n" - ] - } - ], - "source": [ - "from python_workflow_definition.jobflow import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "b75c2530-9b89-4185-838f-a17e517fa68f", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from simple_workflow import (\n", - " add_x_and_y as _add_x_and_y, \n", - " add_x_and_y_and_z as _add_x_and_y_and_z,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd3a63cb", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"pyiron_base_to_jobflow_simple.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "208ddfb8-dfda-4227-aa1f-3dc29e34ea82", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "add_x_and_y = job(_add_x_and_y, output_key_lst=[\"x\", \"y\", \"z\"])\n", - "add_x_and_y_and_z = job(_add_x_and_y_and_z)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "13debfcd-362d-4fd0-a91f-5ab33632fceb", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "995ed2f66f824325acdc2b3886db0edc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pr = Project(\"test\")\n", - "pr.remove_jobs(recursive=True, silently=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "1f1cb12f-4001-478d-8ea0-b369f4f2981a", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "obj = add_x_and_y(x=1, y=2, pyiron_project=pr)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "4140f07b-af54-41ef-be22-df6b5b53bf95", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z, pyiron_project=pr)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "52646121-335f-48e6-bd5e-a1d69d00e8bc", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "write_workflow_json(delayed_object=w, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────\u001b[0m\n", - " \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mworkflow_simple_pyiron_base.json\u001b[0m\n", - "\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────\u001b[0m\n", - "\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mnodes\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m0\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msimple_workflow.add_x_and_y_and_z\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m1\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msimple_workf\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mlow.add_x_and_y\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m2\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m3\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208medges\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mx\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mx\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mx\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186my\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186my\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186my\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mz\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mz\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────\u001b[0m\n" - ] - } - ], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "32fcd4b2-4f0a-442d-b098-827672823796", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "flow = load_workflow_json(file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "a80b59bd-fe30-49c6-92ca-35ef2d77a6fb", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'run_locally' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[13], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mrun_locally\u001b[49m(flow)\n\u001b[1;32m 2\u001b[0m result\n", - "\u001b[0;31mNameError\u001b[0m: name 'run_locally' is not defined" - ] - } - ], - "source": [ - "result = run_locally(flow)\n", - "result" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 5ae18c7846dd74f847324d77764e26490fb7258c Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sat, 22 Mar 2025 09:51:47 +0100 Subject: [PATCH 06/11] Update pyiron.yml --- .github/workflows/pyiron.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pyiron.yml b/.github/workflows/pyiron.yml index cdb99d6..4e0b8cc 100644 --- a/.github/workflows/pyiron.yml +++ b/.github/workflows/pyiron.yml @@ -33,8 +33,5 @@ jobs: papermill universal_simple_to_pyiron_base.ipynb universal_simple_to_pyiron_base_out.ipynb -k "python3" papermill universal_qe_to_pyiron_base.ipynb universal_qe_to_pyiron_base_out.ipynb -k "python3" - papermill pyiron_base_to_jobflow_simple.ipynb pyiron_base_to_jobflow_simple_out.ipynb -k "python3" - papermill pyiron_base_to_jobflow_qe.ipynb pyiron_base_to_jobflow_qe_out.ipynb -k "python3" - - papermill pyiron_base_to_aiida_simple.ipynb pyiron_base_to_aiida_simple_out.ipynb -k "python3" - papermill pyiron_base_to_aiida_qe.ipynb pyiron_base_to_aiida_qe_out.ipynb -k "python3" + papermill pyiron_base_simple.ipynb pyiron_base_simple_out.ipynb -k "python3" + papermill pyiron_base_qe.ipynb pyiron_base_qe_out.ipynb -k "python3" From aca96b1b11ad06b1c8736908a42ae329ab63e2bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 22 Mar 2025 10:03:05 +0100 Subject: [PATCH 07/11] fix notebooks --- pyiron_base_qe.ipynb | 472 ++++++++++++++++++++++++++++++++++++++- pyiron_base_simple.ipynb | 306 ++++++++++++++++++++++++- 2 files changed, 776 insertions(+), 2 deletions(-) diff --git a/pyiron_base_qe.ipynb b/pyiron_base_qe.ipynb index 8fa72ad..574099b 100644 --- a/pyiron_base_qe.ipynb +++ b/pyiron_base_qe.ipynb @@ -1 +1,471 @@ -{"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.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"be2d61b0-0d47-4349-b4b0-1b767c961644","cell_type":"markdown","source":"# Quantum Espresso Energy Volume Curve Workflow with pyiron_base","metadata":{}},{"id":"0bad2a57-1bd2-4837-94fe-f8c60e211fae","cell_type":"markdown","source":"## Define workflow with pyiron_base","metadata":{}},{"id":"a2ed2608-9e1b-4a81-81cb-5079573ea2d1","cell_type":"code","source":"import numpy as np\nfrom pyiron_base import Project, job\nfrom python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"b75c2530-9b89-4185-838f-a17e517fa68f","cell_type":"code","source":"from quantum_espresso_workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"07a950ca","cell_type":"code","source":"workflow_json_filename = \"pyiron_base_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"208ddfb8-dfda-4227-aa1f-3dc29e34ea82","cell_type":"code","source":"calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"5071d3a0-7c1f-44c5-85e0-dede1566c10c","cell_type":"code","source":"pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"13debfcd-362d-4fd0-a91f-5ab33632fceb","cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[{"data":{"application/vnd.jupyter.widget-view+json":{"model_id":"02502d277bff46be94b6eba7a2d64f98","version_major":2,"version_minor":0},"text/plain":"0it [00:00, ?it/s]"},"metadata":{},"output_type":"display_data"}],"execution_count":6},{"id":"1f1cb12f-4001-478d-8ea0-b369f4f2981a","cell_type":"code","source":"structure = get_bulk_structure(\n element=\"Al\",\n a=4.05,\n cubic=True,\n pyiron_project=pr,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"4140f07b-af54-41ef-be22-df6b5b53bf95","cell_type":"code","source":"calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n pyiron_project=pr,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"3c4dae11-8750-42d5-807c-cd19f2b65706","cell_type":"code","source":"number_of_strains = 5\nstructure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n pyiron_project=pr,\n list_length=number_of_strains,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"fdf3b62d-6cce-4312-8a5b-057224e36aca","cell_type":"code","source":"job_strain_lst = []\nfor i, structure_strain in enumerate(structure_lst):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": structure_strain,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n pyiron_project=pr,\n )\n job_strain_lst.append(calc_strain)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"b2823306-0a8a-4ae6-bb1f-104e90e2fe41","cell_type":"code","source":"plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n pyiron_project=pr,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"52646121-335f-48e6-bd5e-a1d69d00e8bc","cell_type":"code","source":"write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\"nodes\": {\"0\": \"quantum_espresso_workflow.plot_energy_volume_curve\", \"1\": \"python_workflow_definition.shared.get_list\", \"2\": \"quantum_espresso_workflow.calculate_qe\", \"3\": \"python_workflow_definition.shared.get_dict\", \"4\": \"quantum_espresso_workflow.generate_structures\", \"5\": \"quantum_espresso_workflow.calculate_qe\", \"6\": \"python_workflow_definition.shared.get_dict\", \"7\": \"quantum_espresso_workflow.get_bulk_structure\", \"8\": \"quantum_espresso_workflow.calculate_qe\", \"9\": \"python_workflow_definition.shared.get_dict\", \"10\": \"quantum_espresso_workflow.calculate_qe\", \"11\": \"python_workflow_definition.shared.get_dict\", \"12\": \"quantum_espresso_workflow.calculate_qe\", \"13\": \"python_workflow_definition.shared.get_dict\", \"14\": \"quantum_espresso_workflow.calculate_qe\", \"15\": \"python_workflow_definition.shared.get_dict\", \"16\": \"python_workflow_definition.shared.get_list\", \"17\": \"strain_0\", \"18\": \"mini\", \"19\": \"Al\", \"20\": 4.05, \"21\": true, \"22\": {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}, \"23\": [3, 3, 3], \"24\": \"vc-relax\", \"25\": 0.02, \"26\": [0.9, 0.9500000000000001, 1.0, 1.05, 1.1], \"27\": \"scf\", \"28\": \"strain_1\", \"29\": \"strain_2\", \"30\": \"strain_3\", \"31\": \"strain_4\"}, \"edges\": [{\"target\": 0, \"targetHandle\": \"volume_lst\", \"source\": 1, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"0\", \"source\": 2, \"sourceHandle\": \"volume\"}, {\"target\": 2, \"targetHandle\": \"working_directory\", \"source\": 17, \"sourceHandle\": null}, {\"target\": 2, \"targetHandle\": \"input_dict\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_0\"}, {\"target\": 4, \"targetHandle\": \"structure\", \"source\": 5, \"sourceHandle\": \"structure\"}, {\"target\": 5, \"targetHandle\": \"working_directory\", \"source\": 18, \"sourceHandle\": null}, {\"target\": 5, \"targetHandle\": \"input_dict\", \"source\": 6, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"structure\", \"source\": 7, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"element\", \"source\": 19, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"a\", \"source\": 20, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"cubic\", \"source\": 21, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"calculation\", \"source\": 24, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 4, \"targetHandle\": \"strain_lst\", \"source\": 26, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"1\", \"source\": 8, \"sourceHandle\": \"volume\"}, {\"target\": 8, \"targetHandle\": \"working_directory\", \"source\": 28, \"sourceHandle\": null}, {\"target\": 8, \"targetHandle\": \"input_dict\", \"source\": 9, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_1\"}, {\"target\": 9, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"2\", \"source\": 10, \"sourceHandle\": \"volume\"}, {\"target\": 10, \"targetHandle\": \"working_directory\", \"source\": 29, \"sourceHandle\": null}, {\"target\": 10, \"targetHandle\": \"input_dict\", \"source\": 11, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_2\"}, {\"target\": 11, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"3\", \"source\": 12, \"sourceHandle\": \"volume\"}, {\"target\": 12, \"targetHandle\": \"working_directory\", \"source\": 30, \"sourceHandle\": null}, {\"target\": 12, \"targetHandle\": \"input_dict\", \"source\": 13, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_3\"}, {\"target\": 13, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"4\", \"source\": 14, \"sourceHandle\": \"volume\"}, {\"target\": 14, \"targetHandle\": \"working_directory\", \"source\": 31, \"sourceHandle\": null}, {\"target\": 14, \"targetHandle\": \"input_dict\", \"source\": 15, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_4\"}, {\"target\": 15, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"energy_lst\", \"source\": 16, \"sourceHandle\": null}, {\"target\": 16, \"targetHandle\": \"0\", \"source\": 2, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"1\", \"source\": 8, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"2\", \"source\": 10, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"3\", \"source\": 12, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"4\", \"source\": 14, \"sourceHandle\": \"energy\"}]}"}],"execution_count":13},{"id":"7d75a2f6-6fad-49c8-bd29-37cca1b84441","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"28760464-2a2c-40c2-9451-20713da2ba2c","cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"data":{"text/plain":"Profile"},"execution_count":14,"metadata":{},"output_type":"execute_result"}],"execution_count":14},{"id":"9e8043aa-dc65-42ba-9871-0714f7f2573b","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"b9c0c6e1-a62c-41e6-a9ce-1c010c797e70","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"a442fe46-057c-469b-a5e0-173ed4829dfb","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"id":"32fcd4b2-4f0a-442d-b098-827672823796","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"id":"a80b59bd-fe30-49c6-92ca-35ef2d77a6fb","cell_type":"code","source":"result = wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:06 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 08:34:07 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node18,pickle_node19,pickle_node20,pickle_node21,pickle_node22,pickle_node23,pickle_node24,pickle_node25,pickle_node26,pickle_node27,pickle_node28,pickle_node29,pickle_node30,pickle_node31,pickle_node32\n03/22/2025 08:34:07 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node18, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_0'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:08 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node19, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'mini'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:09 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node20, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'Al'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:09 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node21, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 4.05}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:10 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node22, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': True}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:11 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node23, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:12 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node24, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': [3, 3, 3]}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:13 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node25, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'vc-relax'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:14 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node26, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 0.02}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:15 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node27, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': [0.9, 0.95, 1.0, 1.05, 1.1]}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:16 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node28, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'scf'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:17 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node29, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_1'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:17 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node30, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_2'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:18 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node31, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_3'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:20 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node32, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_4'}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:34:21 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 113, 121, 129, 137\n03/22/2025 08:34:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:57 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:57 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n"}],"execution_count":null},{"id":"6a8d1a17-3698-4873-8937-616e9e7dc7ca","cell_type":"code","source":"from IPython.display import Image, display\n\nplot_task = [t for t in wg.tasks if t.name.startswith('plot_energy_volume_curve')][0]\nplot_file = f\"{plot_task.node.get_remote_workdir()}/evcurve.png\"\n\ndisplay(Image(filename=str(plot_file)))\n","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"c4f5c047-c6da-4b54-9007-415faca7a448","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"b8e3c2ca-2672-4e9d-aada-63344842dbcf","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"48a27146-7372-40ab-8b02-e2a9283d4748","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"98fa5694-2cc6-44e9-a6e7-2cc71b4f48ce","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file +{ + "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.12.8" + } + }, + "nbformat_minor": 5, + "nbformat": 4, + "cells": [ + { + "id": "be2d61b0-0d47-4349-b4b0-1b767c961644", + "cell_type": "markdown", + "source": "# Quantum Espresso Energy Volume Curve Workflow with pyiron_base", + "metadata": {} + }, + { + "id": "0bad2a57-1bd2-4837-94fe-f8c60e211fae", + "cell_type": "markdown", + "source": "## Define workflow with pyiron_base", + "metadata": {} + }, + { + "id": "a2ed2608-9e1b-4a81-81cb-5079573ea2d1", + "cell_type": "code", + "source": "import numpy as np\nfrom pyiron_base import Project, job\nfrom python_workflow_definition.pyiron_base import write_workflow_json", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 1 + }, + { + "id": "b75c2530-9b89-4185-838f-a17e517fa68f", + "cell_type": "code", + "source": "from quantum_espresso_workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 2 + }, + { + "id": "07a950ca", + "cell_type": "code", + "source": "workflow_json_filename = \"pyiron_base_qe.json\"", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 3 + }, + { + "id": "208ddfb8-dfda-4227-aa1f-3dc29e34ea82", + "cell_type": "code", + "source": "calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 4 + }, + { + "id": "5071d3a0-7c1f-44c5-85e0-dede1566c10c", + "cell_type": "code", + "source": "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 5 + }, + { + "id": "13debfcd-362d-4fd0-a91f-5ab33632fceb", + "cell_type": "code", + "source": "pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "02502d277bff46be94b6eba7a2d64f98", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": "0it [00:00, ?it/s]" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 6 + }, + { + "id": "1f1cb12f-4001-478d-8ea0-b369f4f2981a", + "cell_type": "code", + "source": "structure = get_bulk_structure(\n element=\"Al\",\n a=4.05,\n cubic=True,\n pyiron_project=pr,\n)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 7 + }, + { + "id": "4140f07b-af54-41ef-be22-df6b5b53bf95", + "cell_type": "code", + "source": "calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n pyiron_project=pr,\n)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 8 + }, + { + "id": "3c4dae11-8750-42d5-807c-cd19f2b65706", + "cell_type": "code", + "source": "number_of_strains = 5\nstructure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n pyiron_project=pr,\n list_length=number_of_strains,\n)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 9 + }, + { + "id": "fdf3b62d-6cce-4312-8a5b-057224e36aca", + "cell_type": "code", + "source": "job_strain_lst = []\nfor i, structure_strain in enumerate(structure_lst):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": structure_strain,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n pyiron_project=pr,\n )\n job_strain_lst.append(calc_strain)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 10 + }, + { + "id": "b2823306-0a8a-4ae6-bb1f-104e90e2fe41", + "cell_type": "code", + "source": "plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n pyiron_project=pr,\n)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 11 + }, + { + "id": "52646121-335f-48e6-bd5e-a1d69d00e8bc", + "cell_type": "code", + "source": "write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 12 + }, + { + "id": "72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee", + "cell_type": "code", + "source": "!cat {workflow_json_filename}", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": "{\"nodes\": {\"0\": \"quantum_espresso_workflow.plot_energy_volume_curve\", \"1\": \"python_workflow_definition.shared.get_list\", \"2\": \"quantum_espresso_workflow.calculate_qe\", \"3\": \"python_workflow_definition.shared.get_dict\", \"4\": \"quantum_espresso_workflow.generate_structures\", \"5\": \"quantum_espresso_workflow.calculate_qe\", \"6\": \"python_workflow_definition.shared.get_dict\", \"7\": \"quantum_espresso_workflow.get_bulk_structure\", \"8\": \"quantum_espresso_workflow.calculate_qe\", \"9\": \"python_workflow_definition.shared.get_dict\", \"10\": \"quantum_espresso_workflow.calculate_qe\", \"11\": \"python_workflow_definition.shared.get_dict\", \"12\": \"quantum_espresso_workflow.calculate_qe\", \"13\": \"python_workflow_definition.shared.get_dict\", \"14\": \"quantum_espresso_workflow.calculate_qe\", \"15\": \"python_workflow_definition.shared.get_dict\", \"16\": \"python_workflow_definition.shared.get_list\", \"17\": \"strain_0\", \"18\": \"mini\", \"19\": \"Al\", \"20\": 4.05, \"21\": true, \"22\": {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}, \"23\": [3, 3, 3], \"24\": \"vc-relax\", \"25\": 0.02, \"26\": [0.9, 0.9500000000000001, 1.0, 1.05, 1.1], \"27\": \"scf\", \"28\": \"strain_1\", \"29\": \"strain_2\", \"30\": \"strain_3\", \"31\": \"strain_4\"}, \"edges\": [{\"target\": 0, \"targetHandle\": \"volume_lst\", \"source\": 1, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"0\", \"source\": 2, \"sourceHandle\": \"volume\"}, {\"target\": 2, \"targetHandle\": \"working_directory\", \"source\": 17, \"sourceHandle\": null}, {\"target\": 2, \"targetHandle\": \"input_dict\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_0\"}, {\"target\": 4, \"targetHandle\": \"structure\", \"source\": 5, \"sourceHandle\": \"structure\"}, {\"target\": 5, \"targetHandle\": \"working_directory\", \"source\": 18, \"sourceHandle\": null}, {\"target\": 5, \"targetHandle\": \"input_dict\", \"source\": 6, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"structure\", \"source\": 7, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"element\", \"source\": 19, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"a\", \"source\": 20, \"sourceHandle\": null}, {\"target\": 7, \"targetHandle\": \"cubic\", \"source\": 21, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"calculation\", \"source\": 24, \"sourceHandle\": null}, {\"target\": 6, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 4, \"targetHandle\": \"strain_lst\", \"source\": 26, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 3, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"1\", \"source\": 8, \"sourceHandle\": \"volume\"}, {\"target\": 8, \"targetHandle\": \"working_directory\", \"source\": 28, \"sourceHandle\": null}, {\"target\": 8, \"targetHandle\": \"input_dict\", \"source\": 9, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_1\"}, {\"target\": 9, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 9, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"2\", \"source\": 10, \"sourceHandle\": \"volume\"}, {\"target\": 10, \"targetHandle\": \"working_directory\", \"source\": 29, \"sourceHandle\": null}, {\"target\": 10, \"targetHandle\": \"input_dict\", \"source\": 11, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_2\"}, {\"target\": 11, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 11, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"3\", \"source\": 12, \"sourceHandle\": \"volume\"}, {\"target\": 12, \"targetHandle\": \"working_directory\", \"source\": 30, \"sourceHandle\": null}, {\"target\": 12, \"targetHandle\": \"input_dict\", \"source\": 13, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_3\"}, {\"target\": 13, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 13, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"4\", \"source\": 14, \"sourceHandle\": \"volume\"}, {\"target\": 14, \"targetHandle\": \"working_directory\", \"source\": 31, \"sourceHandle\": null}, {\"target\": 14, \"targetHandle\": \"input_dict\", \"source\": 15, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"structure\", \"source\": 4, \"sourceHandle\": \"s_4\"}, {\"target\": 15, \"targetHandle\": \"pseudopotentials\", \"source\": 22, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"kpts\", \"source\": 23, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"calculation\", \"source\": 27, \"sourceHandle\": null}, {\"target\": 15, \"targetHandle\": \"smearing\", \"source\": 25, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"energy_lst\", \"source\": 16, \"sourceHandle\": null}, {\"target\": 16, \"targetHandle\": \"0\", \"source\": 2, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"1\", \"source\": 8, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"2\", \"source\": 10, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"3\", \"source\": 12, \"sourceHandle\": \"energy\"}, {\"target\": 16, \"targetHandle\": \"4\", \"source\": 14, \"sourceHandle\": \"energy\"}]}" + } + ], + "execution_count": 13 + }, + { + "id": "7d75a2f6-6fad-49c8-bd29-37cca1b84441", + "cell_type": "markdown", + "source": "## Load Workflow with aiida", + "metadata": {} + }, + { + "id": "28760464-2a2c-40c2-9451-20713da2ba2c", + "cell_type": "code", + "source": "from aiida import load_profile\n\nload_profile()", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": "Profile" + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 14 + }, + { + "id": "9e8043aa-dc65-42ba-9871-0714f7f2573b", + "cell_type": "code", + "source": "", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "id": "b9c0c6e1-a62c-41e6-a9ce-1c010c797e70", + "cell_type": "code", + "source": "", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "id": "a442fe46-057c-469b-a5e0-173ed4829dfb", + "cell_type": "code", + "source": "from python_workflow_definition.aiida import load_workflow_json", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 15 + }, + { + "id": "32fcd4b2-4f0a-442d-b098-827672823796", + "cell_type": "code", + "source": "wg = load_workflow_json(file_name=workflow_json_filename)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 16 + }, + { + "id": "a80b59bd-fe30-49c6-92ca-35ef2d77a6fb", + "cell_type": "code", + "source": "result = wg.run()", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:06 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 08:34:07 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node18,pickle_node19,pickle_node20,pickle_node21,pickle_node22,pickle_node23,pickle_node24,pickle_node25,pickle_node26,pickle_node27,pickle_node28,pickle_node29,pickle_node30,pickle_node31,pickle_node32\n03/22/2025 08:34:07 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node18, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'strain_0'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:08 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node19, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'mini'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:09 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node20, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'Al'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:09 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node21, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 4.05}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:10 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node22, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': True}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:11 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node23, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:12 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node24, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': [3, 3, 3]}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:13 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node25, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'vc-relax'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:14 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node26, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 0.02}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:15 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node27, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': [0.9, 0.95, 1.0, 1.05, 1.1]}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:16 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node28, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'scf'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:17 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node29, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'strain_1'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:17 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node30, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'strain_2'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:18 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node31, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'strain_3'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:20 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|run_tasks]: Run task: pickle_node32, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 'strain_4'}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:34:21 AM <193> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [16|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 113, 121, 129, 137\n03/22/2025 08:34:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:57 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:34:57 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:34:57 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:35:37 AM <193> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:35:37 AM <193> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 3 of do_update excepted, retrying after 80 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n" + } + ], + "execution_count": null + }, + { + "id": "6a8d1a17-3698-4873-8937-616e9e7dc7ca", + "cell_type": "code", + "source": "from IPython.display import Image, display\n\nplot_task = [t for t in wg.tasks if t.name.startswith('plot_energy_volume_curve')][0]\nplot_file = f\"{plot_task.node.get_remote_workdir()}/evcurve.png\"\n\ndisplay(Image(filename=str(plot_file)))\n", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "id": "c4f5c047-c6da-4b54-9007-415faca7a448", + "cell_type": "markdown", + "source": "## Load Workflow with jobflow", + "metadata": {} + }, + { + "id": "b8e3c2ca-2672-4e9d-aada-63344842dbcf", + "cell_type": "code", + "source": "from python_workflow_definition.jobflow import load_workflow_json", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from jobflow.managers.local import run_locally", + "id": "54a24ff6c569094e" + }, + { + "id": "48a27146-7372-40ab-8b02-e2a9283d4748", + "cell_type": "code", + "source": "flow = load_workflow_json(file_name=workflow_json_filename)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "id": "98fa5694-2cc6-44e9-a6e7-2cc71b4f48ce", + "cell_type": "code", + "source": "result = run_locally(flow)\nresult", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + } + ] +} diff --git a/pyiron_base_simple.ipynb b/pyiron_base_simple.ipynb index 20c537a..4f24461 100644 --- a/pyiron_base_simple.ipynb +++ b/pyiron_base_simple.ipynb @@ -1 +1,305 @@ -{"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.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"c39b76fb-259f-4e16-a44d-02a295c82386","cell_type":"markdown","source":"# Simple Workflow with pyiron_base","metadata":{}},{"id":"3638419b-a0cb-49e2-b157-7fbb1acde90f","cell_type":"markdown","source":"## Define workflow with pyiron_base","metadata":{}},{"id":"b4a78447-e87c-4fb4-8d17-d9a280eb7254","cell_type":"code","source":"from pyiron_base import Project, job","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"06c2bd9e-b2ac-4b88-9158-fa37331c3418","cell_type":"code","source":"from python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"fb847d49-7bf9-4839-9b99-c116d1b0e9ee","cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"8f95244e","cell_type":"code","source":"workflow_json_filename = \"pyiron_base_simple.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"07598344-0f75-433b-8902-bea21a42088c","cell_type":"code","source":"add_x_and_y = job(_add_x_and_y, output_key_lst=[\"x\", \"y\", \"z\"])\nadd_x_and_y_and_z = job(_add_x_and_y_and_z)","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"ecef1ed5-a8d3-48c3-9e01-4a40e55c1153","cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"0it [00:00, ?it/s]","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"37f4bde844fc45fc8854dfcdc20cd5cc"}},"metadata":{}}],"execution_count":6},{"id":"2b88a30a-e26b-4802-89b7-79ca08cc0af9","cell_type":"code","source":"obj = add_x_and_y(x=1, y=2, pyiron_project=pr)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"a5e5ca63-2906-47c9-bac6-adebf8643cba","cell_type":"code","source":"w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z, pyiron_project=pr)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"e464da97-16a1-4772-9a07-0a47f152781d","cell_type":"code","source":"write_workflow_json(delayed_object=w, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"bca646b2-0a9a-4271-966a-e5903a8c9031","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\"nodes\": {\"0\": \"simple_workflow.add_x_and_y_and_z\", \"1\": \"simple_workflow.add_x_and_y\", \"2\": 1, \"3\": 2}, \"edges\": [{\"target\": 0, \"targetHandle\": \"x\", \"source\": 1, \"sourceHandle\": \"x\"}, {\"target\": 1, \"targetHandle\": \"x\", \"source\": 2, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"y\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"y\", \"source\": 1, \"sourceHandle\": \"y\"}, {\"target\": 0, \"targetHandle\": \"z\", \"source\": 1, \"sourceHandle\": \"z\"}]}"}],"execution_count":10},{"id":"a4c0faaf-e30d-4ded-8e9f-57f97f51b14c","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"2ecc229f-daa1-49b9-9279-a6b5ae1aa4f2","cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":11},{"id":"68a56b32-9f99-43d7-aaee-0c1cd9522681","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"8f2a621d-b533-4ddd-8bcd-c22db2f922ec","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)\nwg","metadata":{"trusted":true},"outputs":[{"execution_count":13,"output_type":"execute_result","data":{"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":1,"model_id":"09020dadcc3b484883ca641d466aed90"}},"metadata":{}}],"execution_count":13},{"id":"cf80267d-c2b0-4236-bf1d-a57596985fc1","cell_type":"code","source":"\nwg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node3,pickle_node4\n03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|run_tasks]: Run task: pickle_node3, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 1}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:38:58 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|run_tasks]: Run task: pickle_node4, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 2}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 08:38:59 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 180, 188\n03/22/2025 08:39:01 AM <1011> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:39:01 AM <1011> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:01 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:01 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:39:21 AM <1011> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n"}],"execution_count":null},{"id":"0c3503e1-0a32-40e1-845d-3fd9ec3c4c19","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"4abb0481-8e38-479d-ae61-6c46d091653e","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"4b45e83b-945f-48c5-8e20-9df0ce0a14a1","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"8665c39c-220c-4982-b738-c31f6460530f","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"cf76f305-24de-45a7-be8e-cfe45cd6458e","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file +{ + "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.12.8" + } + }, + "nbformat_minor": 5, + "nbformat": 4, + "cells": [ + { + "id": "c39b76fb-259f-4e16-a44d-02a295c82386", + "cell_type": "markdown", + "source": "# Simple Workflow with pyiron_base", + "metadata": {} + }, + { + "id": "3638419b-a0cb-49e2-b157-7fbb1acde90f", + "cell_type": "markdown", + "source": "## Define workflow with pyiron_base", + "metadata": {} + }, + { + "id": "b4a78447-e87c-4fb4-8d17-d9a280eb7254", + "cell_type": "code", + "source": "from pyiron_base import Project, job", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 1 + }, + { + "id": "06c2bd9e-b2ac-4b88-9158-fa37331c3418", + "cell_type": "code", + "source": "from python_workflow_definition.pyiron_base import write_workflow_json", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 2 + }, + { + "id": "fb847d49-7bf9-4839-9b99-c116d1b0e9ee", + "cell_type": "code", + "source": "from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 3 + }, + { + "id": "8f95244e", + "cell_type": "code", + "source": "workflow_json_filename = \"pyiron_base_simple.json\"", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 4 + }, + { + "id": "07598344-0f75-433b-8902-bea21a42088c", + "cell_type": "code", + "source": "add_x_and_y = job(_add_x_and_y, output_key_lst=[\"x\", \"y\", \"z\"])\nadd_x_and_y_and_z = job(_add_x_and_y_and_z)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 5 + }, + { + "id": "ecef1ed5-a8d3-48c3-9e01-4a40e55c1153", + "cell_type": "code", + "source": "pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "0it [00:00, ?it/s]", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "37f4bde844fc45fc8854dfcdc20cd5cc" + } + }, + "metadata": {} + } + ], + "execution_count": 6 + }, + { + "id": "2b88a30a-e26b-4802-89b7-79ca08cc0af9", + "cell_type": "code", + "source": "obj = add_x_and_y(x=1, y=2, pyiron_project=pr)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 7 + }, + { + "id": "a5e5ca63-2906-47c9-bac6-adebf8643cba", + "cell_type": "code", + "source": "w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z, pyiron_project=pr)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 8 + }, + { + "id": "e464da97-16a1-4772-9a07-0a47f152781d", + "cell_type": "code", + "source": "write_workflow_json(delayed_object=w, file_name=workflow_json_filename)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 9 + }, + { + "id": "bca646b2-0a9a-4271-966a-e5903a8c9031", + "cell_type": "code", + "source": "!cat {workflow_json_filename}", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": "{\"nodes\": {\"0\": \"simple_workflow.add_x_and_y_and_z\", \"1\": \"simple_workflow.add_x_and_y\", \"2\": 1, \"3\": 2}, \"edges\": [{\"target\": 0, \"targetHandle\": \"x\", \"source\": 1, \"sourceHandle\": \"x\"}, {\"target\": 1, \"targetHandle\": \"x\", \"source\": 2, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"y\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"y\", \"source\": 1, \"sourceHandle\": \"y\"}, {\"target\": 0, \"targetHandle\": \"z\", \"source\": 1, \"sourceHandle\": \"z\"}]}" + } + ], + "execution_count": 10 + }, + { + "id": "a4c0faaf-e30d-4ded-8e9f-57f97f51b14c", + "cell_type": "markdown", + "source": "## Load Workflow with aiida", + "metadata": {} + }, + { + "id": "2ecc229f-daa1-49b9-9279-a6b5ae1aa4f2", + "cell_type": "code", + "source": "from aiida import load_profile\n\nload_profile()", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "execution_count": 11, + "output_type": "execute_result", + "data": { + "text/plain": "Profile" + }, + "metadata": {} + } + ], + "execution_count": 11 + }, + { + "id": "68a56b32-9f99-43d7-aaee-0c1cd9522681", + "cell_type": "code", + "source": "from python_workflow_definition.aiida import load_workflow_json", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": 12 + }, + { + "id": "8f2a621d-b533-4ddd-8bcd-c22db2f922ec", + "cell_type": "code", + "source": "wg = load_workflow_json(file_name=workflow_json_filename)\nwg", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "execution_count": 13, + "output_type": "execute_result", + "data": { + "text/plain": "NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 1, + "model_id": "09020dadcc3b484883ca641d466aed90" + } + }, + "metadata": {} + } + ], + "execution_count": 13 + }, + { + "id": "cf80267d-c2b0-4236-bf1d-a57596985fc1", + "cell_type": "code", + "source": "\nwg.run()", + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node3,pickle_node4\n03/22/2025 08:38:57 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|run_tasks]: Run task: pickle_node3, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 1}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:38:58 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|run_tasks]: Run task: pickle_node4, type: PYTHONJOB\n" + }, + { + "name": "stdout", + "output_type": "stream", + "text": "------------------------------------------------------------\nkwargs: {'value': 2}\n" + }, + { + "name": "stderr", + "output_type": "stream", + "text": "03/22/2025 08:38:59 AM <1011> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [172|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 180, 188\n03/22/2025 08:39:01 AM <1011> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:39:01 AM <1011> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:01 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:01 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 08:39:21 AM <1011> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 08:39:21 AM <1011> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 2 of do_update excepted, retrying after 40 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n" + } + ], + "execution_count": null + }, + { + "id": "0c3503e1-0a32-40e1-845d-3fd9ec3c4c19", + "cell_type": "markdown", + "source": "## Load Workflow with jobflow", + "metadata": {} + }, + { + "id": "4abb0481-8e38-479d-ae61-6c46d091653e", + "cell_type": "code", + "source": "from python_workflow_definition.jobflow import load_workflow_json", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from jobflow.managers.local import run_locally", + "id": "8253dd7c283bf3f7" + }, + { + "id": "4b45e83b-945f-48c5-8e20-9df0ce0a14a1", + "cell_type": "code", + "source": "flow = load_workflow_json(file_name=workflow_json_filename)", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "id": "8665c39c-220c-4982-b738-c31f6460530f", + "cell_type": "code", + "source": "result = run_locally(flow)\nresult", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + }, + { + "id": "cf76f305-24de-45a7-be8e-cfe45cd6458e", + "cell_type": "code", + "source": "", + "metadata": { + "trusted": true + }, + "outputs": [], + "execution_count": null + } + ] +} From 9fea1de27a75f4c3d0acc974d4ae729310ebe6a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 22 Mar 2025 10:19:33 +0100 Subject: [PATCH 08/11] merge jobflow notebooks --- .github/workflows/jobflow.yml | 7 +- jobflow_qe.ipynb | 1 + jobflow_simple.ipynb | 1 + jobflow_to_aiida_qe.ipynb | 972 --------------------- jobflow_to_aiida_simple.ipynb | 356 -------- jobflow_to_pyiron_base_qe.ipynb | 1209 --------------------------- jobflow_to_pyiron_base_simple.ipynb | 358 -------- 7 files changed, 4 insertions(+), 2900 deletions(-) create mode 100644 jobflow_qe.ipynb create mode 100644 jobflow_simple.ipynb delete mode 100644 jobflow_to_aiida_qe.ipynb delete mode 100644 jobflow_to_aiida_simple.ipynb delete mode 100644 jobflow_to_pyiron_base_qe.ipynb delete mode 100644 jobflow_to_pyiron_base_simple.ipynb diff --git a/.github/workflows/jobflow.yml b/.github/workflows/jobflow.yml index 1a7389e..ff3c7ab 100644 --- a/.github/workflows/jobflow.yml +++ b/.github/workflows/jobflow.yml @@ -33,8 +33,5 @@ jobs: papermill universal_simple_to_jobflow.ipynb universal_simple_to_jobflow_out.ipynb -k "python3" papermill universal_qe_to_jobflow.ipynb universal_qe_to_jobflow_out.ipynb -k "python3" - papermill jobflow_to_pyiron_base_simple.ipynb jobflow_to_pyiron_base_simple_out.ipynb -k "python3" - papermill jobflow_to_pyiron_base_qe.ipynb jobflow_to_pyiron_base_qe_out.ipynb -k "python3" - - papermill jobflow_to_aiida_simple.ipynb jobflow_to_aiida_simple_out.ipynb -k "python3" - papermill jobflow_to_aiida_qe.ipynb jobflow_to_aiida_qe_out.ipynb -k "python3" + papermill jobflow_simple.ipynb jobflow_simple_out.ipynb -k "python3" + papermill jobflow_qe.ipynb jobflow_qe_out.ipynb -k "python3" \ No newline at end of file diff --git a/jobflow_qe.ipynb b/jobflow_qe.ipynb new file mode 100644 index 0000000..89c0f03 --- /dev/null +++ b/jobflow_qe.ipynb @@ -0,0 +1 @@ +{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Quantum Espresso Energy Volume Curve Workflow with jobflow","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with jobflow","metadata":{}},{"cell_type":"code","source":"import numpy as np","metadata":{"trusted":false},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from jobflow import job, Flow","metadata":{"trusted":false},"outputs":[{"name":"stderr","output_type":"stream","text":"/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":2},{"cell_type":"code","source":"from python_workflow_definition.jobflow import write_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":4},{"cell_type":"code","source":"from quantum_espresso_workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":6},{"cell_type":"code","source":"workflow_json_filename = \"jobflow_qe.json\"","metadata":{"trusted":false},"outputs":[],"execution_count":7},{"cell_type":"code","source":"calculate_qe = job(_calculate_qe, data=[\"energy\", \"volume\", \"structure\"])\ngenerate_structures = job(_generate_structures, data=[f\"s_{i}\" for i in range(100)])\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)","metadata":{"trusted":false},"outputs":[],"execution_count":8},{"cell_type":"code","source":"pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":false},"outputs":[],"execution_count":9},{"cell_type":"code","source":"structure = get_bulk_structure(\n element=\"Al\",\n a=4.05,\n cubic=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":10},{"cell_type":"code","source":"calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure.output,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n)","metadata":{"trusted":false},"outputs":[],"execution_count":11},{"cell_type":"code","source":"number_of_strains = 5\nstructure_lst = generate_structures(\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n)","metadata":{"trusted":false},"outputs":[],"execution_count":12},{"cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": getattr(structure_lst.output, f\"s_{i}\"),\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n )\n job_strain_lst.append(calc_strain)","metadata":{"trusted":false},"outputs":[],"execution_count":13},{"cell_type":"code","source":"plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n)","metadata":{"trusted":false},"outputs":[],"execution_count":14},{"cell_type":"code","source":"flow = Flow([structure, calc_mini, structure_lst] + job_strain_lst + [plot])","metadata":{"trusted":false},"outputs":[],"execution_count":15},{"cell_type":"code","source":"write_workflow_json(flow=flow, file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[],"execution_count":16},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────\u001b[0m\n \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mjobflow_to_aiida_qe.json\u001b[0m\n\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────\u001b[0m\n\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mnodes\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m0\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.get_bulk_structure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m1\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mq\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186muantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m2\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m.generate_structures\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m3\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m4\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m5\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_wo\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mrkflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m6\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m7\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m8\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_wor\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mkflow.plot_energy_volume_curve\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m9\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m10\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m11\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mtrue\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m12\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mmini\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m13\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m14\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mAl\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl.pbe-n-kjpaw_psl.1.0.0.UPF\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m15\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m16\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvc-relax\u001b[0m\u001b[38;5;186m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m17\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m02\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m18\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9500000000000001\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m19\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtrain_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m20\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m21\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msc\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mf\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m22\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m23\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m24\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m25\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m26\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m27\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m28\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m29\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m30\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m31\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workf\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mlow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208medges\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186melement\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ma\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcubic\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandl\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msou\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalcul\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mt\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstruc\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mture\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m18\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m19\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstru\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mcture\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_direc\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208margetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnu\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141mll\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mwork\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186ming_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m24\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHa\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m26\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmea\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mring\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m28\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalcula\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtion\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtar\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208marget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvol\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHan\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mdle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mso\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208murce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHa\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarg\u001b[0m\n\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208metHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m}\u001b[0m\n\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────\u001b[0m\n"}],"execution_count":17},{"cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"wg = load_workflow_json(workflow_json_filename)","metadata":{"trusted":false},"outputs":[],"execution_count":18},{"cell_type":"code","source":"wg","metadata":{"trusted":false},"outputs":[{"data":{"application/vnd.jupyter.widget-view+json":{"model_id":"a1ee7461a97c4e5e86bbc353795b87ee","version_major":2,"version_minor":1},"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…"},"execution_count":19,"metadata":{},"output_type":"execute_result"}],"execution_count":19},{"cell_type":"code","source":"result = wg.run()","metadata":{"trusted":false},"outputs":[{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:23 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:02:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node10,pickle_node11,pickle_node12,pickle_node13,pickle_node15,pickle_node16,pickle_node17,pickle_node18,pickle_node19,pickle_node20,pickle_node22,pickle_node23,pickle_node25,pickle_node27,pickle_node29\n03/21/2025 01:02:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node10, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'Al'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:26 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node11, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 4.05}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:28 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node12, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': True}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node13, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'mini'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:31 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node15, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:33 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node16, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': [3, 3, 3]}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node17, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'vc-relax'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:36 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node18, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 0.02}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:38 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node19, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': [0.9, 0.95, 1.0, 1.05, 1.1]}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:40 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node20, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_0'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:41 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node22, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'scf'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:43 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node23, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_1'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:45 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node25, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_2'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:46 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node27, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_3'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:48 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node29, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 'strain_4'}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:02:52 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13302, 13310, 13318, 13326, 13334, 13342, 13350, 13358, 13366, 13374, 13382, 13390, 13398, 13406, 13414\n03/21/2025 01:03:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node10 finished.\n03/21/2025 01:03:18 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node11 finished.\n03/21/2025 01:03:19 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node12 finished.\n03/21/2025 01:03:20 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node13 finished.\n03/21/2025 01:03:21 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node15 finished.\n03/21/2025 01:03:22 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node16 finished.\n03/21/2025 01:03:23 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node17 finished.\n03/21/2025 01:03:24 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node18 finished.\n03/21/2025 01:03:24 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node19 finished.\n03/21/2025 01:03:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node20 finished.\n03/21/2025 01:03:26 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node22 finished.\n03/21/2025 01:03:27 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node23 finished.\n03/21/2025 01:03:28 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node25 finished.\n03/21/2025 01:03:29 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node27 finished.\n03/21/2025 01:03:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node29 finished.\n03/21/2025 01:03:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:03:38 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure1\n03/21/2025 01:03:38 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_bulk_structure1, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'a': , 'cubic': , 'element': , 'register_pickle_by_value': True}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:03:43 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13481\n03/21/2025 01:03:51 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_bulk_structure1 finished.\n03/21/2025 01:03:57 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:04:00 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict14\n03/21/2025 01:04:00 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict14, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:04:05 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13492\n03/21/2025 01:04:12 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict14 finished.\n03/21/2025 01:04:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:04:20 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe2\n03/21/2025 01:04:20 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe2, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:04:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13503\n03/21/2025 01:05:00 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n03/21/2025 01:05:01 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe2 finished.\n03/21/2025 01:05:06 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:05:09 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures3\n03/21/2025 01:05:09 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: generate_structures3, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'register_pickle_by_value': True, 'strain_lst': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:05:13 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13514\n03/21/2025 01:05:22 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: generate_structures3 finished.\n03/21/2025 01:05:27 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:05:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict21,get_dict24,get_dict26,get_dict28,get_dict30\n03/21/2025 01:05:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict21, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:05:32 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict24, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:05:33 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict26, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:05:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict28, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:05:37 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict30, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:05:42 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13529, 13536, 13543, 13550, 13557\n03/21/2025 01:05:54 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict21 finished.\n03/21/2025 01:05:55 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict24 finished.\n03/21/2025 01:05:56 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict26 finished.\n03/21/2025 01:05:57 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict28 finished.\n03/21/2025 01:05:58 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict30 finished.\n03/21/2025 01:06:03 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:06:04 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe4,calculate_qe5,calculate_qe6,calculate_qe7,calculate_qe8\n03/21/2025 01:06:05 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe4, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:06:06 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe5, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:06:08 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe6, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:06:10 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe7, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:06:12 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe8, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:06:16 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13584, 13591, 13598, 13605, 13612\n03/21/2025 01:07:38 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n03/21/2025 01:07:39 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe4 finished.\n03/21/2025 01:07:44 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:07:45 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n03/21/2025 01:07:48 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13591, 13598, 13605, 13612\n03/21/2025 01:07:54 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n03/21/2025 01:07:55 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe5 finished.\n03/21/2025 01:08:00 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:08:01 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n03/21/2025 01:08:05 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13598, 13605, 13612\n03/21/2025 01:08:10 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n03/21/2025 01:08:11 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe6 finished.\n03/21/2025 01:08:16 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:08:18 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n03/21/2025 01:08:21 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13605, 13612\n03/21/2025 01:08:30 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n03/21/2025 01:08:31 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe7 finished.\n03/21/2025 01:08:36 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:08:37 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n03/21/2025 01:08:41 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13612\n03/21/2025 01:08:46 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n03/21/2025 01:08:47 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe8 finished.\n03/21/2025 01:08:52 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:08:54 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list31,get_list32\n03/21/2025 01:08:54 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_list31, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'0': , '1': , '2': , '3': , '4': , 'register_pickle_by_value': True}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:08:56 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_list32, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'0': , '1': , '2': , '3': , '4': , 'register_pickle_by_value': True}\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:09:01 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13644, 13651\n03/21/2025 01:09:09 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_list31 finished.\n03/21/2025 01:09:10 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_list32 finished.\n03/21/2025 01:09:15 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:09:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve9\n03/21/2025 01:09:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: plot_energy_volume_curve9, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'energy_lst': , 'register_pickle_by_value': True, 'volume_lst': }\n"},{"name":"stderr","output_type":"stream","text":"03/21/2025 01:09:22 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13666\n03/21/2025 01:09:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve9 finished.\n03/21/2025 01:09:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/21/2025 01:09:36 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n03/21/2025 01:09:40 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|finalize]: Finalize workgraph.\n"}],"execution_count":20},{"cell_type":"code","source":"from IPython.display import Image, display\n\nplot_task = [t for t in wg.tasks if t.name.startswith('plot_energy_volume_curve')][0]\nplot_file = f\"{plot_task.node.get_remote_workdir()}/evcurve.png\"\n\ndisplay(Image(filename=str(plot_file)))\n","metadata":{"trusted":false},"outputs":[{"data":{"image/png":"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x8eXe27fvn2Eh4cDEBkZSUhICN9//33Zz3Nycti4cSO9evWq1ay14XL7A/5X/vbv38+aNWto0KBBbcesNZfbHxMmTGD79u38+uuvZY/Q0FCmTZvGypUrzYhcoy63P9zd3bn66qsvewzVFZfbH0VFRRQVFWG1lj89uLi4YLPZai1nbZs/fz7BwcHcdNNNZc917doVNze3cn+XxsfHk5SUVCf/Lv2tC+0PKD2XDBw4EHd3d5YsWVIn75R3GmYPQUrFxcXFGa6ursZLL71k7N+/3/j4448Nb29v46OPPip7zZw5c4yAgADjm2++MbZv327cfPPNRmRkpHHmzBkTk9eMy+2PwsJCY/jw4UbTpk2NX3/91Th69GjZo6CgwOT01e9Kjo/fq8tTwFeyPxYvXmy4ubkZ7777rrF//37jrbfeMlxcXIz169ebmLxmXMn++MMf/mC0a9fOWLdunXHw4EFj/vz5hqenp/GPf/zDxOQ1p6SkxGjWrJkxffr08352//33G82aNTPWrl1rbN682ejVq9d5U+h1zcX2R3Z2ttGjRw+jQ4cOxoEDB8r9XVpcXGxSWqksFUAH9e233xrt27c3PDw8jKioKOPdd98t93ObzWbMmjXLaNSokeHh4WH079/fiI+PNyltzbvU/jh06JABXPCxbt0680LXoMsdH79XlwugYVzZ/njvvfeMli1bGp6enkanTp2Mr7/+2oSkteNy++Po0aPGpEmTjNDQUMPT09No06aNMW/evIsuBeLoVq5caQAX/DvyzJkzxp/+9CcjMDDQ8Pb2NkaOHGkcPXrUhJS152L7Y926dRf9u/TQoUPmhJVKsxiGYZgx8igiIiIi5tA1gCIiIiJORgVQRERExMmoAIqIiIg4GRVAERERESejAigiIiLiZFQARURERJyMCqCIiIiIk1EBFBGnFBERwRtvvGF2DBERU6gAiojDGTZsGIMHD77gz9avX4/FYmH79u21nEpExHGoAIqIw5kyZQqrV6/myJEj5/1s/vz5dOvWjY4dO5qQTETEMagAiojDGTp0KEFBQSxYsKDc86dPn2bRokVMmTKFL7/8knbt2uHh4UFERATz5s276PslJiZisVj49ddfy57LysrCYrHwww8/APDDDz9gsVhYuXIlnTt3xsvLi+uvv56MjAyWL19OdHQ0fn5+3H777eTl5ZW9j81mY/bs2URGRuLl5UWnTp344osvqnN3iIhUmAqgiDgcV1dXJk6cyIIFC/jt15kvWrSIkpISoqOjGTt2LOPGjWPHjh08++yzzJo167zCWBnPPvssf/vb39iwYQPJycmMHTuWN954g08++YRly5axatUq3nrrrbLXz549mw8++IC3336bXbt28cgjj3DHHXfw3//+t8pZREQqy2L89m9PEREHsXfvXqKjo1m3bh3XXXcdANdeey3h4eHYbDaOHTvGqlWryl7/+OOPs2zZMnbt2gWU3gTy8MMP8/DDD5OYmEhkZCRbt27lqquuAkpHAAMDA8ve/4cffqBfv36sWbOG/v37AzBnzhxmzpxJQkICzZs3B+D+++8nMTGRFStWUFBQQP369VmzZg29evUqy3L33XeTl5fHJ598Ugt7SkTkfBoBFBGHFBUVRe/evXn//fcBOHDgAOvXr2fKlCns2bOHPn36lHt9nz592L9/PyUlJVX6vb+9trBRo0Z4e3uXlb9zz2VkZJRlysvL44YbbsDX17fs8cEHH5CQkFClHCIiVeFqdgARkcqaMmUKDz74IH//+9+ZP38+LVq04A9/+EOF38dqLf238G8nRIqKii74Wjc3t7L/tlgs5f587jmbzQaUXpMIsGzZMpo0aVLudR4eHhXOKSJSXTQCKCIOa+zYsVitVj755BM++OAD7rrrLiwWC9HR0cTExJR7bUxMDK1bt8bFxeW89wkKCgLg6NGjZc/99oaQymrbti0eHh4kJSXRsmXLco+wsLAqv7+ISGVpBFBEHJavry+33norM2fOJCcnh0mTJgEwdepUrr76al544QVuvfVWYmNj+dvf/sY//vGPC76Pl5cXPXv2ZM6cOURGRpKRkcFTTz1V5Xz16tXjscce45FHHsFms9G3b1+ys7OJiYnBz8+PO++8s8q/Q0SkMjQCKCIObcqUKZw8eZJBgwYRGhoKQJcuXfj888/59NNPad++PU8//TTPP/98WUG8kPfff5/i4mK6du3Kww8/zIsvvlgt+V544QVmzZrF7NmziY6OZvDgwSxbtozIyMhqeX8RkcrQXcAiIiIiTkYjgCIiIiJORgVQRERExMmoAIqIiIg4GRVAERERESejAigiIiLiZFQARURERJyMCqCIiIiIk1EBFBEREXEyKoAiIiIiTkYFUERERMTJqACKiIiIOBkVQBEREREn8/98lrYcNNAgEwAAAABJRU5ErkJggg==","text/plain":""},"metadata":{},"output_type":"display_data"}],"execution_count":37},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":false},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/jobflow_simple.ipynb b/jobflow_simple.ipynb new file mode 100644 index 0000000..4baff9a --- /dev/null +++ b/jobflow_simple.ipynb @@ -0,0 +1 @@ +{"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.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"982a4fbe-7cf9-45dd-84ae-9854149db0b9","cell_type":"markdown","source":"# Simple Workflow with jobflow","metadata":{}},{"id":"e6180712-d081-45c7-ba41-fc5191f10427","cell_type":"markdown","source":"## Define workflow with jobflow","metadata":{}},{"id":"000bbd4a-f53c-4eea-9d85-76f0aa2ca10b","cell_type":"code","source":"from jobflow import job, Flow","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"id":"06c2bd9e-b2ac-4b88-9158-fa37331c3418","cell_type":"code","source":"from python_workflow_definition.jobflow import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"fb847d49-7bf9-4839-9b99-c116d1b0e9ee","cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"8f95244e","cell_type":"code","source":"workflow_json_filename = \"jobflow_simple.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"07598344-0f75-433b-8902-bea21a42088c","cell_type":"code","source":"add_x_and_y = job(_add_x_and_y, data=[\"x\", \"y\", \"z\"])\nadd_x_and_y_and_z = job(_add_x_and_y_and_z)","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"ecef1ed5-a8d3-48c3-9e01-4a40e55c1153","cell_type":"code","source":"obj = add_x_and_y(x=1, y=2)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"2b88a30a-e26b-4802-89b7-79ca08cc0af9","cell_type":"code","source":"w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"a5e5ca63-2906-47c9-bac6-adebf8643cba","cell_type":"code","source":"flow = Flow([obj, w])","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"e464da97-16a1-4772-9a07-0a47f152781d","cell_type":"code","source":"write_workflow_json(flow=flow, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"bca646b2-0a9a-4271-966a-e5903a8c9031","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\"nodes\": {\"0\": \"simple_workflow.add_x_and_y\", \"1\": \"simple_workflow.add_x_and_y_and_z\", \"2\": 1, \"3\": 2}, \"edges\": [{\"target\": 0, \"targetHandle\": \"x\", \"source\": 2, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"y\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"x\", \"source\": 0, \"sourceHandle\": \"x\"}, {\"target\": 1, \"targetHandle\": \"y\", \"source\": 0, \"sourceHandle\": \"y\"}, {\"target\": 1, \"targetHandle\": \"z\", \"source\": 0, \"sourceHandle\": \"z\"}]}"}],"execution_count":10},{"id":"87a27540-c390-4d34-ae75-4739bfc4c1b7","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"66a1b3a6-3d3b-4caa-b58f-d8bc089b1074","cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":11},{"id":"4679693b-039b-45cf-8c67-5b2b3d705a83","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"68c41a61-d185-47e8-ba31-eeff71d8b2c6","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)\nwg","metadata":{"trusted":true},"outputs":[{"execution_count":13,"output_type":"execute_result","data":{"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":1,"model_id":"b4247ecf627d478b90b979bbdbaefbd3"}},"metadata":{}}],"execution_count":13},{"id":"05228ece-643c-420c-8df8-4ce3df379515","cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"03/22/2025 09:10:55 AM <674> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [31|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n03/22/2025 09:10:55 AM <674> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [31|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node3,pickle_node4\n03/22/2025 09:10:55 AM <674> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [31|WorkGraphEngine|run_tasks]: Run task: pickle_node3, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 1}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 09:10:56 AM <674> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [31|WorkGraphEngine|run_tasks]: Run task: pickle_node4, type: PYTHONJOB\n"},{"name":"stdout","output_type":"stream","text":"------------------------------------------------------------\nkwargs: {'value': 2}\n"},{"name":"stderr","output_type":"stream","text":"03/22/2025 09:10:56 AM <674> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [31|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 39, 47\n03/22/2025 09:10:59 AM <674> aiida.scheduler.direct: [WARNING] Unrecognized job_state 'p' for job id Activating\n03/22/2025 09:10:59 AM <674> aiida.engine.transports: [ERROR] Exception whilst using transport:\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/transports.py\", line 106, in request_transport\n yield transport_request.future\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n\nTask exception was never retrieved\nfuture: .updating() done, defined at /srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py:179> exception=IndexError('list index out of range')>\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 314, in __step_run_and_handle_result\n result = coro.send(None)\n ^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 181, in updating\n await self._update_job_info()\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 09:10:59 AM <674> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n03/22/2025 09:10:59 AM <674> aiida.orm.nodes.process.calculation.calcjob.CalcJobNode: [ERROR] iteration 1 of do_update excepted, retrying after 20 seconds\nTraceback (most recent call last):\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 205, in exponential_backoff_retry\n result = await coro()\n ^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/tasks.py\", line 195, in do_update\n job_info = await cancellable.with_interrupt(update_request)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/utils.py\", line 115, in with_interrupt\n result = await next(wait_iter)\n ^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/tasks.py\", line 631, in _wait_for_one\n return f.result() # May raise f.exception().\n ^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/asyncio/futures.py\", line 202, in result\n raise self._exception.with_traceback(self._exception_tb)\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 132, in _update_job_info\n self._jobs_cache = await self._get_jobs_from_scheduler()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/engine/processes/calcjobs/manager.py\", line 109, in _get_jobs_from_scheduler\n scheduler_response = scheduler.get_jobs(**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 269, in get_jobs\n job_stats = super().get_jobs(jobs=jobs, user=user, as_dict=as_dict)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/scheduler.py\", line 361, in get_jobs\n joblist = self._parse_joblist_output(retval, stdout, stderr)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/srv/conda/envs/notebook/lib/python3.12/site-packages/aiida/schedulers/plugins/direct.py\", line 253, in _parse_joblist_output\n this_job.wallclock_time_seconds = self._convert_time(job[3])\n ~~~^^^\nIndexError: list index out of range\n"}],"execution_count":null},{"id":"2c942094-61b4-4e94-859a-64f87b5bec64","cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"id":"40672826-23bf-4c24-84e2-a6b9d87e2a3f","cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"ea102341-84f7-4156-a7d1-c3ab1ea613a5","cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"f45684a8-2613-415a-ab0a-5cb2bafaffea","cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"8f2a621d-b533-4ddd-8bcd-c22db2f922ec","cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"cf80267d-c2b0-4236-bf1d-a57596985fc1","cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/jobflow_to_aiida_qe.ipynb b/jobflow_to_aiida_qe.ipynb deleted file mode 100644 index 0eb2aa2..0000000 --- a/jobflow_to_aiida_qe.ipynb +++ /dev/null @@ -1,972 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"cipher\": algorithms.TripleDES,\n", - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"class\": algorithms.TripleDES,\n" - ] - } - ], - "source": [ - "from jobflow import job, Flow" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Profile" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aiida import load_profile\n", - "\n", - "load_profile()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from python_workflow_definition.jobflow import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from python_workflow_definition.aiida import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from quantum_espresso_workflow import (\n", - " calculate_qe as _calculate_qe, \n", - " generate_structures as _generate_structures, \n", - " get_bulk_structure as _get_bulk_structure, \n", - " plot_energy_volume_curve as _plot_energy_volume_curve,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"jobflow_to_aiida_qe.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "calculate_qe = job(_calculate_qe, data=[\"energy\", \"volume\", \"structure\"])\n", - "generate_structures = job(_generate_structures, data=[f\"s_{i}\" for i in range(100)])\n", - "plot_energy_volume_curve = job(_plot_energy_volume_curve)\n", - "get_bulk_structure = job(_get_bulk_structure)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "structure = get_bulk_structure(\n", - " element=\"Al\",\n", - " a=4.05,\n", - " cubic=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "calc_mini = calculate_qe(\n", - " working_directory=\"mini\",\n", - " input_dict={\n", - " \"structure\": structure.output,\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"vc-relax\",\n", - " \"smearing\": 0.02,\n", - " },\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "number_of_strains = 5\n", - "structure_lst = generate_structures(\n", - " structure=calc_mini.output.structure,\n", - " strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "job_strain_lst = []\n", - "for i in range(number_of_strains):\n", - " calc_strain = calculate_qe(\n", - " working_directory=\"strain_\" + str(i),\n", - " input_dict={\n", - " \"structure\": getattr(structure_lst.output, f\"s_{i}\"),\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"scf\",\n", - " \"smearing\": 0.02,\n", - " },\n", - " )\n", - " job_strain_lst.append(calc_strain)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "plot = plot_energy_volume_curve(\n", - " volume_lst=[job.output.volume for job in job_strain_lst],\n", - " energy_lst=[job.output.energy for job in job_strain_lst],\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "flow = Flow([structure, calc_mini, structure_lst] + job_strain_lst + [plot])" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "write_workflow_json(flow=flow, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────\u001b[0m\n", - " \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mjobflow_to_aiida_qe.json\u001b[0m\n", - "\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────\u001b[0m\n", - "\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mnodes\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m0\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.get_bulk_structure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m1\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mq\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186muantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m2\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m.generate_structures\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m3\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m4\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m5\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_wo\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mrkflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m6\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m7\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m8\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_wor\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mkflow.plot_energy_volume_curve\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m9\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m10\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m11\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mtrue\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m12\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mmini\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m13\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m14\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mAl\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl.pbe-n-kjpaw_psl.1.0.0.UPF\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m15\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m16\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvc-relax\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m17\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m02\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m18\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9500000000000001\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m19\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtrain_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m20\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m21\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mf\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m22\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m23\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m24\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m25\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m26\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m27\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m28\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m29\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m30\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m31\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workf\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mlow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208medges\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186melement\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ma\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcubic\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msou\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalcul\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mt\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstruc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mture\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m18\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m19\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstru\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mcture\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_direc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208margetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnu\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141mll\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mwork\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186ming_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m24\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHa\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m26\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmea\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mring\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m28\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalcula\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtion\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtar\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208marget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvol\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHan\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mdle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mso\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208murce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHa\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarg\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208metHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────\u001b[0m\n" - ] - } - ], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "wg = load_workflow_json(workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a1ee7461a97c4e5e86bbc353795b87ee", - "version_major": 2, - "version_minor": 1 - }, - "text/plain": [ - "NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wg" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:23 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:02:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node10,pickle_node11,pickle_node12,pickle_node13,pickle_node15,pickle_node16,pickle_node17,pickle_node18,pickle_node19,pickle_node20,pickle_node22,pickle_node23,pickle_node25,pickle_node27,pickle_node29\n", - "03/21/2025 01:02:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node10, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'Al'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:26 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node11, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 4.05}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:28 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node12, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': True}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node13, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'mini'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:31 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node15, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:33 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node16, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': [3, 3, 3]}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node17, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'vc-relax'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:36 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node18, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 0.02}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:38 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node19, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': [0.9, 0.95, 1.0, 1.05, 1.1]}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:40 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node20, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_0'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:41 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node22, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'scf'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:43 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node23, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_1'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:45 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node25, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_2'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:46 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node27, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_3'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:48 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: pickle_node29, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 'strain_4'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:02:52 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13302, 13310, 13318, 13326, 13334, 13342, 13350, 13358, 13366, 13374, 13382, 13390, 13398, 13406, 13414\n", - "03/21/2025 01:03:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node10 finished.\n", - "03/21/2025 01:03:18 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node11 finished.\n", - "03/21/2025 01:03:19 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node12 finished.\n", - "03/21/2025 01:03:20 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node13 finished.\n", - "03/21/2025 01:03:21 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node15 finished.\n", - "03/21/2025 01:03:22 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node16 finished.\n", - "03/21/2025 01:03:23 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node17 finished.\n", - "03/21/2025 01:03:24 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node18 finished.\n", - "03/21/2025 01:03:24 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node19 finished.\n", - "03/21/2025 01:03:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node20 finished.\n", - "03/21/2025 01:03:26 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node22 finished.\n", - "03/21/2025 01:03:27 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node23 finished.\n", - "03/21/2025 01:03:28 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node25 finished.\n", - "03/21/2025 01:03:29 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node27 finished.\n", - "03/21/2025 01:03:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: pickle_node29 finished.\n", - "03/21/2025 01:03:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:03:38 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure1\n", - "03/21/2025 01:03:38 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_bulk_structure1, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'a': , 'cubic': , 'element': , 'register_pickle_by_value': True}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:03:43 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13481\n", - "03/21/2025 01:03:51 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_bulk_structure1 finished.\n", - "03/21/2025 01:03:57 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:04:00 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict14\n", - "03/21/2025 01:04:00 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict14, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:04:05 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13492\n", - "03/21/2025 01:04:12 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict14 finished.\n", - "03/21/2025 01:04:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:04:20 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe2\n", - "03/21/2025 01:04:20 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe2, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:04:25 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13503\n", - "03/21/2025 01:05:00 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n", - "03/21/2025 01:05:01 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe2 finished.\n", - "03/21/2025 01:05:06 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:05:09 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures3\n", - "03/21/2025 01:05:09 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: generate_structures3, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'register_pickle_by_value': True, 'strain_lst': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:05:13 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13514\n", - "03/21/2025 01:05:22 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: generate_structures3 finished.\n", - "03/21/2025 01:05:27 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:05:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict21,get_dict24,get_dict26,get_dict28,get_dict30\n", - "03/21/2025 01:05:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict21, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:05:32 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict24, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:05:33 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict26, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:05:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict28, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:05:37 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_dict30, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'calculation': , 'kpts': , 'pseudopotentials': , 'register_pickle_by_value': True, 'smearing': , 'structure': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:05:42 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13529, 13536, 13543, 13550, 13557\n", - "03/21/2025 01:05:54 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict21 finished.\n", - "03/21/2025 01:05:55 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict24 finished.\n", - "03/21/2025 01:05:56 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict26 finished.\n", - "03/21/2025 01:05:57 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict28 finished.\n", - "03/21/2025 01:05:58 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_dict30 finished.\n", - "03/21/2025 01:06:03 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:06:04 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe4,calculate_qe5,calculate_qe6,calculate_qe7,calculate_qe8\n", - "03/21/2025 01:06:05 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe4, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:06:06 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe5, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:06:08 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe6, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:06:10 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe7, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:06:12 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: calculate_qe8, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'input_dict': , 'register_pickle_by_value': True, 'working_directory': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:06:16 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13584, 13591, 13598, 13605, 13612\n", - "03/21/2025 01:07:38 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n", - "03/21/2025 01:07:39 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe4 finished.\n", - "03/21/2025 01:07:44 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:07:45 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 01:07:48 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13591, 13598, 13605, 13612\n", - "03/21/2025 01:07:54 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n", - "03/21/2025 01:07:55 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe5 finished.\n", - "03/21/2025 01:08:00 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:08:01 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 01:08:05 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13598, 13605, 13612\n", - "03/21/2025 01:08:10 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n", - "03/21/2025 01:08:11 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe6 finished.\n", - "03/21/2025 01:08:16 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:08:18 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 01:08:21 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13605, 13612\n", - "03/21/2025 01:08:30 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n", - "03/21/2025 01:08:31 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe7 finished.\n", - "03/21/2025 01:08:36 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:08:37 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 01:08:41 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13612\n", - "03/21/2025 01:08:46 PM <3785899> aiida.parser.PythonJobParser: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n", - "03/21/2025 01:08:47 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: calculate_qe8 finished.\n", - "03/21/2025 01:08:52 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:08:54 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list31,get_list32\n", - "03/21/2025 01:08:54 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_list31, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'0': , '1': , '2': , '3': , '4': , 'register_pickle_by_value': True}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:08:56 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: get_list32, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'0': , '1': , '2': , '3': , '4': , 'register_pickle_by_value': True}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:09:01 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13644, 13651\n", - "03/21/2025 01:09:09 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_list31 finished.\n", - "03/21/2025 01:09:10 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: get_list32 finished.\n", - "03/21/2025 01:09:15 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:09:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve9\n", - "03/21/2025 01:09:17 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|run_tasks]: Run task: plot_energy_volume_curve9, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'energy_lst': , 'register_pickle_by_value': True, 'volume_lst': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 01:09:22 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 13666\n", - "03/21/2025 01:09:30 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve9 finished.\n", - "03/21/2025 01:09:35 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 01:09:36 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 01:09:40 PM <3785899> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [13294|WorkGraphEngine|finalize]: Finalize workgraph.\n" - ] - } - ], - "source": [ - "result = wg.run()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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x8eXe27fvn2Eh4cDEBkZSUhICN9//33Zz3Nycti4cSO9evWq1ay14XL7A/5X/vbv38+aNWto0KBBbcesNZfbHxMmTGD79u38+uuvZY/Q0FCmTZvGypUrzYhcoy63P9zd3bn66qsvewzVFZfbH0VFRRQVFWG1lj89uLi4YLPZai1nbZs/fz7BwcHcdNNNZc917doVNze3cn+XxsfHk5SUVCf/Lv2tC+0PKD2XDBw4EHd3d5YsWVIn75R3GmYPQUrFxcXFGa6ursZLL71k7N+/3/j4448Nb29v46OPPip7zZw5c4yAgADjm2++MbZv327cfPPNRmRkpHHmzBkTk9eMy+2PwsJCY/jw4UbTpk2NX3/91Th69GjZo6CgwOT01e9Kjo/fq8tTwFeyPxYvXmy4ubkZ7777rrF//37jrbfeMlxcXIz169ebmLxmXMn++MMf/mC0a9fOWLdunXHw4EFj/vz5hqenp/GPf/zDxOQ1p6SkxGjWrJkxffr08352//33G82aNTPWrl1rbN682ejVq9d5U+h1zcX2R3Z2ttGjRw+jQ4cOxoEDB8r9XVpcXGxSWqksFUAH9e233xrt27c3PDw8jKioKOPdd98t93ObzWbMmjXLaNSokeHh4WH079/fiI+PNyltzbvU/jh06JABXPCxbt0680LXoMsdH79XlwugYVzZ/njvvfeMli1bGp6enkanTp2Mr7/+2oSkteNy++Po0aPGpEmTjNDQUMPT09No06aNMW/evIsuBeLoVq5caQAX/DvyzJkzxp/+9CcjMDDQ8Pb2NkaOHGkcPXrUhJS152L7Y926dRf9u/TQoUPmhJVKsxiGYZgx8igiIiIi5tA1gCIiIiJORgVQRERExMmoAIqIiIg4GRVAERERESejAigiIiLiZFQARURERJyMCqCIiIiIk1EBFBGnFBERwRtvvGF2DBERU6gAiojDGTZsGIMHD77gz9avX4/FYmH79u21nEpExHGoAIqIw5kyZQqrV6/myJEj5/1s/vz5dOvWjY4dO5qQTETEMagAiojDGTp0KEFBQSxYsKDc86dPn2bRokVMmTKFL7/8knbt2uHh4UFERATz5s276PslJiZisVj49ddfy57LysrCYrHwww8/APDDDz9gsVhYuXIlnTt3xsvLi+uvv56MjAyWL19OdHQ0fn5+3H777eTl5ZW9j81mY/bs2URGRuLl5UWnTp344osvqnN3iIhUmAqgiDgcV1dXJk6cyIIFC/jt15kvWrSIkpISoqOjGTt2LOPGjWPHjh08++yzzJo167zCWBnPPvssf/vb39iwYQPJycmMHTuWN954g08++YRly5axatUq3nrrrbLXz549mw8++IC3336bXbt28cgjj3DHHXfw3//+t8pZREQqy2L89m9PEREHsXfvXqKjo1m3bh3XXXcdANdeey3h4eHYbDaOHTvGqlWryl7/+OOPs2zZMnbt2gWU3gTy8MMP8/DDD5OYmEhkZCRbt27lqquuAkpHAAMDA8ve/4cffqBfv36sWbOG/v37AzBnzhxmzpxJQkICzZs3B+D+++8nMTGRFStWUFBQQP369VmzZg29evUqy3L33XeTl5fHJ598Ugt7SkTkfBoBFBGHFBUVRe/evXn//fcBOHDgAOvXr2fKlCns2bOHPn36lHt9nz592L9/PyUlJVX6vb+9trBRo0Z4e3uXlb9zz2VkZJRlysvL44YbbsDX17fs8cEHH5CQkFClHCIiVeFqdgARkcqaMmUKDz74IH//+9+ZP38+LVq04A9/+EOF38dqLf238G8nRIqKii74Wjc3t7L/tlgs5f587jmbzQaUXpMIsGzZMpo0aVLudR4eHhXOKSJSXTQCKCIOa+zYsVitVj755BM++OAD7rrrLiwWC9HR0cTExJR7bUxMDK1bt8bFxeW89wkKCgLg6NGjZc/99oaQymrbti0eHh4kJSXRsmXLco+wsLAqv7+ISGVpBFBEHJavry+33norM2fOJCcnh0mTJgEwdepUrr76al544QVuvfVWYmNj+dvf/sY//vGPC76Pl5cXPXv2ZM6cOURGRpKRkcFTTz1V5Xz16tXjscce45FHHsFms9G3b1+ys7OJiYnBz8+PO++8s8q/Q0SkMjQCKCIObcqUKZw8eZJBgwYRGhoKQJcuXfj888/59NNPad++PU8//TTPP/98WUG8kPfff5/i4mK6du3Kww8/zIsvvlgt+V544QVmzZrF7NmziY6OZvDgwSxbtozIyMhqeX8RkcrQXcAiIiIiTkYjgCIiIiJORgVQRERExMmoAIqIiIg4GRVAERERESejAigiIiLiZFQARURERJyMCqCIiIiIk1EBFBEREXEyKoAiIiIiTkYFUERERMTJqACKiIiIOBkVQBEREREn8/98lrYcNNAgEwAAAABJRU5ErkJggg==", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from IPython.display import Image, display\n", - "\n", - "plot_task = [t for t in wg.tasks if t.name.startswith('plot_energy_volume_curve')][0]\n", - "plot_file = f\"{plot_task.node.get_remote_workdir()}/evcurve.png\"\n", - "\n", - "display(Image(filename=str(plot_file)))\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/jobflow_to_aiida_simple.ipynb b/jobflow_to_aiida_simple.ipynb deleted file mode 100644 index b2cf53d..0000000 --- a/jobflow_to_aiida_simple.ipynb +++ /dev/null @@ -1,356 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "000bbd4a-f53c-4eea-9d85-76f0aa2ca10b", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"cipher\": algorithms.TripleDES,\n", - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"class\": algorithms.TripleDES,\n" - ] - }, - { - "data": { - "text/plain": [ - "Profile" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from aiida import load_profile\n", - "from jobflow import job, Flow\n", - "\n", - "load_profile()" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b4a78447-e87c-4fb4-8d17-d9a280eb7254", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "06c2bd9e-b2ac-4b88-9158-fa37331c3418", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.jobflow import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "fb6dbdaa-8cab-48b2-8307-448003eca3f5", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.aiida import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fb847d49-7bf9-4839-9b99-c116d1b0e9ee", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from simple_workflow import (\n", - " add_x_and_y as _add_x_and_y, \n", - " add_x_and_y_and_z as _add_x_and_y_and_z,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f95244e", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"jobflow_to_aiida_simple.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "07598344-0f75-433b-8902-bea21a42088c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "add_x_and_y = job(_add_x_and_y, data=[\"x\", \"y\", \"z\"])\n", - "add_x_and_y_and_z = job(_add_x_and_y_and_z)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "ecef1ed5-a8d3-48c3-9e01-4a40e55c1153", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "obj = add_x_and_y(x=1, y=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "2b88a30a-e26b-4802-89b7-79ca08cc0af9", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "a5e5ca63-2906-47c9-bac6-adebf8643cba", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "flow = Flow([obj, w])" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "e464da97-16a1-4772-9a07-0a47f152781d", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "write_workflow_json(flow=flow, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "bca646b2-0a9a-4271-966a-e5903a8c9031", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────\u001b[0m\n", - " \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mworkflow_simple_jobflow.json\u001b[0m\n", - "\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────\u001b[0m\n", - "\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mnodes\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m0\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msimple_workflow.add_x_and_y\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m1\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msimple_workflow.ad\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186md_x_and_y_and_z\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m2\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m3\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208medges\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mx\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186my\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mx\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mx\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186my\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186my\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mz\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mz\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────\u001b[0m\n" - ] - } - ], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f2a621d-b533-4ddd-8bcd-c22db2f922ec", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "40090008ae2942cebbc0a5d428c25f97", - "version_major": 2, - "version_minor": 1 - }, - "text/plain": [ - "NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wg = load_workflow_json(file_name=workflow_json_filename)\n", - "wg" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "cf80267d-c2b0-4236-bf1d-a57596985fc1", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:32:04 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:32:04 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: tasks ready to run: pickle_node3,pickle_node4\n", - "03/21/2025 12:32:04 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|run_tasks]: Run task: pickle_node3, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 1}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:32:04 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|run_tasks]: Run task: pickle_node4, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'value': 2}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:32:05 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 12745, 12753\n", - "03/21/2025 12:32:08 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|update_task_state]: Task: pickle_node3 finished.\n", - "03/21/2025 12:32:09 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|update_task_state]: Task: pickle_node4 finished.\n", - "03/21/2025 12:32:09 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:32:09 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: tasks ready to run: add_x_and_y1\n", - "03/21/2025 12:32:09 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|run_tasks]: Run task: add_x_and_y1, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'register_pickle_by_value': True, 'x': , 'y': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:32:10 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 12768\n", - "03/21/2025 12:32:12 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|update_task_state]: Task: add_x_and_y1 finished.\n", - "03/21/2025 12:32:13 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:32:13 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: tasks ready to run: add_x_and_y_and_z2\n", - "03/21/2025 12:32:13 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|run_tasks]: Run task: add_x_and_y_and_z2, type: PYTHONJOB\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "------------------------------------------------------------\n", - "kwargs: {'register_pickle_by_value': True, 'x': , 'y': , 'z': }\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "03/21/2025 12:32:14 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|on_wait]: Process status: Waiting for child processes: 12781\n", - "03/21/2025 12:32:16 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|update_task_state]: Task: add_x_and_y_and_z2 finished.\n", - "03/21/2025 12:32:16 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: Continue workgraph.\n", - "03/21/2025 12:32:17 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", - "03/21/2025 12:32:17 PM <3689673> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [12737|WorkGraphEngine|finalize]: Finalize workgraph.\n" - ] - }, - { - "data": { - "text/plain": [ - "{'execution_count': }" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "wg.run()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10c2a6c3", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/jobflow_to_pyiron_base_qe.ipynb b/jobflow_to_pyiron_base_qe.ipynb deleted file mode 100644 index 8ce072f..0000000 --- a/jobflow_to_pyiron_base_qe.ipynb +++ /dev/null @@ -1,1209 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "c9e32d6d-5a26-43b3-8455-fae305761a5d", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "000bbd4a-f53c-4eea-9d85-76f0aa2ca10b", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"cipher\": algorithms.TripleDES,\n", - "/home/geiger_j/.aiida_venvs/adis/lib/python3.10/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.\n", - " \"class\": algorithms.TripleDES,\n" - ] - } - ], - "source": [ - "from jobflow import job, Flow" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "b4a78447-e87c-4fb4-8d17-d9a280eb7254", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "06c2bd9e-b2ac-4b88-9158-fa37331c3418", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.jobflow import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fb6dbdaa-8cab-48b2-8307-448003eca3f5", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.pyiron_base import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "fb847d49-7bf9-4839-9b99-c116d1b0e9ee", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from quantum_espresso_workflow import (\n", - " calculate_qe as _calculate_qe, \n", - " generate_structures as _generate_structures, \n", - " get_bulk_structure as _get_bulk_structure, \n", - " plot_energy_volume_curve as _plot_energy_volume_curve,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "80fb0d34", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"jobflow_to_pyiron_base_qe.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "07598344-0f75-433b-8902-bea21a42088c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "calculate_qe = job(_calculate_qe, data=[\"energy\", \"volume\", \"structure\"])\n", - "generate_structures = job(_generate_structures, data=[f\"s_{i}\" for i in range(100)])\n", - "plot_energy_volume_curve = job(_plot_energy_volume_curve)\n", - "get_bulk_structure = job(_get_bulk_structure)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "e1ce0a51-0ab9-456c-81f9-d39875c3b709", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "c03753c7-9936-4a80-9e4e-2ac56a7fc114", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "structure = get_bulk_structure(\n", - " element=\"Al\",\n", - " a=4.05,\n", - " cubic=True,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "ecef1ed5-a8d3-48c3-9e01-4a40e55c1153", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "calc_mini = calculate_qe(\n", - " working_directory=\"mini\",\n", - " input_dict={\n", - " \"structure\": structure.output,\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"vc-relax\",\n", - " \"smearing\": 0.02,\n", - " },\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "2b88a30a-e26b-4802-89b7-79ca08cc0af9", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "number_of_strains = 5\n", - "structure_lst = generate_structures(\n", - " structure=calc_mini.output.structure,\n", - " strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "53e979ac-21db-4aa5-ae58-7cfc08dfa87b", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "job_strain_lst = []\n", - "for i in range(number_of_strains):\n", - " calc_strain = calculate_qe(\n", - " working_directory=\"strain_\" + str(i),\n", - " input_dict={\n", - " \"structure\": getattr(structure_lst.output, f\"s_{i}\"),\n", - " \"pseudopotentials\": pseudopotentials,\n", - " \"kpts\": (3, 3, 3),\n", - " \"calculation\": \"scf\",\n", - " \"smearing\": 0.02,\n", - " },\n", - " )\n", - " job_strain_lst.append(calc_strain)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "fbc5285c-7cc5-4318-acf8-06a48a4e2031", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "plot = plot_energy_volume_curve(\n", - " volume_lst=[job.output.volume for job in job_strain_lst],\n", - " energy_lst=[job.output.energy for job in job_strain_lst],\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "299aef9c-7ae7-46f9-a66f-521b05b7fa1c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "flow = Flow([structure, calc_mini, structure_lst] + job_strain_lst + [plot])" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "e464da97-16a1-4772-9a07-0a47f152781d", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "write_workflow_json(flow=flow, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "bca646b2-0a9a-4271-966a-e5903a8c9031", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[38;5;238m───────┬────────────────────────────────────────────────────────────────────────\u001b[0m\n", - " \u001b[38;5;238m│ \u001b[0mFile: \u001b[1mworkflow_qe_jobflow.json\u001b[0m\n", - "\u001b[38;5;238m───────┼────────────────────────────────────────────────────────────────────────\u001b[0m\n", - "\u001b[38;5;238m 1\u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mnodes\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m0\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.get_bulk_structure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m1\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mq\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186muantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m2\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m.generate_structures\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m3\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m4\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m5\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_wo\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mrkflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m6\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m7\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_workflow.calculate_qe\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m8\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mquantum_espresso_wor\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mkflow.plot_energy_volume_curve\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m9\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m10\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m11\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mtrue\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m12\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mmini\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m13\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m14\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mAl\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mAl.pbe-n-kjpaw_psl.1.0.0.UPF\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m15\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m16\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvc-relax\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m17\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m02\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m18\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m9500000000000001\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m05\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;141m.\u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m19\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtrain_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m20\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m21\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mf\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m22\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m23\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m24\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m25\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m26\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m27\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m28\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m29\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m30\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workflow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208m31\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpython_workf\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mlow_definition.shared.get_list\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208medges\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m[\u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186melement\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m9\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ma\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m10\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcubic\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m11\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m12\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m0\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msou\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalcul\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m16\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m13\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarge\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mt\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstruc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mture\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstrain_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m18\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m19\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstru\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mcture\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHand\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m20\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_direc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m22\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208margetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnu\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141mll\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourc\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208meHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m1\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m23\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mwork\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186ming_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m24\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHa\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m1\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186m_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m25\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m26\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalculation\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208ms\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmea\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mring\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m27\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mta\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mrgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mworking_directory\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m28\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mstructure\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m2\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186ms_4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mpseudopotentials\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m14\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mkpts\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msour\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m15\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mcalcula\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mtion\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m21\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandl\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208me\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186msmearing\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m17\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtar\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mgetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186minput_dict\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m29\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mt\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208marget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvol\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;186mume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHan\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mdle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186mvolume_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;141m30\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m0\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m3\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m1\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mso\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208murce\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m4\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m2\u001b[0m\u001b[38;5;186m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m5\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m3\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m6\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtargetHa\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208mndle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186m4\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m7\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;231m{\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarget\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m8\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208mtarg\u001b[0m\n", - "\u001b[38;5;238m \u001b[0m \u001b[38;5;238m│\u001b[0m \u001b[38;5;208metHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;186menergy_lst\u001b[0m\u001b[38;5;186m\"\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msource\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141m31\u001b[0m\u001b[38;5;231m,\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;208msourceHandle\u001b[0m\u001b[38;5;208m\"\u001b[0m\u001b[38;5;231m:\u001b[0m\u001b[38;5;231m \u001b[0m\u001b[38;5;141mnull\u001b[0m\u001b[38;5;231m}\u001b[0m\u001b[38;5;231m]\u001b[0m\u001b[38;5;231m}\u001b[0m\n", - "\u001b[38;5;238m───────┴────────────────────────────────────────────────────────────────────────\u001b[0m\n" - ] - } - ], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "f45684a8-2613-415a-ab0a-5cb2bafaffea", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "569d6ae2cfc0402fb33da30b27945674", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pr = Project(\"test\")\n", - "pr.remove_jobs(recursive=True, silently=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "8f2a621d-b533-4ddd-8bcd-c22db2f922ec", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "create_function_job_809d8558bed049bb955f9ab7ea15694e\n", - "\n", - "create_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb9210>\n", - "\n", - "\n", - "\n", - "volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92\n", - "\n", - "volume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb8c70>\n", - "\n", - "\n", - "\n", - "volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92->create_function_job_809d8558bed049bb955f9ab7ea15694e\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "0_23cdee1fdf1554283f67b1e33b117f61\n", - "\n", - "0=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb8460>\n", - "\n", - "\n", - "\n", - "0_23cdee1fdf1554283f67b1e33b117f61->volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_2e9abb255f1a31f7d29b4451ad422add\n", - "\n", - "working_directory=strain_0\n", - "\n", - "\n", - "\n", - "working_directory_2e9abb255f1a31f7d29b4451ad422add->0_23cdee1fdf1554283f67b1e33b117f61\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "0_7bd50c62ed7b52b794888a03908738db\n", - "\n", - "0=<pyiron_base.project.delayed.DelayedObject object at 0x71671df75ff0>\n", - "\n", - "\n", - "\n", - "working_directory_2e9abb255f1a31f7d29b4451ad422add->0_7bd50c62ed7b52b794888a03908738db\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "energy_lst_fe609f61e38f45a6275b5c559dd2325c\n", - "\n", - "energy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb8ca0>\n", - "\n", - "\n", - "\n", - "0_7bd50c62ed7b52b794888a03908738db->energy_lst_fe609f61e38f45a6275b5c559dd2325c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_8c4d5e66276937cdcc89fb131cfd3051\n", - "\n", - "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71671df76ce0>\n", - "\n", - "\n", - "\n", - "input_dict_8c4d5e66276937cdcc89fb131cfd3051->0_23cdee1fdf1554283f67b1e33b117f61\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_8c4d5e66276937cdcc89fb131cfd3051->0_7bd50c62ed7b52b794888a03908738db\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_07a8f76a0999223e598aaaf9fb66c3e5\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df77310>\n", - "\n", - "\n", - "\n", - "structure_07a8f76a0999223e598aaaf9fb66c3e5->input_dict_8c4d5e66276937cdcc89fb131cfd3051\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_59fc475109c3c1e9f7a14636593bbb4f\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df75ea0>\n", - "\n", - "\n", - "\n", - "structure_59fc475109c3c1e9f7a14636593bbb4f->structure_07a8f76a0999223e598aaaf9fb66c3e5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_6ffcb87252131a2b7110ed15985b4d86\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df76ec0>\n", - "\n", - "\n", - "\n", - "structure_59fc475109c3c1e9f7a14636593bbb4f->structure_6ffcb87252131a2b7110ed15985b4d86\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_4fbe3373c6c982229debf3153a458cd4\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df76a70>\n", - "\n", - "\n", - "\n", - "structure_59fc475109c3c1e9f7a14636593bbb4f->structure_4fbe3373c6c982229debf3153a458cd4\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_617c2c7791b5913f5e1ccf79197fa9bb\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df76620>\n", - "\n", - "\n", - "\n", - "structure_59fc475109c3c1e9f7a14636593bbb4f->structure_617c2c7791b5913f5e1ccf79197fa9bb\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_197b77fef6706b51be23059e701a395f\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df761d0>\n", - "\n", - "\n", - "\n", - "structure_59fc475109c3c1e9f7a14636593bbb4f->structure_197b77fef6706b51be23059e701a395f\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_ce033274e4b280d0e100ce3fe12c94fc\n", - "\n", - "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71671df77940>\n", - "\n", - "\n", - "\n", - "structure_6ffcb87252131a2b7110ed15985b4d86->input_dict_ce033274e4b280d0e100ce3fe12c94fc\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_3fbbc0deb9bd9708fb86d2d966c4b537\n", - "\n", - "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71671df77fa0>\n", - "\n", - "\n", - "\n", - "structure_4fbe3373c6c982229debf3153a458cd4->input_dict_3fbbc0deb9bd9708fb86d2d966c4b537\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_dc4cc0f9b2891ce782f84a07d871bff7\n", - "\n", - "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71671df77bb0>\n", - "\n", - "\n", - "\n", - "structure_617c2c7791b5913f5e1ccf79197fa9bb->input_dict_dc4cc0f9b2891ce782f84a07d871bff7\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_91c65628feeb078875cab1cf7cf1b6c5\n", - "\n", - "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71671df77760>\n", - "\n", - "\n", - "\n", - "structure_197b77fef6706b51be23059e701a395f->input_dict_91c65628feeb078875cab1cf7cf1b6c5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_a17ade9a563d8dcadb655fb2e1c743a7\n", - "\n", - "working_directory=mini\n", - "\n", - "\n", - "\n", - "working_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_59fc475109c3c1e9f7a14636593bbb4f\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_dict_fcf1c802126ae1d4d8a1b7a703dc7338\n", - "\n", - "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71671df75a50>\n", - "\n", - "\n", - "\n", - "input_dict_fcf1c802126ae1d4d8a1b7a703dc7338->structure_59fc475109c3c1e9f7a14636593bbb4f\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_17723bc08cf6a5a3023fa0cf85f30efe\n", - "\n", - "structure=<pyiron_base.project.delayed.DelayedObject object at 0x71671df74b80>\n", - "\n", - "\n", - "\n", - "structure_17723bc08cf6a5a3023fa0cf85f30efe->input_dict_fcf1c802126ae1d4d8a1b7a703dc7338\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "element_467734216d9bd2497ffd28d5cd6daba0\n", - "\n", - "element=Al\n", - "\n", - "\n", - "\n", - "element_467734216d9bd2497ffd28d5cd6daba0->structure_17723bc08cf6a5a3023fa0cf85f30efe\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "a_aea0574e321c6f75f923c059730e9537\n", - "\n", - "a=4.05\n", - "\n", - "\n", - "\n", - "a_aea0574e321c6f75f923c059730e9537->structure_17723bc08cf6a5a3023fa0cf85f30efe\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "cubic_bad787c53fa02a5559fe570238fdb23a\n", - "\n", - "cubic=True\n", - "\n", - "\n", - "\n", - "cubic_bad787c53fa02a5559fe570238fdb23a->structure_17723bc08cf6a5a3023fa0cf85f30efe\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10\n", - "\n", - "pseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_8c4d5e66276937cdcc89fb131cfd3051\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_fcf1c802126ae1d4d8a1b7a703dc7338\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_ce033274e4b280d0e100ce3fe12c94fc\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_3fbbc0deb9bd9708fb86d2d966c4b537\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_dc4cc0f9b2891ce782f84a07d871bff7\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_91c65628feeb078875cab1cf7cf1b6c5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "1_c4b38a1d946bc0108c2a9b262311b46c\n", - "\n", - "1=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb8490>\n", - "\n", - "\n", - "\n", - "input_dict_ce033274e4b280d0e100ce3fe12c94fc->1_c4b38a1d946bc0108c2a9b262311b46c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "1_d6278b7b93df8e783769b0aea3d45da6\n", - "\n", - "1=<pyiron_base.project.delayed.DelayedObject object at 0x71671df760b0>\n", - "\n", - "\n", - "\n", - "input_dict_ce033274e4b280d0e100ce3fe12c94fc->1_d6278b7b93df8e783769b0aea3d45da6\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "2_b2ee0a8539a24ef2629756b5781b587d\n", - "\n", - "2=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb84f0>\n", - "\n", - "\n", - "\n", - "input_dict_3fbbc0deb9bd9708fb86d2d966c4b537->2_b2ee0a8539a24ef2629756b5781b587d\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "2_77eea81f53ee2004864be4760362a668\n", - "\n", - "2=<pyiron_base.project.delayed.DelayedObject object at 0x71671df763b0>\n", - "\n", - "\n", - "\n", - "input_dict_3fbbc0deb9bd9708fb86d2d966c4b537->2_77eea81f53ee2004864be4760362a668\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "3_7442324ee7000c53e7f814c16c592b62\n", - "\n", - "3=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb87c0>\n", - "\n", - "\n", - "\n", - "input_dict_dc4cc0f9b2891ce782f84a07d871bff7->3_7442324ee7000c53e7f814c16c592b62\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "3_9cf707120bb4238648eb14d8fa76bf9a\n", - "\n", - "3=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb8070>\n", - "\n", - "\n", - "\n", - "input_dict_dc4cc0f9b2891ce782f84a07d871bff7->3_9cf707120bb4238648eb14d8fa76bf9a\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "4_f2727d89b112e0584736e4f4b5740779\n", - "\n", - "4=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb88b0>\n", - "\n", - "\n", - "\n", - "input_dict_91c65628feeb078875cab1cf7cf1b6c5->4_f2727d89b112e0584736e4f4b5740779\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "4_d2de47ca1bc6fe1d56ae84ca447c779f\n", - "\n", - "4=<pyiron_base.project.delayed.DelayedObject object at 0x71671dfb80a0>\n", - "\n", - "\n", - "\n", - "input_dict_91c65628feeb078875cab1cf7cf1b6c5->4_d2de47ca1bc6fe1d56ae84ca447c779f\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa\n", - "\n", - "kpts=[3, 3, 3]\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_8c4d5e66276937cdcc89fb131cfd3051\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_fcf1c802126ae1d4d8a1b7a703dc7338\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_ce033274e4b280d0e100ce3fe12c94fc\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_3fbbc0deb9bd9708fb86d2d966c4b537\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_dc4cc0f9b2891ce782f84a07d871bff7\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_91c65628feeb078875cab1cf7cf1b6c5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calculation_77b75a01e65d83962d14fa8a882d6c34\n", - "\n", - "calculation=vc-relax\n", - "\n", - "\n", - "\n", - "calculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_fcf1c802126ae1d4d8a1b7a703dc7338\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9\n", - "\n", - "smearing=0.02\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_8c4d5e66276937cdcc89fb131cfd3051\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_fcf1c802126ae1d4d8a1b7a703dc7338\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_ce033274e4b280d0e100ce3fe12c94fc\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_3fbbc0deb9bd9708fb86d2d966c4b537\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_dc4cc0f9b2891ce782f84a07d871bff7\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_91c65628feeb078875cab1cf7cf1b6c5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "strain_lst_17d5bcbc7579ab5e0f98577d05347b86\n", - "\n", - "strain_lst=[0.9, 0.9500000000000001, 1.0, 1.05, 1.1]\n", - "\n", - "\n", - "\n", - "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_07a8f76a0999223e598aaaf9fb66c3e5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_6ffcb87252131a2b7110ed15985b4d86\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_4fbe3373c6c982229debf3153a458cd4\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_617c2c7791b5913f5e1ccf79197fa9bb\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_197b77fef6706b51be23059e701a395f\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calculation_bc91e0ce7227762f507f47b85f2f0a83\n", - "\n", - "calculation=scf\n", - "\n", - "\n", - "\n", - "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_8c4d5e66276937cdcc89fb131cfd3051\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_ce033274e4b280d0e100ce3fe12c94fc\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_3fbbc0deb9bd9708fb86d2d966c4b537\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_dc4cc0f9b2891ce782f84a07d871bff7\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_91c65628feeb078875cab1cf7cf1b6c5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "1_c4b38a1d946bc0108c2a9b262311b46c->volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_5423d2cc67129a6d0383af6f347df5bd\n", - "\n", - "working_directory=strain_1\n", - "\n", - "\n", - "\n", - "working_directory_5423d2cc67129a6d0383af6f347df5bd->1_c4b38a1d946bc0108c2a9b262311b46c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_5423d2cc67129a6d0383af6f347df5bd->1_d6278b7b93df8e783769b0aea3d45da6\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "1_d6278b7b93df8e783769b0aea3d45da6->energy_lst_fe609f61e38f45a6275b5c559dd2325c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "2_b2ee0a8539a24ef2629756b5781b587d->volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_cc646e064ddfc4b2811aba3d86d27992\n", - "\n", - "working_directory=strain_2\n", - "\n", - "\n", - "\n", - "working_directory_cc646e064ddfc4b2811aba3d86d27992->2_b2ee0a8539a24ef2629756b5781b587d\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_cc646e064ddfc4b2811aba3d86d27992->2_77eea81f53ee2004864be4760362a668\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "2_77eea81f53ee2004864be4760362a668->energy_lst_fe609f61e38f45a6275b5c559dd2325c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "3_7442324ee7000c53e7f814c16c592b62->volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_e27768d53df6cd8dc245c52054ecf31f\n", - "\n", - "working_directory=strain_3\n", - "\n", - "\n", - "\n", - "working_directory_e27768d53df6cd8dc245c52054ecf31f->3_7442324ee7000c53e7f814c16c592b62\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_e27768d53df6cd8dc245c52054ecf31f->3_9cf707120bb4238648eb14d8fa76bf9a\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "3_9cf707120bb4238648eb14d8fa76bf9a->energy_lst_fe609f61e38f45a6275b5c559dd2325c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "4_f2727d89b112e0584736e4f4b5740779->volume_lst_fb27cd91c1d8ffe8784a3ee748edaa92\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_72bba39b22d2b7ce154d37c7e8c658b7\n", - "\n", - "working_directory=strain_4\n", - "\n", - "\n", - "\n", - "working_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_f2727d89b112e0584736e4f4b5740779\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "working_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_d2de47ca1bc6fe1d56ae84ca447c779f\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "4_d2de47ca1bc6fe1d56ae84ca447c779f->energy_lst_fe609f61e38f45a6275b5c559dd2325c\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "energy_lst_fe609f61e38f45a6275b5c559dd2325c->create_function_job_809d8558bed049bb955f9ab7ea15694e\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\n", - "delayed_object.draw()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "cf80267d-c2b0-4236-bf1d-a57596985fc1", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The job get_bulk_structure_f1e730ed97e30e5439e855d2ac41396f was saved and received the ID: 2\n", - "The job get_dict_09572c95c87e234a9d89925d32a56d9a was saved and received the ID: 3\n", - "The job calculate_qe_84bdb06f45f0b9a17b7e2a73ecc8d2da was saved and received the ID: 4\n", - "FROM ASE\n", - "Atoms(symbols='Al4', pbc=True, cell=[4.05, 4.05, 4.05])\n", - "['Al', 'Al', 'Al', 'Al']\n", - "{'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "The job generate_structures_63908661a41bfbc45ce757d9ffa40e3f was saved and received the ID: 5\n", - "The job get_dict_297af5b8fe25076b5c034f7cb6f1074c was saved and received the ID: 6\n", - "The job calculate_qe_97c1e53609c43812b9ec6060abfcffb8 was saved and received the ID: 7\n", - "FROM ASE\n", - "Atoms(symbols='Al4', pbc=True, cell=[3.906019955258373, 3.906019955258373, 3.906019955258373])\n", - "['Al', 'Al', 'Al', 'Al']\n", - "{'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "The job get_dict_19b5149eec0ab66b20e71b1d7555b26a was saved and received the ID: 8\n", - "The job calculate_qe_72f8caf9c063301570f963aceb3e62a4 was saved and received the ID: 9\n", - "FROM ASE\n", - "Atoms(symbols='Al4', pbc=True, cell=[3.9770540166930592, 3.9770540166930592, 3.9770540166930592])\n", - "['Al', 'Al', 'Al', 'Al']\n", - "{'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "The job get_dict_b5520822921036d52a15489bb521aff6 was saved and received the ID: 10\n", - "The job calculate_qe_7b6e95ebe70a973b7abee42a2530444d was saved and received the ID: 11\n", - "FROM ASE\n", - "Atoms(symbols='Al4', pbc=True, cell=[4.045637391294418, 4.045637391294418, 4.045637391294418])\n", - "['Al', 'Al', 'Al', 'Al']\n", - "{'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "The job get_dict_9d3449b66fd95b0ca5c9ae5e7a23953c was saved and received the ID: 12\n", - "The job calculate_qe_1e477c38fb41c0720a5ad3ee714bad2f was saved and received the ID: 13\n", - "FROM ASE\n", - "Atoms(symbols='Al4', pbc=True, cell=[4.111971105505595, 4.111971105505595, 4.111971105505595])\n", - "['Al', 'Al', 'Al', 'Al']\n", - "{'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "The job get_dict_a7b90b1c5776042282cd8605b1035215 was saved and received the ID: 14\n", - "The job calculate_qe_4478b27f34c47c31c5485afd7ea97b69 was saved and received the ID: 15\n", - "FROM ASE\n", - "Atoms(symbols='Al4', pbc=True, cell=[4.176231033379999, 4.176231033379999, 4.176231033379999])\n", - "['Al', 'Al', 'Al', 'Al']\n", - "{'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n", - "The job get_list_9558a651d39ba3c024dbe4adcf982906 was saved and received the ID: 16\n", - "The job get_list_6d2184723e61b75359b80fa9f6db437c was saved and received the ID: 17\n", - "The job plot_energy_volume_curve_2f612f2adc0c20585c465d6c210ba806 was saved and received the ID: 18\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABcH0lEQVR4nO3dd3RUZeLG8e9MeiEFSAiBFHpClaJUKwiIgBTBgiCIuu4uriIioGJXsK4/XXfVXaUsuCpiQZAquGCINOmEAIEQSKOkJ6TO/f0RyBqBACGZm0mezzlzzmbm3skzd2Py8L73vtdiGIaBiIiIiFyQ1ewAIiIiIjWZypKIiIhIBVSWRERERCqgsiQiIiJSAZUlERERkQqoLImIiIhUQGVJREREpAIqSyIiIiIVUFkSERERqYDKkoiIiEgFVJZM8uqrr9KrVy88PT3x8/O7rH0Mw+C5556jcePGeHh40K9fPw4ePFj2+k8//YTFYrngY8uWLee936FDh6hXr95lf//fGjp0KKGhobi7u9O4cWPGjh1LUlLSFb+PiIhITaeyZJLCwkJGjRrFH//4x8ve54033uC9997jww8/ZNOmTXh5eTFgwADy8/MB6NWrF8nJyeUeDz74IM2aNaNbt27l3quoqIh77rmH66+/vlL5b775Zr788ktiY2NZvHgxcXFx3HnnnZV6LxERkZrMohvpmmvu3Lk8/vjjZGRkVLidYRgEBwczZcoUnnzySQAyMzNp1KgRc+fO5e677z5vn6KiIpo0acKjjz7KzJkzy702bdo0kpKS6Nu37wW//7/+9S/efvttjhw5Qnh4OH/5y1/405/+dNF8S5YsYdiwYRQUFODi4nJ5H15ERMQBaGTJQRw5coSUlBT69etX9pyvry/du3cnOjr6gvssWbKE06dPM2HChHLPr127lkWLFvHBBx9ccL+FCxfy3HPP8eqrrxITE8Nrr73GzJkzmTdv3gW3T0tLY+HChfTq1UtFSUREah2VJQeRkpICQKNGjco936hRo7LXfu+TTz5hwIABNG3atOy506dPM378eObOnYuPj88F93v++ed5++23GTFiBM2aNWPEiBFMnjyZjz76qNx206ZNw8vLiwYNGpCQkMB33313NR9RRESkRlJZqkLTp0+/6AnW5x779++3S5bjx4+zcuVKJk6cWO75hx56iHvvvZcbbrjh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RuV+AdbmsnSp45GYmGgAxj333FNumyFDhhh333233XLay+X8N/Pmm28arVu3NpYsWWLs3LnTeP/99w1vb29j9erV9o5rV/379zcGDx5c9nVdL0u/Px6/lZmZaVx33XXGwIEDjcLCQjsnsx9Nwzmoxo0b07Zt23LPRUZGll21ExQUBHDe1Rqpqallr9Umlzoe5xQVFTF69GiOHj3K6tWra8Udsy/mUsdkw4YNnDhxgtDQUJydnXF2dubo0aNMmTKF8PBwExJXr0sdj4YNG+Ls7HxZP0e1waWOx5kzZ3j66ad55513GDJkCB07dmTSpEncddddvPXWW2ZEtoujR4+yZs0aHnzwwbLngoKCKCwsJCMjo9y2tfX36W9d6Hick52dzcCBA6lXrx7ffPMNLi4uJiS0D5UlB9W7d29iY2PLPXfgwAHCwsIAaNasGUFBQfz4449lr2dlZbFp0yZ69uxp16z2cKnjAf8rSgcPHmTNmjU0aNDA3jHt6lLHZOzYsezatYsdO3aUPYKDg5k6dSorV640I3K1utTxcHV15dprr73kz1FtcanjUVRURFFREVZr+T8TTk5O2Gw2u+W0tzlz5hAYGMjtt99e9lzXrl1xcXEp9/s0NjaWhISEWvn79LcudDyg9O9J//79cXV1ZcmSJbXyitFyzB7aksrZvHmz4ezsbLz66qvGwYMHjYULFxqenp7GggULyraZPXu24efnZ3z33XfGrl27jDvuuMNo1qyZcebMGROTV49LHY/CwkJj6NChRtOmTY0dO3YYycnJZY+CggKT01ePy/kZ+b3aPA13Ocfj66+/NlxcXIyPP/7YOHjwoPH+++8bTk5OxoYNG0xMXj0u53jceOONRrt27Yx169YZhw8fNubMmWO4u7sbf//7301MXn1KSkqM0NBQY9q0aee99sgjjxihoaHG2rVrja1btxo9e/Y8bxqztrnY8cjMzDS6d+9udOjQwTh06FC536fFxcUmpa1eKksO7Pvvvzfat29vuLm5GREREcbHH39c7nWbzWbMnDnTaNSokeHm5mb07dvXiI2NNSlt9avoeBw5csQALvhYt26deaGr2aV+Rn6vNpclw7i84/HJJ58YLVu2NNzd3Y1OnToZ3377rQlJ7eNSxyM5OdkYP368ERwcbLi7uxtt2rQx3n777YtePu7oVq5caQAX/D155swZ409/+pPh7+9veHp6GsOHDzeSk5NNSGk/Fzse69atu+jv0yNHjpgTtppZDMMwzBjREhEREXEEOmdJREREpAIqSyIiIiIVUFkSERERqYDKkoiIiEgFVJZEREREKqCyJCIiIlIBlSURERGRCqgsiYiIiFRAZUlE6rTw8HDeffdds2OISA2msiQiDmvIkCEMHDjwgq9t2LABi8XCrl277JxKRGoblSURcVgTJ05k9erVHD9+/LzX5syZQ7du3ejYsaMJyUSkNlFZEhGHNXjwYAICApg7d26553Nycli0aBETJ05k8eLFtGvXDjc3N8LDw3n77bcv+n7x8fFYLBZ27NhR9lxGRgYWi4WffvoJgJ9++gmLxcLKlSvp3LkzHh4e3HLLLZw4cYLly5cTGRmJj48P9957L3l5eWXvY7PZmDVrFs2aNcPDw4NOnTrx1VdfVeXhEJFqorIkIg7L2dmZcePGMXfuXH57T/BFixZRUlJCZGQko0eP5u6772b37t288MILzJw587xyVRkvvPACf/vb39i4cSPHjh1j9OjRvPvuu3z22WcsW7aMVatW8f7775dtP2vWLObPn8+HH37I3r17mTx5Mvfddx///e9/rzqLiFQvi/Hb3zAiIg5m//79REZGsm7dOm666SYAbrjhBsLCwrDZbJw8eZJVq1aVbf/UU0+xbNky9u7dC5Se4P3444/z+OOPEx8fT7Nmzdi+fTvXXHMNUDqy5O/vX/b+P/30EzfffDNr1qyhb9++AMyePZsZM2YQFxdH8+bNAXjkkUeIj49nxYoVFBQUUL9+fdasWUPPnj3Lsjz44IPk5eXx2Wef2eFIiUhlaWRJRBxaREQEvXr14tNPPwXg0KFDbNiwgYkTJxITE0Pv3r3Lbd+7d28OHjxISUnJVX3f354L1ahRIzw9PcuK0rnnTpw4UZYpLy+PW2+9FW9v77LH/PnziYuLu6ocIlL9nM0OICJytSZOnMijjz7KBx98wJw5c2jRogU33njjFb+P1Vr678ffDrgXFRVdcFsXF5ey/22xWMp9fe45m80GlJ5DBbBs2TKaNGlSbjs3N7crziki9qWRJRFxeKNHj8ZqtfLZZ58xf/58HnjgASwWC5GRkURFRZXbNioqitatW+Pk5HTe+wQEBACQnJxc9txvT/aurLZt2+Lm5kZCQgItW7Ys9wgJCbnq9xeR6qWRJRFxeN7e3tx1113MmDGDrKwsxo8fD8CUKVO49tprefnll7nrrruIjo7mb3/7G3//+98v+D4eHh706NGD2bNn06xZM06cOMGzzz571fnq1avHk08+yeTJk7HZbPTp04fMzEyioqLw8fHh/vvvv+rvISLVRyNLIlIrTJw4kfT0dAYMGEBwcDAAXbp04csvv+Tzzz+nffv2PPfcc7z00ktlZepCPv30U4qLi+natSuPP/44r7zySpXke/nll5k5cyazZs0iMjKSgQMHsmzZMpo1a1Yl7y8i1UdXw4mIiIhUQCNLIiIiIhVQWRIRERGpgMqSiIiISAVUlkREREQqoLIkIiIiUgGVJREREZEKqCyJiIiIVEBlSURERKQCKksiIiIiFVBZEhEREamAypKIiIhIBVSWRERERCrw/29uUEcLUwOpAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "delayed_object.pull()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ADIS", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/jobflow_to_pyiron_base_simple.ipynb b/jobflow_to_pyiron_base_simple.ipynb deleted file mode 100644 index 80cf4ac..0000000 --- a/jobflow_to_pyiron_base_simple.ipynb +++ /dev/null @@ -1,358 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 2, - "id": "000bbd4a-f53c-4eea-9d85-76f0aa2ca10b", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from jobflow import job, Flow" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "b4a78447-e87c-4fb4-8d17-d9a280eb7254", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from pyiron_base import Project" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "06c2bd9e-b2ac-4b88-9158-fa37331c3418", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.jobflow import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fb6dbdaa-8cab-48b2-8307-448003eca3f5", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from python_workflow_definition.pyiron_base import load_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "fb847d49-7bf9-4839-9b99-c116d1b0e9ee", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from simple_workflow import (\n", - " add_x_and_y as _add_x_and_y, \n", - " add_x_and_y_and_z as _add_x_and_y_and_z,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f95244e", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"jobflow_to_pyiron_base_simple.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "07598344-0f75-433b-8902-bea21a42088c", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "add_x_and_y = job(_add_x_and_y, data=[\"x\", \"y\", \"z\"])\n", - "add_x_and_y_and_z = job(_add_x_and_y_and_z)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "ecef1ed5-a8d3-48c3-9e01-4a40e55c1153", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "obj = add_x_and_y(x=1, y=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "2b88a30a-e26b-4802-89b7-79ca08cc0af9", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "w = add_x_and_y_and_z(x=obj.output.x, y=obj.output.y, z=obj.output.z)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "a5e5ca63-2906-47c9-bac6-adebf8643cba", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "flow = Flow([obj, w])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e464da97-16a1-4772-9a07-0a47f152781d", - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "write_workflow_json(flow=flow, file_name=workflow_json_filename)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bca646b2-0a9a-4271-966a-e5903a8c9031", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\"nodes\": {\"0\": \"simple_workflow.add_x_and_y\", \"1\": \"simple_workflow.add_x_and_y_and_z\", \"2\": 1, \"3\": 2}, \"edges\": [{\"target\": 0, \"targetHandle\": \"x\", \"source\": 2, \"sourceHandle\": null}, {\"target\": 0, \"targetHandle\": \"y\", \"source\": 3, \"sourceHandle\": null}, {\"target\": 1, \"targetHandle\": \"x\", \"source\": 0, \"sourceHandle\": \"x\"}, {\"target\": 1, \"targetHandle\": \"y\", \"source\": 0, \"sourceHandle\": \"y\"}, {\"target\": 1, \"targetHandle\": \"z\", \"source\": 0, \"sourceHandle\": \"z\"}]}" - ] - } - ], - "source": [ - "!cat {workflow_json_filename}" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "f45684a8-2613-415a-ab0a-5cb2bafaffea", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1dc9fa2d8f8044c8977e1ad0669596b5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pr = Project(\"test\")\n", - "pr.remove_jobs(recursive=True, silently=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8f2a621d-b533-4ddd-8bcd-c22db2f922ec", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "create_function_job_2c457c823cb47e0ef9ae0df5b2d1fb40\n", - "\n", - "create_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7e21ef5bc560>\n", - "\n", - "\n", - "\n", - "x_7bbe883cf8e84e98be86ef51b3b4b3f0\n", - "\n", - "x=<pyiron_base.project.delayed.DelayedObject object at 0x7e21ef56ffb0>\n", - "\n", - "\n", - "\n", - "x_7bbe883cf8e84e98be86ef51b3b4b3f0->create_function_job_2c457c823cb47e0ef9ae0df5b2d1fb40\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "x_1d847da32ecaabf6731c38f798c3d4ce\n", - "\n", - "x=1\n", - "\n", - "\n", - "\n", - "x_1d847da32ecaabf6731c38f798c3d4ce->x_7bbe883cf8e84e98be86ef51b3b4b3f0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "y_8ac62ebe82912d404811d7b4f684816a\n", - "\n", - "y=<pyiron_base.project.delayed.DelayedObject object at 0x7e21ef5bc200>\n", - "\n", - "\n", - "\n", - "x_1d847da32ecaabf6731c38f798c3d4ce->y_8ac62ebe82912d404811d7b4f684816a\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "z_5e7b48ebebaa407e4bfec5ab40e64557\n", - "\n", - "z=<pyiron_base.project.delayed.DelayedObject object at 0x7e21ef5bc170>\n", - "\n", - "\n", - "\n", - "x_1d847da32ecaabf6731c38f798c3d4ce->z_5e7b48ebebaa407e4bfec5ab40e64557\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "y_8ac62ebe82912d404811d7b4f684816a->create_function_job_2c457c823cb47e0ef9ae0df5b2d1fb40\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "z_5e7b48ebebaa407e4bfec5ab40e64557->create_function_job_2c457c823cb47e0ef9ae0df5b2d1fb40\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "y_a9ec4f5f33f0d64e74ed5d9900bceac6\n", - "\n", - "y=2\n", - "\n", - "\n", - "\n", - "y_a9ec4f5f33f0d64e74ed5d9900bceac6->x_7bbe883cf8e84e98be86ef51b3b4b3f0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "y_a9ec4f5f33f0d64e74ed5d9900bceac6->y_8ac62ebe82912d404811d7b4f684816a\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "y_a9ec4f5f33f0d64e74ed5d9900bceac6->z_5e7b48ebebaa407e4bfec5ab40e64557\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\n", - "delayed_object.draw()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "cf80267d-c2b0-4236-bf1d-a57596985fc1", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "The job add_x_and_y_68901482a2c5221cc845f828aabebd27 was saved and received the ID: 1\n", - "The job add_x_and_y_and_z_b671e81aaa4670d81d7eee509650af8d was saved and received the ID: 2\n" - ] - }, - { - "data": { - "text/plain": [ - "6" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "delayed_object.pull()" - ] - } - ], - "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.12.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From a893acfb13c61d64dfe4bf53a2184945465d83ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 22 Mar 2025 10:30:31 +0100 Subject: [PATCH 09/11] merge aiida notebooks --- .github/workflows/aiida.yml | 7 ++----- aiida_qe.ipynb | 1 + aiida_simple.ipynb | 1 + aiida_to_jobflow_qe.ipynb | 1 - aiida_to_jobflow_simple.ipynb | 1 - aiida_to_pyiron_base_qe.ipynb | 1 - aiida_to_pyiron_base_simple.ipynb | 1 - 7 files changed, 4 insertions(+), 9 deletions(-) create mode 100644 aiida_qe.ipynb create mode 100644 aiida_simple.ipynb delete mode 100644 aiida_to_jobflow_qe.ipynb delete mode 100644 aiida_to_jobflow_simple.ipynb delete mode 100644 aiida_to_pyiron_base_qe.ipynb delete mode 100644 aiida_to_pyiron_base_simple.ipynb diff --git a/.github/workflows/aiida.yml b/.github/workflows/aiida.yml index 7b699d6..3bf45aa 100644 --- a/.github/workflows/aiida.yml +++ b/.github/workflows/aiida.yml @@ -33,8 +33,5 @@ jobs: papermill universal_simple_to_aiida.ipynb universal_simple_to_aiida_out.ipynb -k "python3" papermill universal_qe_to_aiida.ipynb universal_qe_to_aiida_out.ipynb -k "python3" - papermill aiida_to_pyiron_base_simple.ipynb aiida_to_pyiron_base_simple_out.ipynb -k "python3" - papermill aiida_to_pyiron_base_qe.ipynb aiida_to_pyiron_base_qe_out.ipynb -k "python3" - - papermill aiida_to_jobflow_simple.ipynb aiida_to_jobflow_simple_out.ipynb -k "python3" - papermill aiida_to_jobflow_qe.ipynb aiida_to_jobflow_qe_out.ipynb -k "python3" + papermill aiida_simple.ipynb aiida_simple_out.ipynb -k "python3" + papermill aiida_qe.ipynb aiida_qe_out.ipynb -k "python3" diff --git a/aiida_qe.ipynb b/aiida_qe.ipynb new file mode 100644 index 0000000..eb82208 --- /dev/null +++ b/aiida_qe.ipynb @@ -0,0 +1 @@ +{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Quantum Espresso Energy Volume Curve Workflow with aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\n\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_pyiron_base_qe.json\"","metadata":{"trusted":false},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"cell_type":"code","source":"from aiida_workgraph import task, WorkGraph\nfrom typing import Any","metadata":{"trusted":false},"outputs":[],"execution_count":2},{"cell_type":"code","source":"# NOTE: `get_dict` is `get_input_dict`, to compile the input values for the calc tasks\n# NOTE: `add_link` must be from outputs to inputs\nfrom python_workflow_definition.shared import get_dict, get_list","metadata":{"trusted":false},"outputs":[],"execution_count":3},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":false},"outputs":[],"execution_count":4},{"cell_type":"code","source":"from quantum_espresso_workflow import generate_structures as _generate_structures\nfrom quantum_espresso_workflow import get_bulk_structure as _get_bulk_structure\nfrom quantum_espresso_workflow import calculate_qe as _calculate_qe\nfrom quantum_espresso_workflow import plot_energy_volume_curve as _plot_energy_volume_curve","metadata":{"trusted":false},"outputs":[],"execution_count":5},{"cell_type":"code","source":"strain_lst = [0.9, 0.95, 1.0, 1.05, 1.1]","metadata":{"trusted":false},"outputs":[],"execution_count":6},{"cell_type":"code","source":"get_bulk_structure = task.pythonjob()(_get_bulk_structure)\ngenerate_structures = task.pythonjob()(_generate_structures)\ncalculate_qe = task.pythonjob(outputs=[\"energy\", \"volume\", \"structure\"])(\n _calculate_qe\n)\nplot_energy_volume_curve = task.pythonjob()(_plot_energy_volume_curve)","metadata":{"trusted":false},"outputs":[],"execution_count":7},{"cell_type":"code","source":"wg = WorkGraph(\"wg-qe\")","metadata":{"trusted":false},"outputs":[],"execution_count":8},{"cell_type":"code","source":"pickle_element_task = wg.add_task(\n pickle_node,\n name=\"pickle_element\",\n value=\"Al\",\n)","metadata":{"trusted":false},"outputs":[],"execution_count":9},{"cell_type":"code","source":"pickle_a_task = wg.add_task(\n pickle_node, name=\"pickle_a\", value=4.05\n)","metadata":{"trusted":false},"outputs":[],"execution_count":10},{"cell_type":"code","source":"pickle_cubic_task = wg.add_task(\n pickle_node, name=\"pickle_cubic\", value=True\n)","metadata":{"trusted":false},"outputs":[],"execution_count":11},{"cell_type":"code","source":"pickle_relax_workdir_task = wg.add_task(\n pickle_node,\n name=\"pickle_relax_workdir\",\n value=\"mini\",\n)","metadata":{"trusted":false},"outputs":[],"execution_count":12},{"cell_type":"code","source":"# ? relax or SCF, or general? -> Should be relax\nrelax_get_dict_task = wg.add_task(\n task.pythonjob(\n # outputs=[\"structure\", \"calculation\", \"kpts\", \"pseudopotentials\", \"smearing\"]\n # outputs=[\"dict\"]\n )(get_dict),\n name=\"relax_get_dict\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":13},{"cell_type":"code","source":"pickle_pp_task = wg.add_task(\n pickle_node,\n name=\"pseudopotentials\",\n value={\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"},\n)","metadata":{"trusted":false},"outputs":[],"execution_count":14},{"cell_type":"code","source":"pickle_kpts_task = wg.add_task(\n pickle_node, name=\"kpts_task\", value=[3, 3, 3] # FIXME: Back to [3, 3, 3]\n)","metadata":{"trusted":false},"outputs":[],"execution_count":15},{"cell_type":"code","source":"pickle_calc_type_relax_task = wg.add_task(\n pickle_node,\n name=\"calc_type_relax\",\n value=\"vc-relax\",\n)","metadata":{"trusted":false},"outputs":[],"execution_count":16},{"cell_type":"code","source":"pickle_smearing_task = wg.add_task(\n pickle_node, name=\"smearing\", value=0.02\n)","metadata":{"trusted":false},"outputs":[],"execution_count":17},{"cell_type":"code","source":"strain_lst_task = wg.add_task(\n pickle_node,\n name=\"pickle_strain_lst\",\n value=strain_lst,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":18},{"cell_type":"code","source":"get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n name=\"get_bulk_structure\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":19},{"cell_type":"code","source":"relax_task = wg.add_task(\n calculate_qe,\n # ! I don't like the `mini` name...\n name=\"mini\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":20},{"cell_type":"code","source":"generate_structures_task = wg.add_task(\n generate_structures,\n name=\"generate_structures\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":21},{"cell_type":"code","source":"# here we add the structure outputs based on the number of strains\ndel wg.tasks.generate_structures.outputs[\"result\"]","metadata":{"trusted":false},"outputs":[],"execution_count":22},{"cell_type":"code","source":"scf_qe_tasks = []\nfor i, strain in enumerate(strain_lst):\n generate_structures_task.add_output(\"workgraph.any\", f\"s_{i}\")\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n name=f\"qe_{i}\",\n register_pickle_by_value=True,\n )\n scf_qe_tasks.append(scf_qe_task)","metadata":{"trusted":false},"outputs":[],"execution_count":23},{"cell_type":"code","source":"plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n name=\"plot_energy_volume_curve\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":24},{"cell_type":"code","source":"strain_dir_tasks, scf_get_dict_tasks = [], []\nfor i, strain in enumerate(strain_lst):\n strain_dir = f\"strain_{i}\"\n\n strain_dir_task = wg.add_task(\n pickle_node,\n name=f\"pickle_{strain_dir}_dir\",\n value=strain_dir,\n register_pickle_by_value=True,\n )\n strain_dir_tasks.append(strain_dir_task)\n\n scf_get_dict_task = wg.add_task(\n task.pythonjob()(get_dict),\n name=f\"get_dict_{i}\",\n register_pickle_by_value=True,\n )\n scf_get_dict_tasks.append(scf_get_dict_task)\n\n if i == 0:\n pickle_calc_type_scf_task = wg.add_task(\n pickle_node,\n name=\"calc_type_scf\",\n value=\"scf\",\n )","metadata":{"trusted":false},"outputs":[],"execution_count":25},{"cell_type":"code","source":"get_volumes_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_volumes\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":26},{"cell_type":"code","source":"get_energies_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_energies\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":27},{"cell_type":"code","source":"# Add remaining links\nwg.add_link(\n pickle_element_task.outputs.result, get_bulk_structure_task.inputs.element\n)\nwg.add_link(pickle_a_task.outputs.result, get_bulk_structure_task.inputs.a)\nwg.add_link(pickle_cubic_task.outputs.result, get_bulk_structure_task.inputs.cubic)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"pickle_cubic.result\", to=\"get_bulk_structure.cubic\")"},"execution_count":28,"metadata":{},"output_type":"execute_result"}],"execution_count":28},{"cell_type":"code","source":"# `.set` rather than `.add_link`, as get_dict takes `**kwargs` as input\nrelax_get_dict_task.set(\n {\n \"structure\": get_bulk_structure_task.outputs.result,\n \"calculation\": pickle_calc_type_relax_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n)","metadata":{"trusted":false},"outputs":[],"execution_count":29},{"cell_type":"code","source":"wg.add_link(relax_get_dict_task.outputs.result, relax_task.inputs.input_dict)\nwg.add_link(\n pickle_relax_workdir_task.outputs.result,\n relax_task.inputs.working_directory,\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"pickle_relax_workdir.result\", to=\"mini.working_directory\")"},"execution_count":30,"metadata":{},"output_type":"execute_result"}],"execution_count":30},{"cell_type":"code","source":"wg.add_link(relax_task.outputs.structure, generate_structures_task.inputs.structure)\nwg.add_link(\n strain_lst_task.outputs.result, generate_structures_task.inputs.strain_lst\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"pickle_strain_lst.result\", to=\"generate_structures.strain_lst\")"},"execution_count":31,"metadata":{},"output_type":"execute_result"}],"execution_count":31},{"cell_type":"code","source":"for i, (scf_get_dict_task, scf_qe_task, strain_dir_task) in enumerate(\n list(zip(scf_get_dict_tasks, scf_qe_tasks, strain_dir_tasks))\n):\n scf_get_dict_task.set(\n {\n \"structure\": generate_structures_task.outputs[f\"s_{i}\"],\n \"calculation\": pickle_calc_type_scf_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n )\n wg.add_link(scf_get_dict_task.outputs.result, scf_qe_task.inputs.input_dict)\n wg.add_link(\n strain_dir_task.outputs.result, scf_qe_task.inputs.working_directory\n )\n\n # collect energy and volume\n # wg.add_link(scf_qe_task.outputs.energy, get_energies_task.inputs.kwargs)\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n # wg.add_link(scf_qe_task.outputs.volume, get_volumes_task.inputs.kwargs)\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})","metadata":{"trusted":false},"outputs":[],"execution_count":32},{"cell_type":"code","source":"wg.add_link(\n get_volumes_task.outputs.result,\n plot_energy_volume_curve_task.inputs.volume_lst,\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"get_volumes.result\", to=\"plot_energy_volume_curve.volume_lst\")"},"execution_count":33,"metadata":{},"output_type":"execute_result"}],"execution_count":33},{"cell_type":"code","source":"wg.add_link(\n get_energies_task.outputs.result,\n plot_energy_volume_curve_task.inputs.energy_lst,\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"get_energies.result\", to=\"plot_energy_volume_curve.energy_lst\")"},"execution_count":34,"metadata":{},"output_type":"execute_result"}],"execution_count":34},{"cell_type":"code","source":"_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":false},"outputs":[],"execution_count":35},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[],"execution_count":36},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-21 21:26:20,046 INFO Started executing jobs locally\n2025-03-21 21:26:20,183 INFO Starting job - get_bulk_structure (fabb0d01-2442-4557-bd4e-b5ead7cf98d0)\n2025-03-21 21:26:20,186 INFO Finished job - get_bulk_structure (fabb0d01-2442-4557-bd4e-b5ead7cf98d0)\n2025-03-21 21:26:20,187 INFO Starting job - get_dict (612b1bb6-d593-4435-9b3d-5bb269ad2843)\n2025-03-21 21:26:20,189 INFO Finished job - get_dict (612b1bb6-d593-4435-9b3d-5bb269ad2843)\n2025-03-21 21:26:20,190 INFO Starting job - calculate_qe (f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00221] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:11,297 INFO Finished job - calculate_qe (f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee)\n2025-03-21 21:27:11,299 INFO Starting job - generate_structures (5ad4c3c2-9398-448d-b647-97b367ee2cf5)\n2025-03-21 21:27:11,303 INFO Finished job - generate_structures (5ad4c3c2-9398-448d-b647-97b367ee2cf5)\n2025-03-21 21:27:11,304 INFO Starting job - get_dict (d7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4)\n2025-03-21 21:27:11,305 INFO Finished job - get_dict (d7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4)\n2025-03-21 21:27:11,307 INFO Starting job - get_dict (fb9a4ee5-331f-408d-880d-9cd0d91acf0c)\n2025-03-21 21:27:11,308 INFO Finished job - get_dict (fb9a4ee5-331f-408d-880d-9cd0d91acf0c)\n2025-03-21 21:27:11,309 INFO Starting job - get_dict (12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee)\n2025-03-21 21:27:11,311 INFO Finished job - get_dict (12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee)\n2025-03-21 21:27:11,311 INFO Starting job - get_dict (b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7)\n2025-03-21 21:27:11,313 INFO Finished job - get_dict (b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7)\n2025-03-21 21:27:11,313 INFO Starting job - get_dict (a5cadc37-ee3c-4dad-891d-2953e90e57d5)\n2025-03-21 21:27:11,315 INFO Finished job - get_dict (a5cadc37-ee3c-4dad-891d-2953e90e57d5)\n2025-03-21 21:27:11,365 INFO Starting job - calculate_qe (7f7ed5dd-7756-4185-bc23-3dc77775c365)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00236] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:21,677 INFO Finished job - calculate_qe (7f7ed5dd-7756-4185-bc23-3dc77775c365)\n2025-03-21 21:27:21,678 INFO Starting job - calculate_qe (145ab651-febe-43af-97ef-310d48ce2d71)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00247] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:32,158 INFO Finished job - calculate_qe (145ab651-febe-43af-97ef-310d48ce2d71)\n2025-03-21 21:27:32,159 INFO Starting job - calculate_qe (b2f6f779-980a-4b0e-be32-9fda29034214)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00258] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:44,722 INFO Finished job - calculate_qe (b2f6f779-980a-4b0e-be32-9fda29034214)\n2025-03-21 21:27:44,723 INFO Starting job - calculate_qe (6856f4da-485b-4d5a-852e-ca70b7d333ea)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00269] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:57,827 INFO Finished job - calculate_qe (6856f4da-485b-4d5a-852e-ca70b7d333ea)\n2025-03-21 21:27:57,829 INFO Starting job - calculate_qe (ed56e21c-8b54-40cb-928a-a36f9ca8346d)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00281] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:28:11,262 INFO Finished job - calculate_qe (ed56e21c-8b54-40cb-928a-a36f9ca8346d)\n2025-03-21 21:28:11,264 INFO Starting job - get_list (1533cc3f-f189-40c0-9489-e6249e87f464)\n2025-03-21 21:28:11,267 INFO Finished job - get_list (1533cc3f-f189-40c0-9489-e6249e87f464)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:28:11,268 INFO Starting job - get_list (033d92b6-3b26-4732-9c1e-d29317f562f0)\n2025-03-21 21:28:11,271 INFO Finished job - get_list (033d92b6-3b26-4732-9c1e-d29317f562f0)\n2025-03-21 21:28:11,272 INFO Starting job - plot_energy_volume_curve (25f4b44b-532d-4a35-a8ef-c0faa55091d7)\n2025-03-21 21:28:11,391 INFO Finished job - plot_energy_volume_curve (25f4b44b-532d-4a35-a8ef-c0faa55091d7)\n2025-03-21 21:28:11,392 INFO Finished executing jobs locally\n"},{"data":{"text/plain":"{'fabb0d01-2442-4557-bd4e-b5ead7cf98d0': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '612b1bb6-d593-4435-9b3d-5bb269ad2843': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'vc-relax', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365262253589, 'volume': 66.21567448236458}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '5ad4c3c2-9398-448d-b647-97b367ee2cf5': {1: Response(output={'s_0': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197859621897, 0.0, 0.0], [0.0, 3.9060197859621897, 0.0], [0.0, 0.0, 3.9060197859621897]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.953009892981094, 1.953009892981094], [1.953009892981094, 0.0, 1.953009892981094], [1.953009892981094, 1.953009892981094, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_1': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.977053844318091, 0.0, 0.0], [0.0, 3.977053844318091, 0.0], [0.0, 0.0, 3.977053844318091]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221590447, 1.9885269221590447], [1.9885269221590447, 0.0, 1.9885269221590447], [1.9885269221590447, 1.9885269221590447, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_2': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_3': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282999, 0.0, 0.0], [0.0, 4.111970927282999, 0.0], [0.0, 0.0, 4.111970927282999]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854636414987, 2.0559854636414987], [2.0559854636414987, 0.0, 2.0559854636414987], [2.0559854636414987, 2.0559854636414987, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_4': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372225, 0.0, 0.0], [0.0, 4.176230852372225, 0.0], [0.0, 0.0, 4.176230852372225]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.088115426186111, 2.088115426186111], [2.088115426186111, 0.0, 2.088115426186111], [2.088115426186111, 2.088115426186111, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'd7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197859621897, 0.0, 0.0], [0.0, 3.9060197859621897, 0.0], [0.0, 0.0, 3.9060197859621897]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.953009892981094, 1.953009892981094], [1.953009892981094, 0.0, 1.953009892981094], [1.953009892981094, 1.953009892981094, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'fb9a4ee5-331f-408d-880d-9cd0d91acf0c': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.977053844318091, 0.0, 0.0], [0.0, 3.977053844318091, 0.0], [0.0, 0.0, 3.977053844318091]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221590447, 1.9885269221590447], [1.9885269221590447, 0.0, 1.9885269221590447], [1.9885269221590447, 1.9885269221590447, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282999, 0.0, 0.0], [0.0, 4.111970927282999, 0.0], [0.0, 0.0, 4.111970927282999]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854636414987, 2.0559854636414987], [2.0559854636414987, 0.0, 2.0559854636414987], [2.0559854636414987, 2.0559854636414987, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'a5cadc37-ee3c-4dad-891d-2953e90e57d5': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372225, 0.0, 0.0], [0.0, 4.176230852372225, 0.0], [0.0, 0.0, 4.176230852372225]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.088115426186111, 2.088115426186111], [2.088115426186111, 0.0, 2.088115426186111], [2.088115426186111, 2.088115426186111, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '7f7ed5dd-7756-4185-bc23-3dc77775c365': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197688892253, 0.0, 0.0], [0.0, 3.9060197688892253, 0.0], [0.0, 0.0, 3.9060197688892253]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150658, 'volume': 59.594106252681925}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '145ab651-febe-43af-97ef-310d48ce2d71': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.97705382693464, 0.0, 0.0], [0.0, 3.97705382693464, 0.0], [0.0, 0.0, 3.97705382693464]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269135082746, 1.9885269135082746], [1.9885269135082746, 0.0, 1.9885269135082746], [1.9885269135082746, 1.9885269135082746, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9161488594586, 'volume': 62.90488993338648}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b2f6f779-980a-4b0e-be32-9fda29034214': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637198263656, 0.0, 0.0], [0.0, 4.045637198263656, 0.0], [0.0, 0.0, 4.045637198263656]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668363, 'volume': 66.21567361409089}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '6856f4da-485b-4d5a-852e-ca70b7d333ea': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970909309837, 0.0, 0.0], [0.0, 4.111970909309837, 0.0], [0.0, 0.0, 4.111970909309837]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025807, 'volume': 69.52645729479569}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'ed56e21c-8b54-40cb-928a-a36f9ca8346d': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230834118179, 0.0, 0.0], [0.0, 4.176230834118179, 0.0], [0.0, 0.0, 4.176230834118179]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.08811541707298, 2.08811541707298], [2.08811541707298, 0.0, 2.08811541707298], [2.08811541707298, 2.08811541707298, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693407, 'volume': 72.83724097549984}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '1533cc3f-f189-40c0-9489-e6249e87f464': {1: Response(output=[59.594106252681925, 62.90488993338648, 66.21567361409089, 69.52645729479569, 72.83724097549984], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '033d92b6-3b26-4732-9c1e-d29317f562f0': {1: Response(output=[-1074.8457446150658, -1074.9161488594586, -1074.9365241668363, -1074.9192860025807, -1074.8737904693407], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '25f4b44b-532d-4a35-a8ef-c0faa55091d7': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"execution_count":37,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=","text/plain":"
"},"metadata":{},"output_type":"display_data"}],"execution_count":37},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/aiida_simple.ipynb b/aiida_simple.ipynb new file mode 100644 index 0000000..8c716f2 --- /dev/null +++ b/aiida_simple.ipynb @@ -0,0 +1 @@ +{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Simple Workflow with aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\n\nfrom aiida_workgraph import WorkGraph, task\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_jobflow_simple.json\"","metadata":{"trusted":false},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":2},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":false},"outputs":[],"execution_count":3},{"cell_type":"code","source":"add_x_and_y = task.pythonjob(outputs=[\"x\", \"y\", \"z\"])(_add_x_and_y)\nadd_x_and_y_and_z = task.pythonjob()(_add_x_and_y_and_z)","metadata":{"trusted":false},"outputs":[],"execution_count":4},{"cell_type":"code","source":"# TODO: Create inputs rather than tasks out of data nodes\nwg = WorkGraph(\"wg-simple\")","metadata":{"trusted":false},"outputs":[],"execution_count":5},{"cell_type":"code","source":"helper_task1 = wg.add_task(pickle_node, name=\"x\", value=1)\nhelper_task2 = wg.add_task(pickle_node, name=\"y\", value=2)","metadata":{"trusted":false},"outputs":[],"execution_count":6},{"cell_type":"code","source":"add_x_and_y_task = wg.add_task(\n add_x_and_y,\n name=\"add_x_and_y\",\n x=helper_task1.outputs.result,\n y=helper_task2.outputs.result,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":7},{"cell_type":"code","source":"add_x_and_y_and_z_task = wg.add_task(\n add_x_and_y_and_z,\n name=\"add_x_and_y_and_z\",\n x=add_x_and_y_task.outputs.x,\n y=add_x_and_y_task.outputs.y,\n z=add_x_and_y_task.outputs.z,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":8},{"cell_type":"code","source":"write_workflow_json(wg=wg, file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"{'nodes': {'0': 1,\n '1': 2,\n '2': 'simple_workflow.add_x_and_y',\n '3': 'simple_workflow.add_x_and_y_and_z'},\n 'edges': [{'target': 2,\n 'targetHandle': 'x',\n 'source': 0,\n 'sourceHandle': None},\n {'target': 2, 'targetHandle': 'y', 'source': 1, 'sourceHandle': None},\n {'target': 3, 'targetHandle': 'x', 'source': 2, 'sourceHandle': 'x'},\n {'target': 3, 'targetHandle': 'y', 'source': 2, 'sourceHandle': 'y'},\n {'target': 3, 'targetHandle': 'z', 'source': 2, 'sourceHandle': 'z'}]}"},"execution_count":9,"metadata":{},"output_type":"execute_result"}],"execution_count":9},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[],"execution_count":10},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-21 20:45:40,878 INFO Started executing jobs locally\n2025-03-21 20:45:41,115 INFO Starting job - add_x_and_y (ef28440e-7d32-49d3-85f5-121da0fdf65f)\n2025-03-21 20:45:41,117 INFO Finished job - add_x_and_y (ef28440e-7d32-49d3-85f5-121da0fdf65f)\n2025-03-21 20:45:41,118 INFO Starting job - add_x_and_y_and_z (c0da46a8-a430-4d88-adb6-7d5b36b8fe52)\n2025-03-21 20:45:41,119 INFO Finished job - add_x_and_y_and_z (c0da46a8-a430-4d88-adb6-7d5b36b8fe52)\n2025-03-21 20:45:41,120 INFO Finished executing jobs locally\n"},{"data":{"text/plain":"{'ef28440e-7d32-49d3-85f5-121da0fdf65f': {1: Response(output={'x': 1, 'y': 2, 'z': 3}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'c0da46a8-a430-4d88-adb6-7d5b36b8fe52': {1: Response(output=6, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"execution_count":11,"metadata":{},"output_type":"execute_result"}],"execution_count":11},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":false},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/aiida_to_jobflow_qe.ipynb b/aiida_to_jobflow_qe.ipynb deleted file mode 100644 index 4849069..0000000 --- a/aiida_to_jobflow_qe.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\nfrom python_workflow_definition.jobflow import load_workflow_json\nfrom jobflow.managers.local import run_locally\n\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_pyiron_base_qe.json\"","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"cell_type":"code","source":"from aiida_workgraph import task, WorkGraph\nfrom typing import Any","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"# NOTE: `get_dict` is `get_input_dict`, to compile the input values for the calc tasks\n# NOTE: `add_link` must be from outputs to inputs\nfrom python_workflow_definition.shared import get_dict, get_list","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"from quantum_espresso_workflow import generate_structures as _generate_structures\nfrom quantum_espresso_workflow import get_bulk_structure as _get_bulk_structure\nfrom quantum_espresso_workflow import calculate_qe as _calculate_qe\nfrom quantum_espresso_workflow import plot_energy_volume_curve as _plot_energy_volume_curve","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"strain_lst = [0.9, 0.95, 1.0, 1.05, 1.1]","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"code","source":"get_bulk_structure = task.pythonjob()(_get_bulk_structure)\ngenerate_structures = task.pythonjob()(_generate_structures)\ncalculate_qe = task.pythonjob(outputs=[\"energy\", \"volume\", \"structure\"])(\n _calculate_qe\n)\nplot_energy_volume_curve = task.pythonjob()(_plot_energy_volume_curve)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"wg = WorkGraph(\"wg-qe\")","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"pickle_element_task = wg.add_task(\n pickle_node,\n name=\"pickle_element\",\n value=\"Al\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"cell_type":"code","source":"pickle_a_task = wg.add_task(\n pickle_node, name=\"pickle_a\", value=4.05\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"pickle_cubic_task = wg.add_task(\n pickle_node, name=\"pickle_cubic\", value=True\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"cell_type":"code","source":"pickle_relax_workdir_task = wg.add_task(\n pickle_node,\n name=\"pickle_relax_workdir\",\n value=\"mini\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"cell_type":"code","source":"# ? relax or SCF, or general? -> Should be relax\nrelax_get_dict_task = wg.add_task(\n task.pythonjob(\n # outputs=[\"structure\", \"calculation\", \"kpts\", \"pseudopotentials\", \"smearing\"]\n # outputs=[\"dict\"]\n )(get_dict),\n name=\"relax_get_dict\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"cell_type":"code","source":"pickle_pp_task = wg.add_task(\n pickle_node,\n name=\"pseudopotentials\",\n value={\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"},\n)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"cell_type":"code","source":"pickle_kpts_task = wg.add_task(\n pickle_node, name=\"kpts_task\", value=[3, 3, 3] # FIXME: Back to [3, 3, 3]\n)","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"cell_type":"code","source":"pickle_calc_type_relax_task = wg.add_task(\n pickle_node,\n name=\"calc_type_relax\",\n value=\"vc-relax\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"cell_type":"code","source":"pickle_smearing_task = wg.add_task(\n pickle_node, name=\"smearing\", value=0.02\n)","metadata":{"trusted":true},"outputs":[],"execution_count":17},{"cell_type":"code","source":"strain_lst_task = wg.add_task(\n pickle_node,\n name=\"pickle_strain_lst\",\n value=strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"cell_type":"code","source":"get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n name=\"get_bulk_structure\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":19},{"cell_type":"code","source":"relax_task = wg.add_task(\n calculate_qe,\n # ! I don't like the `mini` name...\n name=\"mini\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":20},{"cell_type":"code","source":"generate_structures_task = wg.add_task(\n generate_structures,\n name=\"generate_structures\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":21},{"cell_type":"code","source":"# here we add the structure outputs based on the number of strains\ndel wg.tasks.generate_structures.outputs[\"result\"]","metadata":{"trusted":true},"outputs":[],"execution_count":22},{"cell_type":"code","source":"scf_qe_tasks = []\nfor i, strain in enumerate(strain_lst):\n generate_structures_task.add_output(\"workgraph.any\", f\"s_{i}\")\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n name=f\"qe_{i}\",\n register_pickle_by_value=True,\n )\n scf_qe_tasks.append(scf_qe_task)","metadata":{"trusted":true},"outputs":[],"execution_count":23},{"cell_type":"code","source":"plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n name=\"plot_energy_volume_curve\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"cell_type":"code","source":"strain_dir_tasks, scf_get_dict_tasks = [], []\nfor i, strain in enumerate(strain_lst):\n strain_dir = f\"strain_{i}\"\n\n strain_dir_task = wg.add_task(\n pickle_node,\n name=f\"pickle_{strain_dir}_dir\",\n value=strain_dir,\n register_pickle_by_value=True,\n )\n strain_dir_tasks.append(strain_dir_task)\n\n scf_get_dict_task = wg.add_task(\n task.pythonjob()(get_dict),\n name=f\"get_dict_{i}\",\n register_pickle_by_value=True,\n )\n scf_get_dict_tasks.append(scf_get_dict_task)\n\n if i == 0:\n pickle_calc_type_scf_task = wg.add_task(\n pickle_node,\n name=\"calc_type_scf\",\n value=\"scf\",\n )","metadata":{"trusted":true},"outputs":[],"execution_count":25},{"cell_type":"code","source":"get_volumes_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_volumes\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":26},{"cell_type":"code","source":"get_energies_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_energies\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":27},{"cell_type":"code","source":"# Add remaining links\nwg.add_link(\n pickle_element_task.outputs.result, get_bulk_structure_task.inputs.element\n)\nwg.add_link(pickle_a_task.outputs.result, get_bulk_structure_task.inputs.a)\nwg.add_link(pickle_cubic_task.outputs.result, get_bulk_structure_task.inputs.cubic)","metadata":{"trusted":true},"outputs":[{"execution_count":28,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_cubic.result\", to=\"get_bulk_structure.cubic\")"},"metadata":{}}],"execution_count":28},{"cell_type":"code","source":"# `.set` rather than `.add_link`, as get_dict takes `**kwargs` as input\nrelax_get_dict_task.set(\n {\n \"structure\": get_bulk_structure_task.outputs.result,\n \"calculation\": pickle_calc_type_relax_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n)","metadata":{"trusted":true},"outputs":[],"execution_count":29},{"cell_type":"code","source":"wg.add_link(relax_get_dict_task.outputs.result, relax_task.inputs.input_dict)\nwg.add_link(\n pickle_relax_workdir_task.outputs.result,\n relax_task.inputs.working_directory,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":30,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_relax_workdir.result\", to=\"mini.working_directory\")"},"metadata":{}}],"execution_count":30},{"cell_type":"code","source":"wg.add_link(relax_task.outputs.structure, generate_structures_task.inputs.structure)\nwg.add_link(\n strain_lst_task.outputs.result, generate_structures_task.inputs.strain_lst\n)","metadata":{"trusted":true},"outputs":[{"execution_count":31,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_strain_lst.result\", to=\"generate_structures.strain_lst\")"},"metadata":{}}],"execution_count":31},{"cell_type":"code","source":"for i, (scf_get_dict_task, scf_qe_task, strain_dir_task) in enumerate(\n list(zip(scf_get_dict_tasks, scf_qe_tasks, strain_dir_tasks))\n):\n scf_get_dict_task.set(\n {\n \"structure\": generate_structures_task.outputs[f\"s_{i}\"],\n \"calculation\": pickle_calc_type_scf_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n )\n wg.add_link(scf_get_dict_task.outputs.result, scf_qe_task.inputs.input_dict)\n wg.add_link(\n strain_dir_task.outputs.result, scf_qe_task.inputs.working_directory\n )\n\n # collect energy and volume\n # wg.add_link(scf_qe_task.outputs.energy, get_energies_task.inputs.kwargs)\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n # wg.add_link(scf_qe_task.outputs.volume, get_volumes_task.inputs.kwargs)\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})","metadata":{"trusted":true},"outputs":[],"execution_count":32},{"cell_type":"code","source":"wg.add_link(\n get_volumes_task.outputs.result,\n plot_energy_volume_curve_task.inputs.volume_lst,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":33,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"get_volumes.result\", to=\"plot_energy_volume_curve.volume_lst\")"},"metadata":{}}],"execution_count":33},{"cell_type":"code","source":"wg.add_link(\n get_energies_task.outputs.result,\n plot_energy_volume_curve_task.inputs.energy_lst,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":34,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"get_energies.result\", to=\"plot_energy_volume_curve.energy_lst\")"},"metadata":{}}],"execution_count":34},{"cell_type":"code","source":"_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":true},"outputs":[],"execution_count":35},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":36},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-21 21:26:20,046 INFO Started executing jobs locally\n2025-03-21 21:26:20,183 INFO Starting job - get_bulk_structure (fabb0d01-2442-4557-bd4e-b5ead7cf98d0)\n2025-03-21 21:26:20,186 INFO Finished job - get_bulk_structure (fabb0d01-2442-4557-bd4e-b5ead7cf98d0)\n2025-03-21 21:26:20,187 INFO Starting job - get_dict (612b1bb6-d593-4435-9b3d-5bb269ad2843)\n2025-03-21 21:26:20,189 INFO Finished job - get_dict (612b1bb6-d593-4435-9b3d-5bb269ad2843)\n2025-03-21 21:26:20,190 INFO Starting job - calculate_qe (f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00221] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:11,297 INFO Finished job - calculate_qe (f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee)\n2025-03-21 21:27:11,299 INFO Starting job - generate_structures (5ad4c3c2-9398-448d-b647-97b367ee2cf5)\n2025-03-21 21:27:11,303 INFO Finished job - generate_structures (5ad4c3c2-9398-448d-b647-97b367ee2cf5)\n2025-03-21 21:27:11,304 INFO Starting job - get_dict (d7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4)\n2025-03-21 21:27:11,305 INFO Finished job - get_dict (d7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4)\n2025-03-21 21:27:11,307 INFO Starting job - get_dict (fb9a4ee5-331f-408d-880d-9cd0d91acf0c)\n2025-03-21 21:27:11,308 INFO Finished job - get_dict (fb9a4ee5-331f-408d-880d-9cd0d91acf0c)\n2025-03-21 21:27:11,309 INFO Starting job - get_dict (12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee)\n2025-03-21 21:27:11,311 INFO Finished job - get_dict (12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee)\n2025-03-21 21:27:11,311 INFO Starting job - get_dict (b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7)\n2025-03-21 21:27:11,313 INFO Finished job - get_dict (b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7)\n2025-03-21 21:27:11,313 INFO Starting job - get_dict (a5cadc37-ee3c-4dad-891d-2953e90e57d5)\n2025-03-21 21:27:11,315 INFO Finished job - get_dict (a5cadc37-ee3c-4dad-891d-2953e90e57d5)\n2025-03-21 21:27:11,365 INFO Starting job - calculate_qe (7f7ed5dd-7756-4185-bc23-3dc77775c365)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00236] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:21,677 INFO Finished job - calculate_qe (7f7ed5dd-7756-4185-bc23-3dc77775c365)\n2025-03-21 21:27:21,678 INFO Starting job - calculate_qe (145ab651-febe-43af-97ef-310d48ce2d71)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00247] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:32,158 INFO Finished job - calculate_qe (145ab651-febe-43af-97ef-310d48ce2d71)\n2025-03-21 21:27:32,159 INFO Starting job - calculate_qe (b2f6f779-980a-4b0e-be32-9fda29034214)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00258] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:44,722 INFO Finished job - calculate_qe (b2f6f779-980a-4b0e-be32-9fda29034214)\n2025-03-21 21:27:44,723 INFO Starting job - calculate_qe (6856f4da-485b-4d5a-852e-ca70b7d333ea)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00269] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:57,827 INFO Finished job - calculate_qe (6856f4da-485b-4d5a-852e-ca70b7d333ea)\n2025-03-21 21:27:57,829 INFO Starting job - calculate_qe (ed56e21c-8b54-40cb-928a-a36f9ca8346d)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00281] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:28:11,262 INFO Finished job - calculate_qe (ed56e21c-8b54-40cb-928a-a36f9ca8346d)\n2025-03-21 21:28:11,264 INFO Starting job - get_list (1533cc3f-f189-40c0-9489-e6249e87f464)\n2025-03-21 21:28:11,267 INFO Finished job - get_list (1533cc3f-f189-40c0-9489-e6249e87f464)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:28:11,268 INFO Starting job - get_list (033d92b6-3b26-4732-9c1e-d29317f562f0)\n2025-03-21 21:28:11,271 INFO Finished job - get_list (033d92b6-3b26-4732-9c1e-d29317f562f0)\n2025-03-21 21:28:11,272 INFO Starting job - plot_energy_volume_curve (25f4b44b-532d-4a35-a8ef-c0faa55091d7)\n2025-03-21 21:28:11,391 INFO Finished job - plot_energy_volume_curve (25f4b44b-532d-4a35-a8ef-c0faa55091d7)\n2025-03-21 21:28:11,392 INFO Finished executing jobs locally\n"},{"execution_count":37,"output_type":"execute_result","data":{"text/plain":"{'fabb0d01-2442-4557-bd4e-b5ead7cf98d0': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '612b1bb6-d593-4435-9b3d-5bb269ad2843': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'vc-relax', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365262253589, 'volume': 66.21567448236458}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '5ad4c3c2-9398-448d-b647-97b367ee2cf5': {1: Response(output={'s_0': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197859621897, 0.0, 0.0], [0.0, 3.9060197859621897, 0.0], [0.0, 0.0, 3.9060197859621897]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.953009892981094, 1.953009892981094], [1.953009892981094, 0.0, 1.953009892981094], [1.953009892981094, 1.953009892981094, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_1': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.977053844318091, 0.0, 0.0], [0.0, 3.977053844318091, 0.0], [0.0, 0.0, 3.977053844318091]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221590447, 1.9885269221590447], [1.9885269221590447, 0.0, 1.9885269221590447], [1.9885269221590447, 1.9885269221590447, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_2': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_3': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282999, 0.0, 0.0], [0.0, 4.111970927282999, 0.0], [0.0, 0.0, 4.111970927282999]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854636414987, 2.0559854636414987], [2.0559854636414987, 0.0, 2.0559854636414987], [2.0559854636414987, 2.0559854636414987, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_4': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372225, 0.0, 0.0], [0.0, 4.176230852372225, 0.0], [0.0, 0.0, 4.176230852372225]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.088115426186111, 2.088115426186111], [2.088115426186111, 0.0, 2.088115426186111], [2.088115426186111, 2.088115426186111, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'd7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197859621897, 0.0, 0.0], [0.0, 3.9060197859621897, 0.0], [0.0, 0.0, 3.9060197859621897]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.953009892981094, 1.953009892981094], [1.953009892981094, 0.0, 1.953009892981094], [1.953009892981094, 1.953009892981094, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'fb9a4ee5-331f-408d-880d-9cd0d91acf0c': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.977053844318091, 0.0, 0.0], [0.0, 3.977053844318091, 0.0], [0.0, 0.0, 3.977053844318091]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221590447, 1.9885269221590447], [1.9885269221590447, 0.0, 1.9885269221590447], [1.9885269221590447, 1.9885269221590447, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282999, 0.0, 0.0], [0.0, 4.111970927282999, 0.0], [0.0, 0.0, 4.111970927282999]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854636414987, 2.0559854636414987], [2.0559854636414987, 0.0, 2.0559854636414987], [2.0559854636414987, 2.0559854636414987, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'a5cadc37-ee3c-4dad-891d-2953e90e57d5': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372225, 0.0, 0.0], [0.0, 4.176230852372225, 0.0], [0.0, 0.0, 4.176230852372225]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.088115426186111, 2.088115426186111], [2.088115426186111, 0.0, 2.088115426186111], [2.088115426186111, 2.088115426186111, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '7f7ed5dd-7756-4185-bc23-3dc77775c365': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197688892253, 0.0, 0.0], [0.0, 3.9060197688892253, 0.0], [0.0, 0.0, 3.9060197688892253]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150658, 'volume': 59.594106252681925}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '145ab651-febe-43af-97ef-310d48ce2d71': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.97705382693464, 0.0, 0.0], [0.0, 3.97705382693464, 0.0], [0.0, 0.0, 3.97705382693464]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269135082746, 1.9885269135082746], [1.9885269135082746, 0.0, 1.9885269135082746], [1.9885269135082746, 1.9885269135082746, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9161488594586, 'volume': 62.90488993338648}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b2f6f779-980a-4b0e-be32-9fda29034214': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637198263656, 0.0, 0.0], [0.0, 4.045637198263656, 0.0], [0.0, 0.0, 4.045637198263656]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668363, 'volume': 66.21567361409089}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '6856f4da-485b-4d5a-852e-ca70b7d333ea': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970909309837, 0.0, 0.0], [0.0, 4.111970909309837, 0.0], [0.0, 0.0, 4.111970909309837]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025807, 'volume': 69.52645729479569}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'ed56e21c-8b54-40cb-928a-a36f9ca8346d': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230834118179, 0.0, 0.0], [0.0, 4.176230834118179, 0.0], [0.0, 0.0, 4.176230834118179]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.08811541707298, 2.08811541707298], [2.08811541707298, 0.0, 2.08811541707298], [2.08811541707298, 2.08811541707298, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693407, 'volume': 72.83724097549984}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '1533cc3f-f189-40c0-9489-e6249e87f464': {1: Response(output=[59.594106252681925, 62.90488993338648, 66.21567361409089, 69.52645729479569, 72.83724097549984], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '033d92b6-3b26-4732-9c1e-d29317f562f0': {1: Response(output=[-1074.8457446150658, -1074.9161488594586, -1074.9365241668363, -1074.9192860025807, -1074.8737904693407], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '25f4b44b-532d-4a35-a8ef-c0faa55091d7': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlB5aSksJtt91G8+bN8fT0pFu3bmzcuLH8+4ZhMGPGDIKCgmjUqBEDBw5kx44dJiauXVUdj6KiIh599FE6d+6Ml5cXQUFBTJgwgdTUVJNT165z/Y780d13343FYuGNN96wb0g7Op/jER8fz+jRo7FarTRp0oS+ffty4MABkxLXrnMdj5MnTzJlyhSCg4Np1KgRERERvPvuuyYmrj1hYWFYLJYzHn//+9+Bhvd5WtXxaIifpypLDurEiRNcdtlluLq68tNPP7Fz505effVVfHx8yrd56aWXeO2115g9ezbr168nMDCQwYMHl9+epT451/HIy8tj06ZNPPnkk2zatImFCxeSmJjI6NGjzQ1ei87nd6TMN998w9q1awkKCrJ/UDs5n+OxZ88e+vfvT3h4OCtWrGDLli08+eSTeHh4mBe8lpzP8Zg6dSoxMTF89tlnxMfHM3XqVO69916+/fZb84LXkvXr15OWllb+WLJkCQDjxo0DGtbnKVR9PBri5ymGOKRHH33U6N+//1m/b7PZjMDAQGPWrFnlz+Xn5xtWq9V477337BHRrs51PCqzbt06AzD2799fS6nMdb7H5NChQ0bLli2N7du3G6Ghocbrr79e++FMcD7HY/z48cZtt91mp0TmOp/j0bFjR+OZZ56p8FyPHj2MJ554ojaj1Qn333+/cckllxg2m63BfZ5W5o/HozL1/fNUI0sOavHixfTq1Ytx48bh7+9P9+7d+eCDD8q/v2/fPtLT08tvPAyla2MMGDCA1atXmxG5Vp3reFQmKysLi8VS6UhLfXA+x8RmsxEdHc20adPo2LGjSUnt41zHw2az8cMPP9C+fXuGDh2Kv78/ffr04ZtvvjEvdC06n9+P/v37s3jxYlJSUjAMg+XLl5OYmMjQoUNNSm0fhYWFfPbZZ9xxxx1YLJYG93n6Z38+HpWp75+nGllyUO7u7oa7u7sxffp0Y9OmTcZ7771neHh4GB9//LFhGIaxatUqAzBSUlIq7Dd58mRjyJAhZkSuVec6Hn926tQpo2fPnsatt95q56T2cz7H5IUXXjAGDx5c/q/F+jyydK7jkZaWZgCGp6en8dprrxmbN282Zs6caVgsFmPFihUmp6955/P7UVBQYEyYMMEADBcXF8PNzc345JNPTExtH1999ZXh7Oxc/vnZ0D5P/+zPx+PPGsLnqcqSg3J1dTWioqIqPHfvvfcaffv2NQzjf//jTk1NrbDNXXfdZQwdOtRuOe3lXMfjjwoLC41rr73W6N69u5GVlWWviHZ3rmOyYcMGIyAgoMIHYH0uS+c6HikpKQZg3HzzzRW2GTVqlHHTTTfZLae9nM//Zl5++WWjffv2xuLFi40tW7YYb731ltG4cWNjyZIl9o5rV0OGDDFGjhxZ/nVD+zz9sz8fjz9qKJ+nmoZzUC1atCAyMrLCcxEREeVX7QQGBgKQnp5eYZvDhw8TEBBgn5B2dK7jUaaoqIgbb7yRffv2sWTJknpxx+yzOdcx+f333zl8+DCtWrXCxcUFFxcX9u/fz0MPPURYWJgJiWvXuY6Hr68vLi4u5/V7VB+c63icOnWKxx9/nNdee41Ro0bRpUsXpkyZwvjx43nllVfMiGwX+/fvZ+nSpdx1113lzzW0z9M/qux4lGlIn6cqSw7qsssuIyEhocJziYmJhIaGAtC6dWsCAwPLr2CA0nnn3377jX79+tk1qz2c63jA//6HnZSUxNKlS2nevLm9Y9rVuY5JdHQ0W7duJS4urvwRFBTEtGnT+Pnnn82IXKvOdTzc3Ny49NJLz/l7VF+c63gUFRVRVFSEk1PFPxPOzs7YbDa75bS3OXPm4O/vz4gRI8qfa2ifp39U2fGAhvd5qmk4B7Vu3TrDxcXFeP75542kpCTj888/Nzw9PY3PPvusfJtZs2YZVqvVWLhwobFt2zbj5ptvNlq0aGFkZ2ebmLx2nOt4FBUVGaNHjzaCg4ONuLg4Iy0trfxRUFBgcvracT6/I39Wn6fhzud4LFy40HB1dTX+9a9/GUlJScZbb71lODs7G7///ruJyWvH+RyPAQMGGB07djSWL19u7N2715gzZ47h4eFhvPPOOyYmrz0lJSVGq1atjEcfffSM7zWkz9MyZzseDfHzVGXJgX333XdGp06dDHd3dyM8PNz417/+VeH7NpvNePrpp43AwEDD3d3duOKKK4xt27aZlLb2VXU89u3bZwCVPpYvX25e6Fp2rt+RP6vPZckwzu94fPjhh0bbtm0NDw8Po2vXrsY333xjQlL7ONfxSEtLMyZOnGgEBQUZHh4eRocOHYxXX331rJePO7qff/7ZAIyEhIQzvtfQPk8N4+zHoyF+nloMwzDMGNESERERcQQ6Z0lERESkCipLIiIiIlVQWRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":37}]} \ No newline at end of file diff --git a/aiida_to_jobflow_simple.ipynb b/aiida_to_jobflow_simple.ipynb deleted file mode 100644 index 36e7240..0000000 --- a/aiida_to_jobflow_simple.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3 (ipykernel)","language":"python"},"language_info":{"name":"python","version":"3.12.8","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\nfrom python_workflow_definition.jobflow import load_workflow_json\nfrom jobflow.managers.local import run_locally\n\nfrom aiida_workgraph import WorkGraph, task\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_jobflow_simple.json\"","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"add_x_and_y = task.pythonjob(outputs=[\"x\", \"y\", \"z\"])(_add_x_and_y)\nadd_x_and_y_and_z = task.pythonjob()(_add_x_and_y_and_z)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"# TODO: Create inputs rather than tasks out of data nodes\nwg = WorkGraph(\"wg-simple\")","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"helper_task1 = wg.add_task(pickle_node, name=\"x\", value=1)\nhelper_task2 = wg.add_task(pickle_node, name=\"y\", value=2)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"code","source":"add_x_and_y_task = wg.add_task(\n add_x_and_y,\n name=\"add_x_and_y\",\n x=helper_task1.outputs.result,\n y=helper_task2.outputs.result,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"add_x_and_y_and_z_task = wg.add_task(\n add_x_and_y_and_z,\n name=\"add_x_and_y_and_z\",\n x=add_x_and_y_task.outputs.x,\n y=add_x_and_y_task.outputs.y,\n z=add_x_and_y_task.outputs.z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"write_workflow_json(wg=wg, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":"{'nodes': {'0': 1,\n '1': 2,\n '2': 'simple_workflow.add_x_and_y',\n '3': 'simple_workflow.add_x_and_y_and_z'},\n 'edges': [{'target': 2,\n 'targetHandle': 'x',\n 'source': 0,\n 'sourceHandle': None},\n {'target': 2, 'targetHandle': 'y', 'source': 1, 'sourceHandle': None},\n {'target': 3, 'targetHandle': 'x', 'source': 2, 'sourceHandle': 'x'},\n {'target': 3, 'targetHandle': 'y', 'source': 2, 'sourceHandle': 'y'},\n {'target': 3, 'targetHandle': 'z', 'source': 2, 'sourceHandle': 'z'}]}"},"metadata":{}}],"execution_count":9},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-21 20:45:40,878 INFO Started executing jobs locally\n2025-03-21 20:45:41,115 INFO Starting job - add_x_and_y (ef28440e-7d32-49d3-85f5-121da0fdf65f)\n2025-03-21 20:45:41,117 INFO Finished job - add_x_and_y (ef28440e-7d32-49d3-85f5-121da0fdf65f)\n2025-03-21 20:45:41,118 INFO Starting job - add_x_and_y_and_z (c0da46a8-a430-4d88-adb6-7d5b36b8fe52)\n2025-03-21 20:45:41,119 INFO Finished job - add_x_and_y_and_z (c0da46a8-a430-4d88-adb6-7d5b36b8fe52)\n2025-03-21 20:45:41,120 INFO Finished executing jobs locally\n"},{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"{'ef28440e-7d32-49d3-85f5-121da0fdf65f': {1: Response(output={'x': 1, 'y': 2, 'z': 3}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'c0da46a8-a430-4d88-adb6-7d5b36b8fe52': {1: Response(output=6, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"metadata":{}}],"execution_count":11}]} \ No newline at end of file diff --git a/aiida_to_pyiron_base_qe.ipynb b/aiida_to_pyiron_base_qe.ipynb deleted file mode 100644 index b53733c..0000000 --- a/aiida_to_pyiron_base_qe.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3 (ipykernel)","language":"python"},"language_info":{"name":"python","version":"3.12.8","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\nfrom python_workflow_definition.pyiron_base import load_workflow_json\nfrom pyiron_base import Project\n\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_pyiron_base_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from aiida_workgraph import task, WorkGraph\nfrom typing import Any","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"# NOTE: `get_dict` is `get_input_dict`, to compile the input values for the calc tasks\n# NOTE: `add_link` must be from outputs to inputs\nfrom python_workflow_definition.shared import get_dict, get_list","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"from quantum_espresso_workflow import generate_structures as _generate_structures\nfrom quantum_espresso_workflow import get_bulk_structure as _get_bulk_structure\nfrom quantum_espresso_workflow import calculate_qe as _calculate_qe\nfrom quantum_espresso_workflow import plot_energy_volume_curve as _plot_energy_volume_curve","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"strain_lst = [0.9, 0.95, 1.0, 1.05, 1.1]","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"code","source":"get_bulk_structure = task.pythonjob()(_get_bulk_structure)\ngenerate_structures = task.pythonjob()(_generate_structures)\ncalculate_qe = task.pythonjob(outputs=[\"energy\", \"volume\", \"structure\"])(\n _calculate_qe\n)\nplot_energy_volume_curve = task.pythonjob()(_plot_energy_volume_curve)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"wg = WorkGraph(\"wg-qe\")","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"pickle_element_task = wg.add_task(\n pickle_node,\n name=\"pickle_element\",\n value=\"Al\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"cell_type":"code","source":"pickle_a_task = wg.add_task(\n pickle_node, name=\"pickle_a\", value=4.05\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"pickle_cubic_task = wg.add_task(\n pickle_node, name=\"pickle_cubic\", value=True\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"cell_type":"code","source":"pickle_relax_workdir_task = wg.add_task(\n pickle_node,\n name=\"pickle_relax_workdir\",\n value=\"mini\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"cell_type":"code","source":"# ? relax or SCF, or general? -> Should be relax\nrelax_get_dict_task = wg.add_task(\n task.pythonjob(\n # outputs=[\"structure\", \"calculation\", \"kpts\", \"pseudopotentials\", \"smearing\"]\n # outputs=[\"dict\"]\n )(get_dict),\n name=\"relax_get_dict\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"cell_type":"code","source":"pickle_pp_task = wg.add_task(\n pickle_node,\n name=\"pseudopotentials\",\n value={\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"},\n)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"cell_type":"code","source":"pickle_kpts_task = wg.add_task(\n pickle_node, name=\"kpts_task\", value=[3, 3, 3] # FIXME: Back to [3, 3, 3]\n)","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"cell_type":"code","source":"pickle_calc_type_relax_task = wg.add_task(\n pickle_node,\n name=\"calc_type_relax\",\n value=\"vc-relax\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"cell_type":"code","source":"pickle_smearing_task = wg.add_task(\n pickle_node, name=\"smearing\", value=0.02\n)","metadata":{"trusted":true},"outputs":[],"execution_count":17},{"cell_type":"code","source":"strain_lst_task = wg.add_task(\n pickle_node,\n name=\"pickle_strain_lst\",\n value=strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"cell_type":"code","source":"get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n name=\"get_bulk_structure\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":19},{"cell_type":"code","source":"relax_task = wg.add_task(\n calculate_qe,\n # ! I don't like the `mini` name...\n name=\"mini\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":20},{"cell_type":"code","source":"generate_structures_task = wg.add_task(\n generate_structures,\n name=\"generate_structures\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":21},{"cell_type":"code","source":"# here we add the structure outputs based on the number of strains\ndel wg.tasks.generate_structures.outputs[\"result\"]","metadata":{"trusted":true},"outputs":[],"execution_count":22},{"cell_type":"code","source":"scf_qe_tasks = []\nfor i, strain in enumerate(strain_lst):\n generate_structures_task.add_output(\"workgraph.any\", f\"s_{i}\")\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n name=f\"qe_{i}\",\n register_pickle_by_value=True,\n )\n scf_qe_tasks.append(scf_qe_task)","metadata":{"trusted":true},"outputs":[],"execution_count":23},{"cell_type":"code","source":"plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n name=\"plot_energy_volume_curve\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"cell_type":"code","source":"strain_dir_tasks, scf_get_dict_tasks = [], []\nfor i, strain in enumerate(strain_lst):\n strain_dir = f\"strain_{i}\"\n\n strain_dir_task = wg.add_task(\n pickle_node,\n name=f\"pickle_{strain_dir}_dir\",\n value=strain_dir,\n register_pickle_by_value=True,\n )\n strain_dir_tasks.append(strain_dir_task)\n\n scf_get_dict_task = wg.add_task(\n task.pythonjob()(get_dict),\n name=f\"get_dict_{i}\",\n register_pickle_by_value=True,\n )\n scf_get_dict_tasks.append(scf_get_dict_task)\n\n if i == 0:\n pickle_calc_type_scf_task = wg.add_task(\n pickle_node,\n name=\"calc_type_scf\",\n value=\"scf\",\n )","metadata":{"trusted":true},"outputs":[],"execution_count":25},{"cell_type":"code","source":"get_volumes_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_volumes\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":26},{"cell_type":"code","source":"get_energies_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_energies\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":27},{"cell_type":"code","source":"# Add remaining links\nwg.add_link(\n pickle_element_task.outputs.result, get_bulk_structure_task.inputs.element\n)\nwg.add_link(pickle_a_task.outputs.result, get_bulk_structure_task.inputs.a)\nwg.add_link(pickle_cubic_task.outputs.result, get_bulk_structure_task.inputs.cubic)","metadata":{"trusted":true},"outputs":[{"execution_count":28,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_cubic.result\", to=\"get_bulk_structure.cubic\")"},"metadata":{}}],"execution_count":28},{"cell_type":"code","source":"# `.set` rather than `.add_link`, as get_dict takes `**kwargs` as input\nrelax_get_dict_task.set(\n {\n \"structure\": get_bulk_structure_task.outputs.result,\n \"calculation\": pickle_calc_type_relax_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n)","metadata":{"trusted":true},"outputs":[],"execution_count":29},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"wg.add_link(relax_get_dict_task.outputs.result, relax_task.inputs.input_dict)\nwg.add_link(\n pickle_relax_workdir_task.outputs.result,\n relax_task.inputs.working_directory,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":30,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_relax_workdir.result\", to=\"mini.working_directory\")"},"metadata":{}}],"execution_count":30},{"cell_type":"code","source":"wg.add_link(relax_task.outputs.structure, generate_structures_task.inputs.structure)\nwg.add_link(\n strain_lst_task.outputs.result, generate_structures_task.inputs.strain_lst\n)","metadata":{"trusted":true},"outputs":[{"execution_count":31,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_strain_lst.result\", to=\"generate_structures.strain_lst\")"},"metadata":{}}],"execution_count":31},{"cell_type":"code","source":"for i, (scf_get_dict_task, scf_qe_task, strain_dir_task) in enumerate(\n list(zip(scf_get_dict_tasks, scf_qe_tasks, strain_dir_tasks))\n):\n scf_get_dict_task.set(\n {\n \"structure\": generate_structures_task.outputs[f\"s_{i}\"],\n \"calculation\": pickle_calc_type_scf_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n )\n wg.add_link(scf_get_dict_task.outputs.result, scf_qe_task.inputs.input_dict)\n wg.add_link(\n strain_dir_task.outputs.result, scf_qe_task.inputs.working_directory\n )\n\n # collect energy and volume\n # wg.add_link(scf_qe_task.outputs.energy, get_energies_task.inputs.kwargs)\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n # wg.add_link(scf_qe_task.outputs.volume, get_volumes_task.inputs.kwargs)\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})","metadata":{"trusted":true},"outputs":[],"execution_count":32},{"cell_type":"code","source":"wg.add_link(\n get_volumes_task.outputs.result,\n plot_energy_volume_curve_task.inputs.volume_lst,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":33,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"get_volumes.result\", to=\"plot_energy_volume_curve.volume_lst\")"},"metadata":{}}],"execution_count":33},{"cell_type":"code","source":"wg.add_link(\n get_energies_task.outputs.result,\n plot_energy_volume_curve_task.inputs.energy_lst,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":34,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"get_energies.result\", to=\"plot_energy_volume_curve.energy_lst\")"},"metadata":{}}],"execution_count":34},{"cell_type":"code","source":"_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":true},"outputs":[],"execution_count":35},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)\ndelayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"0it [00:00, ?it/s]","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"03df3f64020f45d3bc3a82639d9a9c8a"}},"metadata":{}}],"execution_count":36},{"cell_type":"code","source":"delayed_object.draw()\n","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_fcd8fcdc89b69afab330ef8968f8ba88\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9cb740>\n\n\n\nvolume_lst_156840dbe97e5f6066213571cdc12647\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9cb3e0>\n\n\n\nvolume_lst_156840dbe97e5f6066213571cdc12647->create_function_job_fcd8fcdc89b69afab330ef8968f8ba88\n\n\n\n\n\n0_7cde3aa2bb39828b5b154dfa93b17df8\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9cadb0>\n\n\n\n0_7cde3aa2bb39828b5b154dfa93b17df8->volume_lst_156840dbe97e5f6066213571cdc12647\n\n\n\n\n\ninput_dict_9f1eb324ee1200169a52ccf48f4e03c5\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca450>\n\n\n\ninput_dict_9f1eb324ee1200169a52ccf48f4e03c5->0_7cde3aa2bb39828b5b154dfa93b17df8\n\n\n\n\n\n0_27ba9ca33868eec9f240e296f25d2bf5\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca780>\n\n\n\ninput_dict_9f1eb324ee1200169a52ccf48f4e03c5->0_27ba9ca33868eec9f240e296f25d2bf5\n\n\n\n\n\nenergy_lst_a351e70573369fad8fd0689ccf95a3c9\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9cb290>\n\n\n\n0_27ba9ca33868eec9f240e296f25d2bf5->energy_lst_a351e70573369fad8fd0689ccf95a3c9\n\n\n\n\n\nstructure_688acb81d323e1e5208535179f2f7e79\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c9460>\n\n\n\nstructure_688acb81d323e1e5208535179f2f7e79->input_dict_9f1eb324ee1200169a52ccf48f4e03c5\n\n\n\n\n\nstructure_58e2123ded099e38e365d9d2c3108367\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c8440>\n\n\n\nstructure_58e2123ded099e38e365d9d2c3108367->structure_688acb81d323e1e5208535179f2f7e79\n\n\n\n\n\nstructure_0d47d331360e24bcf6b3f0f7040193f5\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c9100>\n\n\n\nstructure_58e2123ded099e38e365d9d2c3108367->structure_0d47d331360e24bcf6b3f0f7040193f5\n\n\n\n\n\nstructure_a0dc16678d79e4bbce66124f05af2b31\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c8dd0>\n\n\n\nstructure_58e2123ded099e38e365d9d2c3108367->structure_a0dc16678d79e4bbce66124f05af2b31\n\n\n\n\n\nstructure_638d2f7bdb962fde50699a9c9bf4f64e\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c8aa0>\n\n\n\nstructure_58e2123ded099e38e365d9d2c3108367->structure_638d2f7bdb962fde50699a9c9bf4f64e\n\n\n\n\n\nstructure_dd7843a681b0e60589aee6ac322ecfd6\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c8770>\n\n\n\nstructure_58e2123ded099e38e365d9d2c3108367->structure_dd7843a681b0e60589aee6ac322ecfd6\n\n\n\n\n\ninput_dict_72c62c23520600b58298a014a8392d82\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca120>\n\n\n\nstructure_0d47d331360e24bcf6b3f0f7040193f5->input_dict_72c62c23520600b58298a014a8392d82\n\n\n\n\n\ninput_dict_2daac2b89f0cbe2afa9e13680d7310c0\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c9df0>\n\n\n\nstructure_a0dc16678d79e4bbce66124f05af2b31->input_dict_2daac2b89f0cbe2afa9e13680d7310c0\n\n\n\n\n\ninput_dict_e00b47e8ee21ba8ea677ac6e77856557\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c9ac0>\n\n\n\nstructure_638d2f7bdb962fde50699a9c9bf4f64e->input_dict_e00b47e8ee21ba8ea677ac6e77856557\n\n\n\n\n\ninput_dict_1e5c74531c5d758e792761650a77a978\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9c9790>\n\n\n\nstructure_dd7843a681b0e60589aee6ac322ecfd6->input_dict_1e5c74531c5d758e792761650a77a978\n\n\n\n\n\ninput_dict_5833d3563fbb118187c208d2dea8bad2\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef96be60>\n\n\n\ninput_dict_5833d3563fbb118187c208d2dea8bad2->structure_58e2123ded099e38e365d9d2c3108367\n\n\n\n\n\nstructure_2598506a768b28e8d82621579e1e670b\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef96ac30>\n\n\n\nstructure_2598506a768b28e8d82621579e1e670b->input_dict_5833d3563fbb118187c208d2dea8bad2\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_2598506a768b28e8d82621579e1e670b\n\n\n\n\n\na_aea0574e321c6f75f923c059730e9537\n\na=4.05\n\n\n\na_aea0574e321c6f75f923c059730e9537->structure_2598506a768b28e8d82621579e1e670b\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_2598506a768b28e8d82621579e1e670b\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_5833d3563fbb118187c208d2dea8bad2\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_9f1eb324ee1200169a52ccf48f4e03c5\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_5833d3563fbb118187c208d2dea8bad2\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_72c62c23520600b58298a014a8392d82\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_2daac2b89f0cbe2afa9e13680d7310c0\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_e00b47e8ee21ba8ea677ac6e77856557\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_1e5c74531c5d758e792761650a77a978\n\n\n\n\n\n1_aa1347fdf985eea68011f244b6452284\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9cad80>\n\n\n\ninput_dict_72c62c23520600b58298a014a8392d82->1_aa1347fdf985eea68011f244b6452284\n\n\n\n\n\n1_ebc72f1e15a7fd582d2ab255d76e37e7\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca750>\n\n\n\ninput_dict_72c62c23520600b58298a014a8392d82->1_ebc72f1e15a7fd582d2ab255d76e37e7\n\n\n\n\n\n2_c32c324143ca0cdf6a33ba7a82f43283\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9caba0>\n\n\n\ninput_dict_2daac2b89f0cbe2afa9e13680d7310c0->2_c32c324143ca0cdf6a33ba7a82f43283\n\n\n\n\n\n2_a8bf2595eb69ade530568c387db38e38\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca5a0>\n\n\n\ninput_dict_2daac2b89f0cbe2afa9e13680d7310c0->2_a8bf2595eb69ade530568c387db38e38\n\n\n\n\n\n3_df40f366cd91aab14140d0cf9970c4e3\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9caed0>\n\n\n\ninput_dict_e00b47e8ee21ba8ea677ac6e77856557->3_df40f366cd91aab14140d0cf9970c4e3\n\n\n\n\n\n3_ea56c46b45b4491d4943b7793ed7799f\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca8a0>\n\n\n\ninput_dict_e00b47e8ee21ba8ea677ac6e77856557->3_ea56c46b45b4491d4943b7793ed7799f\n\n\n\n\n\n4_817cad9f45654904c6817f42dff5b612\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9cafc0>\n\n\n\ninput_dict_1e5c74531c5d758e792761650a77a978->4_817cad9f45654904c6817f42dff5b612\n\n\n\n\n\n4_0ce2bb658e04b560cb30e5eb419f57e4\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x71f6ef9ca990>\n\n\n\ninput_dict_1e5c74531c5d758e792761650a77a978->4_0ce2bb658e04b560cb30e5eb419f57e4\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_9f1eb324ee1200169a52ccf48f4e03c5\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_5833d3563fbb118187c208d2dea8bad2\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_72c62c23520600b58298a014a8392d82\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_2daac2b89f0cbe2afa9e13680d7310c0\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_e00b47e8ee21ba8ea677ac6e77856557\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_1e5c74531c5d758e792761650a77a978\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_9f1eb324ee1200169a52ccf48f4e03c5\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_5833d3563fbb118187c208d2dea8bad2\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_72c62c23520600b58298a014a8392d82\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_2daac2b89f0cbe2afa9e13680d7310c0\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_e00b47e8ee21ba8ea677ac6e77856557\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_1e5c74531c5d758e792761650a77a978\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_58e2123ded099e38e365d9d2c3108367\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781\n\nstrain_lst=[0.9, 0.95, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_688acb81d323e1e5208535179f2f7e79\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_0d47d331360e24bcf6b3f0f7040193f5\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_a0dc16678d79e4bbce66124f05af2b31\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_638d2f7bdb962fde50699a9c9bf4f64e\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_dd7843a681b0e60589aee6ac322ecfd6\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_9f1eb324ee1200169a52ccf48f4e03c5\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_72c62c23520600b58298a014a8392d82\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_2daac2b89f0cbe2afa9e13680d7310c0\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_e00b47e8ee21ba8ea677ac6e77856557\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_1e5c74531c5d758e792761650a77a978\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_7cde3aa2bb39828b5b154dfa93b17df8\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_27ba9ca33868eec9f240e296f25d2bf5\n\n\n\n\n\n1_aa1347fdf985eea68011f244b6452284->volume_lst_156840dbe97e5f6066213571cdc12647\n\n\n\n\n\n1_ebc72f1e15a7fd582d2ab255d76e37e7->energy_lst_a351e70573369fad8fd0689ccf95a3c9\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_aa1347fdf985eea68011f244b6452284\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_ebc72f1e15a7fd582d2ab255d76e37e7\n\n\n\n\n\n2_c32c324143ca0cdf6a33ba7a82f43283->volume_lst_156840dbe97e5f6066213571cdc12647\n\n\n\n\n\n2_a8bf2595eb69ade530568c387db38e38->energy_lst_a351e70573369fad8fd0689ccf95a3c9\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_c32c324143ca0cdf6a33ba7a82f43283\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_a8bf2595eb69ade530568c387db38e38\n\n\n\n\n\n3_df40f366cd91aab14140d0cf9970c4e3->volume_lst_156840dbe97e5f6066213571cdc12647\n\n\n\n\n\n3_ea56c46b45b4491d4943b7793ed7799f->energy_lst_a351e70573369fad8fd0689ccf95a3c9\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_df40f366cd91aab14140d0cf9970c4e3\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_ea56c46b45b4491d4943b7793ed7799f\n\n\n\n\n\n4_817cad9f45654904c6817f42dff5b612->volume_lst_156840dbe97e5f6066213571cdc12647\n\n\n\n\n\n4_0ce2bb658e04b560cb30e5eb419f57e4->energy_lst_a351e70573369fad8fd0689ccf95a3c9\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_817cad9f45654904c6817f42dff5b612\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_0ce2bb658e04b560cb30e5eb419f57e4\n\n\n\n\n\nenergy_lst_a351e70573369fad8fd0689ccf95a3c9->create_function_job_fcd8fcdc89b69afab330ef8968f8ba88\n\n\n\n\n"},"metadata":{}}],"execution_count":37},{"cell_type":"code","source":"\ndelayed_object.pull()\n","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job get_bulk_structure_f1e730ed97e30e5439e855d2ac41396f was saved and received the ID: 1\nThe job get_dict_20400c1655d51731f9f5ffb50c2b401f was saved and received the ID: 2\nThe job calculate_qe_22b5d0934d89d8f08761e744e4612c30 was saved and received the ID: 3\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-8esr8q3h:00369] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job generate_structures_27aeab6880c34540a9c765deda80d784 was saved and received the ID: 4\nThe job get_dict_56392dab5a2d38555828b1468d5e8287 was saved and received the ID: 5\nThe job calculate_qe_bd9b696e66da921fa544f1ad2b69aa33 was saved and received the ID: 6\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-8esr8q3h:00411] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_c227b2e1715bd0f80fbe24b632771b94 was saved and received the ID: 7\nThe job calculate_qe_ba8d6500a3e3f0408c6ca19ff59fdfa4 was saved and received the ID: 8\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-8esr8q3h:00442] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_83d16dc4d098b2e035fca90333aca031 was saved and received the ID: 9\nThe job calculate_qe_f7b748fd111920b3fb969ee2587b536c was saved and received the ID: 10\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-8esr8q3h:00458] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_603887d10c637f43b4f90d6ddbb33013 was saved and received the ID: 11\nThe job calculate_qe_891be2cd796cb0adc95d358fa4133ed3 was saved and received the ID: 12\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-8esr8q3h:00469] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_afcfad2368e2171e3180b69033224e43 was saved and received the ID: 13\nThe job calculate_qe_bc9abb6cf6d595892e6f855d1082e68a was saved and received the ID: 14\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-8esr8q3h:00486] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_list_ca41097c0a5332599f7e520b68408ebd was saved and received the ID: 15\nThe job get_list_d61010ba7362bd7a5b1051e56d40f4cd was saved and received the ID: 16\nThe job plot_energy_volume_curve_219cb7246e0c237f48d2298204ff8273 was saved and received the ID: 17\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":38}]} diff --git a/aiida_to_pyiron_base_simple.ipynb b/aiida_to_pyiron_base_simple.ipynb deleted file mode 100644 index 18181d0..0000000 --- a/aiida_to_pyiron_base_simple.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3 (ipykernel)","language":"python"},"language_info":{"name":"python","version":"3.12.8","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\nfrom python_workflow_definition.pyiron_base import load_workflow_json\n\nfrom aiida_workgraph import WorkGraph, task\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_pyiron_base_simple.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"add_x_and_y = task.pythonjob(outputs=[\"x\", \"y\", \"z\"])(_add_x_and_y)\nadd_x_and_y_and_z = task.pythonjob()(_add_x_and_y_and_z)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"# TODO: Create inputs rather than tasks out of data nodes\nwg = WorkGraph(\"wg-simple\")","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"helper_task1 = wg.add_task(pickle_node, name=\"x\", value=1)\nhelper_task2 = wg.add_task(pickle_node, name=\"y\", value=2)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"code","source":"add_x_and_y_task = wg.add_task(\n add_x_and_y,\n name=\"add_x_and_y\",\n x=helper_task1.outputs.result,\n y=helper_task2.outputs.result,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"add_x_and_y_and_z_task = wg.add_task(\n add_x_and_y_and_z,\n name=\"add_x_and_y_and_z\",\n x=add_x_and_y_task.outputs.x,\n y=add_x_and_y_task.outputs.y,\n z=add_x_and_y_task.outputs.z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":true},"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":"{'nodes': {'0': 1,\n '1': 2,\n '2': 'simple_workflow.add_x_and_y',\n '3': 'simple_workflow.add_x_and_y_and_z'},\n 'edges': [{'target': 2,\n 'targetHandle': 'x',\n 'source': 0,\n 'sourceHandle': None},\n {'target': 2, 'targetHandle': 'y', 'source': 1, 'sourceHandle': None},\n {'target': 3, 'targetHandle': 'x', 'source': 2, 'sourceHandle': 'x'},\n {'target': 3, 'targetHandle': 'y', 'source': 2, 'sourceHandle': 'y'},\n {'target': 3, 'targetHandle': 'z', 'source': 2, 'sourceHandle': 'z'}]}"},"metadata":{}}],"execution_count":9},{"cell_type":"code","source":"from pyiron_base import Project\n","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)\n\n\ndelayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"0it [00:00, ?it/s]","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"2fd0ba5dafde43de9aaf5f81977b9d48"}},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_2c7c2fda085e8f388e4f08e1c9d38369\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x766e2335b770>\n\n\n\nx_f208a8c01bcd74935a14cc9659bb85c7\n\nx=<pyiron_base.project.delayed.DelayedObject object at 0x766e38533bc0>\n\n\n\nx_f208a8c01bcd74935a14cc9659bb85c7->create_function_job_2c7c2fda085e8f388e4f08e1c9d38369\n\n\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce\n\nx=1\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce->x_f208a8c01bcd74935a14cc9659bb85c7\n\n\n\n\n\ny_4d8d0e211b942004d9aff58f0c436d65\n\ny=<pyiron_base.project.delayed.DelayedObject object at 0x766e2335a8d0>\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce->y_4d8d0e211b942004d9aff58f0c436d65\n\n\n\n\n\nz_b091b9a2fb9060eb0480915f16381781\n\nz=<pyiron_base.project.delayed.DelayedObject object at 0x766e2335ab10>\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce->z_b091b9a2fb9060eb0480915f16381781\n\n\n\n\n\ny_4d8d0e211b942004d9aff58f0c436d65->create_function_job_2c7c2fda085e8f388e4f08e1c9d38369\n\n\n\n\n\nz_b091b9a2fb9060eb0480915f16381781->create_function_job_2c7c2fda085e8f388e4f08e1c9d38369\n\n\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6\n\ny=2\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6->x_f208a8c01bcd74935a14cc9659bb85c7\n\n\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6->y_4d8d0e211b942004d9aff58f0c436d65\n\n\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6->z_b091b9a2fb9060eb0480915f16381781\n\n\n\n\n"},"metadata":{}}],"execution_count":11},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job add_x_and_y_68901482a2c5221cc845f828aabebd27 was saved and received the ID: 1\nThe job add_x_and_y_and_z_b671e81aaa4670d81d7eee509650af8d was saved and received the ID: 2\n"},{"execution_count":12,"output_type":"execute_result","data":{"text/plain":"6"},"metadata":{}}],"execution_count":12}]} \ No newline at end of file From 304492f7fd78b9a0de5fe16646219ee1fc9057e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 22 Mar 2025 10:33:33 +0100 Subject: [PATCH 10/11] Update readme --- README.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index bfc1610..3aff042 100644 --- a/README.md +++ b/README.md @@ -60,17 +60,14 @@ The corresponding Jupyter notebooks demonstrate this functionality: | Example | Explanation | |--------------------------------------------------------------------------------|------------------------------------------------------------------------------| +| [aiida_simple.ipynb](aiida_simple.ipynb) | Define Workflow with aiida and execute it with jobflow and pyiron_base. | +| [jobflow_simple.ipynb](jobflow_simple.ipynb) | Define Workflow with jobflow and execute it with aiida and pyiron_base. | +| [pyiron_base_simple.ipynb](pyiron_base_simple.ipynb) | Define Workflow with pyiron_base and execute it with aiida and jobflow. | | [universal_simple_to_aiida.ipynb](universal_simple_to_aiida.ipynb) | Execute workflow defined in the Python Workflow Definition with aiida. | | [universal_simple_to_jobflow.ipynb](universal_simple_to_jobflow.ipynb) | Execute workflow defined in the Python Workflow Definition with jobflow. | | [universal_simple_to_pyiron_base.ipynb](universal_simple_to_pyiron_base.ipynb) | Execute workflow defined in the Python Workflow Definition with pyrion_base. | | [universal_simple_to_python.ipynb](universal_simple_to_python.ipynb) | Execute workflow defined in the Python Workflow Definition with Python. | | [universal_simple_to_executorlib.ipynb](universal_simple_to_executorlib.ipynb) | Execute workflow defined in the Python Workflow Definition with executorlib. | -| [aiida_to_jobflow_simple.ipynb](aiida_to_jobflow_simple.ipynb) | Define Workflow with aiida and execute it with jobflow. | -| [aiida_to_pyiron_base_simple.ipynb](aiida_to_pyiron_base_simple.ipynb) | Define Workflow with aiida and execute it with pyiron_base. | -| [jobflow_to_aiida_simple.ipynb](jobflow_to_aiida_simple.ipynb) | Define Workflow with jobflow and execute it with aiida. | -| [jobflow_to_pyiron_base_simple.ipynb](jobflow_to_pyiron_base_simple.ipynb) | Define Workflow with jobflow and execute it with pyiron_base. | -| [pyiron_base_to_aiida_simple.ipynb](pyiron_base_to_aiida_simple.ipynb) | Define Workflow with pyiron_base and execute it with aiida. | -| [pyiron_base_to_jobflow_simple.ipynb](pyiron_base_to_jobflow_simple.ipynb) | Define Workflow with pyiron_base and execute it with jobflow. | ### Quantum Espresso Workflow The second workflow example is the calculation of an energy volume curve with Quantum Espresso. In the first step the @@ -81,14 +78,11 @@ initial structure is relaxed, afterwards it is strained and the total energy is | Example | Explanation | |------------------------------------------------------------------------|------------------------------------------------------------------------------| +| [aiida_qe.ipynb](aiida_qe.ipynb) | Define Workflow with aiida and execute it with jobflow and pyiron_base. | +| [jobflow_qe.ipynb](jobflow_qe.ipynb) | Define Workflow with jobflow and execute it with aiida and pyiron_base. | +| [pyiron_base_qe.ipynb](pyiron_base_qe.ipynb) | Define Workflow with pyiron_base and execute it with aiida and jobflow. | | [universal_qe_to_aiida.ipynb](universal_qe_to_aiida.ipynb) | Execute workflow defined in the Python Workflow Definition with aiida. | | [universal_qe_to_jobflow.ipynb](universal_qe_to_jobflow.ipynb) | Execute workflow defined in the Python Workflow Definition with jobflow. | | [universal_qe_to_pyiron_base.ipynb](universal_qe_to_pyiron_base.ipynb) | Execute workflow defined in the Python Workflow Definition with pyrion_base. | | [universal_qe_to_python.ipynb](universal_qe_to_python.ipynb) | Execute workflow defined in the Python Workflow Definition with Python. | -| [universal_qe_to_executorlib.ipynb](universal_qe_to_executorlib.ipynb) | Execute workflow defined in the Python Workflow Definition with executorlib. | -| [aiida_to_jobflow_qe.ipynb](aiida_to_jobflow_qe.ipynb) | Define Workflow with aiida and execute it with jobflow. | -| [aiida_to_pyiron_base_qe.ipynb](aiida_to_pyiron_base_qe.ipynb) | Define Workflow with aiida and execute it with pyiron_base. | -| [jobflow_to_aiida_qe.ipynb](jobflow_to_aiida_qe.ipynb) | Define Workflow with jobflow and execute it with aiida. | -| [jobflow_to_pyiron_base_qe.ipynb](jobflow_to_pyiron_base_qe.ipynb) | Define Workflow with jobflow and execute it with pyiron_base. | -| [pyiron_base_to_aiida_qe.ipynb](pyiron_base_to_aiida_qe.ipynb) | Define Workflow with pyiron_base and execute it with aiida. | -| [pyiron_base_to_jobflow_qe.ipynb](pyiron_base_to_jobflow_qe.ipynb) | Define Workflow with pyiron_base and execute it with jobflow. | +| [universal_qe_to_executorlib.ipynb](universal_qe_to_executorlib.ipynb) | Execute workflow defined in the Python Workflow Definition with executorlib. | \ No newline at end of file From c13e5f7ddc0be019064e39100f6b2be803369f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 22 Mar 2025 10:43:52 +0100 Subject: [PATCH 11/11] Update aiida notebooks to include output --- aiida_qe.ipynb | 2 +- aiida_simple.ipynb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/aiida_qe.ipynb b/aiida_qe.ipynb index eb82208..da54dd9 100644 --- a/aiida_qe.ipynb +++ b/aiida_qe.ipynb @@ -1 +1 @@ -{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Quantum Espresso Energy Volume Curve Workflow with aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\n\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_pyiron_base_qe.json\"","metadata":{"trusted":false},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"cell_type":"code","source":"from aiida_workgraph import task, WorkGraph\nfrom typing import Any","metadata":{"trusted":false},"outputs":[],"execution_count":2},{"cell_type":"code","source":"# NOTE: `get_dict` is `get_input_dict`, to compile the input values for the calc tasks\n# NOTE: `add_link` must be from outputs to inputs\nfrom python_workflow_definition.shared import get_dict, get_list","metadata":{"trusted":false},"outputs":[],"execution_count":3},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":false},"outputs":[],"execution_count":4},{"cell_type":"code","source":"from quantum_espresso_workflow import generate_structures as _generate_structures\nfrom quantum_espresso_workflow import get_bulk_structure as _get_bulk_structure\nfrom quantum_espresso_workflow import calculate_qe as _calculate_qe\nfrom quantum_espresso_workflow import plot_energy_volume_curve as _plot_energy_volume_curve","metadata":{"trusted":false},"outputs":[],"execution_count":5},{"cell_type":"code","source":"strain_lst = [0.9, 0.95, 1.0, 1.05, 1.1]","metadata":{"trusted":false},"outputs":[],"execution_count":6},{"cell_type":"code","source":"get_bulk_structure = task.pythonjob()(_get_bulk_structure)\ngenerate_structures = task.pythonjob()(_generate_structures)\ncalculate_qe = task.pythonjob(outputs=[\"energy\", \"volume\", \"structure\"])(\n _calculate_qe\n)\nplot_energy_volume_curve = task.pythonjob()(_plot_energy_volume_curve)","metadata":{"trusted":false},"outputs":[],"execution_count":7},{"cell_type":"code","source":"wg = WorkGraph(\"wg-qe\")","metadata":{"trusted":false},"outputs":[],"execution_count":8},{"cell_type":"code","source":"pickle_element_task = wg.add_task(\n pickle_node,\n name=\"pickle_element\",\n value=\"Al\",\n)","metadata":{"trusted":false},"outputs":[],"execution_count":9},{"cell_type":"code","source":"pickle_a_task = wg.add_task(\n pickle_node, name=\"pickle_a\", value=4.05\n)","metadata":{"trusted":false},"outputs":[],"execution_count":10},{"cell_type":"code","source":"pickle_cubic_task = wg.add_task(\n pickle_node, name=\"pickle_cubic\", value=True\n)","metadata":{"trusted":false},"outputs":[],"execution_count":11},{"cell_type":"code","source":"pickle_relax_workdir_task = wg.add_task(\n pickle_node,\n name=\"pickle_relax_workdir\",\n value=\"mini\",\n)","metadata":{"trusted":false},"outputs":[],"execution_count":12},{"cell_type":"code","source":"# ? relax or SCF, or general? -> Should be relax\nrelax_get_dict_task = wg.add_task(\n task.pythonjob(\n # outputs=[\"structure\", \"calculation\", \"kpts\", \"pseudopotentials\", \"smearing\"]\n # outputs=[\"dict\"]\n )(get_dict),\n name=\"relax_get_dict\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":13},{"cell_type":"code","source":"pickle_pp_task = wg.add_task(\n pickle_node,\n name=\"pseudopotentials\",\n value={\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"},\n)","metadata":{"trusted":false},"outputs":[],"execution_count":14},{"cell_type":"code","source":"pickle_kpts_task = wg.add_task(\n pickle_node, name=\"kpts_task\", value=[3, 3, 3] # FIXME: Back to [3, 3, 3]\n)","metadata":{"trusted":false},"outputs":[],"execution_count":15},{"cell_type":"code","source":"pickle_calc_type_relax_task = wg.add_task(\n pickle_node,\n name=\"calc_type_relax\",\n value=\"vc-relax\",\n)","metadata":{"trusted":false},"outputs":[],"execution_count":16},{"cell_type":"code","source":"pickle_smearing_task = wg.add_task(\n pickle_node, name=\"smearing\", value=0.02\n)","metadata":{"trusted":false},"outputs":[],"execution_count":17},{"cell_type":"code","source":"strain_lst_task = wg.add_task(\n pickle_node,\n name=\"pickle_strain_lst\",\n value=strain_lst,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":18},{"cell_type":"code","source":"get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n name=\"get_bulk_structure\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":19},{"cell_type":"code","source":"relax_task = wg.add_task(\n calculate_qe,\n # ! I don't like the `mini` name...\n name=\"mini\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":20},{"cell_type":"code","source":"generate_structures_task = wg.add_task(\n generate_structures,\n name=\"generate_structures\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":21},{"cell_type":"code","source":"# here we add the structure outputs based on the number of strains\ndel wg.tasks.generate_structures.outputs[\"result\"]","metadata":{"trusted":false},"outputs":[],"execution_count":22},{"cell_type":"code","source":"scf_qe_tasks = []\nfor i, strain in enumerate(strain_lst):\n generate_structures_task.add_output(\"workgraph.any\", f\"s_{i}\")\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n name=f\"qe_{i}\",\n register_pickle_by_value=True,\n )\n scf_qe_tasks.append(scf_qe_task)","metadata":{"trusted":false},"outputs":[],"execution_count":23},{"cell_type":"code","source":"plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n name=\"plot_energy_volume_curve\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":24},{"cell_type":"code","source":"strain_dir_tasks, scf_get_dict_tasks = [], []\nfor i, strain in enumerate(strain_lst):\n strain_dir = f\"strain_{i}\"\n\n strain_dir_task = wg.add_task(\n pickle_node,\n name=f\"pickle_{strain_dir}_dir\",\n value=strain_dir,\n register_pickle_by_value=True,\n )\n strain_dir_tasks.append(strain_dir_task)\n\n scf_get_dict_task = wg.add_task(\n task.pythonjob()(get_dict),\n name=f\"get_dict_{i}\",\n register_pickle_by_value=True,\n )\n scf_get_dict_tasks.append(scf_get_dict_task)\n\n if i == 0:\n pickle_calc_type_scf_task = wg.add_task(\n pickle_node,\n name=\"calc_type_scf\",\n value=\"scf\",\n )","metadata":{"trusted":false},"outputs":[],"execution_count":25},{"cell_type":"code","source":"get_volumes_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_volumes\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":26},{"cell_type":"code","source":"get_energies_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_energies\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":27},{"cell_type":"code","source":"# Add remaining links\nwg.add_link(\n pickle_element_task.outputs.result, get_bulk_structure_task.inputs.element\n)\nwg.add_link(pickle_a_task.outputs.result, get_bulk_structure_task.inputs.a)\nwg.add_link(pickle_cubic_task.outputs.result, get_bulk_structure_task.inputs.cubic)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"pickle_cubic.result\", to=\"get_bulk_structure.cubic\")"},"execution_count":28,"metadata":{},"output_type":"execute_result"}],"execution_count":28},{"cell_type":"code","source":"# `.set` rather than `.add_link`, as get_dict takes `**kwargs` as input\nrelax_get_dict_task.set(\n {\n \"structure\": get_bulk_structure_task.outputs.result,\n \"calculation\": pickle_calc_type_relax_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n)","metadata":{"trusted":false},"outputs":[],"execution_count":29},{"cell_type":"code","source":"wg.add_link(relax_get_dict_task.outputs.result, relax_task.inputs.input_dict)\nwg.add_link(\n pickle_relax_workdir_task.outputs.result,\n relax_task.inputs.working_directory,\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"pickle_relax_workdir.result\", to=\"mini.working_directory\")"},"execution_count":30,"metadata":{},"output_type":"execute_result"}],"execution_count":30},{"cell_type":"code","source":"wg.add_link(relax_task.outputs.structure, generate_structures_task.inputs.structure)\nwg.add_link(\n strain_lst_task.outputs.result, generate_structures_task.inputs.strain_lst\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"pickle_strain_lst.result\", to=\"generate_structures.strain_lst\")"},"execution_count":31,"metadata":{},"output_type":"execute_result"}],"execution_count":31},{"cell_type":"code","source":"for i, (scf_get_dict_task, scf_qe_task, strain_dir_task) in enumerate(\n list(zip(scf_get_dict_tasks, scf_qe_tasks, strain_dir_tasks))\n):\n scf_get_dict_task.set(\n {\n \"structure\": generate_structures_task.outputs[f\"s_{i}\"],\n \"calculation\": pickle_calc_type_scf_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n )\n wg.add_link(scf_get_dict_task.outputs.result, scf_qe_task.inputs.input_dict)\n wg.add_link(\n strain_dir_task.outputs.result, scf_qe_task.inputs.working_directory\n )\n\n # collect energy and volume\n # wg.add_link(scf_qe_task.outputs.energy, get_energies_task.inputs.kwargs)\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n # wg.add_link(scf_qe_task.outputs.volume, get_volumes_task.inputs.kwargs)\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})","metadata":{"trusted":false},"outputs":[],"execution_count":32},{"cell_type":"code","source":"wg.add_link(\n get_volumes_task.outputs.result,\n plot_energy_volume_curve_task.inputs.volume_lst,\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"get_volumes.result\", to=\"plot_energy_volume_curve.volume_lst\")"},"execution_count":33,"metadata":{},"output_type":"execute_result"}],"execution_count":33},{"cell_type":"code","source":"wg.add_link(\n get_energies_task.outputs.result,\n plot_energy_volume_curve_task.inputs.energy_lst,\n)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"NodeLink(from=\"get_energies.result\", to=\"plot_energy_volume_curve.energy_lst\")"},"execution_count":34,"metadata":{},"output_type":"execute_result"}],"execution_count":34},{"cell_type":"code","source":"_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":false},"outputs":[],"execution_count":35},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[],"execution_count":36},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-21 21:26:20,046 INFO Started executing jobs locally\n2025-03-21 21:26:20,183 INFO Starting job - get_bulk_structure (fabb0d01-2442-4557-bd4e-b5ead7cf98d0)\n2025-03-21 21:26:20,186 INFO Finished job - get_bulk_structure (fabb0d01-2442-4557-bd4e-b5ead7cf98d0)\n2025-03-21 21:26:20,187 INFO Starting job - get_dict (612b1bb6-d593-4435-9b3d-5bb269ad2843)\n2025-03-21 21:26:20,189 INFO Finished job - get_dict (612b1bb6-d593-4435-9b3d-5bb269ad2843)\n2025-03-21 21:26:20,190 INFO Starting job - calculate_qe (f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00221] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:11,297 INFO Finished job - calculate_qe (f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee)\n2025-03-21 21:27:11,299 INFO Starting job - generate_structures (5ad4c3c2-9398-448d-b647-97b367ee2cf5)\n2025-03-21 21:27:11,303 INFO Finished job - generate_structures (5ad4c3c2-9398-448d-b647-97b367ee2cf5)\n2025-03-21 21:27:11,304 INFO Starting job - get_dict (d7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4)\n2025-03-21 21:27:11,305 INFO Finished job - get_dict (d7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4)\n2025-03-21 21:27:11,307 INFO Starting job - get_dict (fb9a4ee5-331f-408d-880d-9cd0d91acf0c)\n2025-03-21 21:27:11,308 INFO Finished job - get_dict (fb9a4ee5-331f-408d-880d-9cd0d91acf0c)\n2025-03-21 21:27:11,309 INFO Starting job - get_dict (12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee)\n2025-03-21 21:27:11,311 INFO Finished job - get_dict (12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee)\n2025-03-21 21:27:11,311 INFO Starting job - get_dict (b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7)\n2025-03-21 21:27:11,313 INFO Finished job - get_dict (b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7)\n2025-03-21 21:27:11,313 INFO Starting job - get_dict (a5cadc37-ee3c-4dad-891d-2953e90e57d5)\n2025-03-21 21:27:11,315 INFO Finished job - get_dict (a5cadc37-ee3c-4dad-891d-2953e90e57d5)\n2025-03-21 21:27:11,365 INFO Starting job - calculate_qe (7f7ed5dd-7756-4185-bc23-3dc77775c365)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00236] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:21,677 INFO Finished job - calculate_qe (7f7ed5dd-7756-4185-bc23-3dc77775c365)\n2025-03-21 21:27:21,678 INFO Starting job - calculate_qe (145ab651-febe-43af-97ef-310d48ce2d71)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00247] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:32,158 INFO Finished job - calculate_qe (145ab651-febe-43af-97ef-310d48ce2d71)\n2025-03-21 21:27:32,159 INFO Starting job - calculate_qe (b2f6f779-980a-4b0e-be32-9fda29034214)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00258] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:44,722 INFO Finished job - calculate_qe (b2f6f779-980a-4b0e-be32-9fda29034214)\n2025-03-21 21:27:44,723 INFO Starting job - calculate_qe (6856f4da-485b-4d5a-852e-ca70b7d333ea)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00269] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:27:57,827 INFO Finished job - calculate_qe (6856f4da-485b-4d5a-852e-ca70b7d333ea)\n2025-03-21 21:27:57,829 INFO Starting job - calculate_qe (ed56e21c-8b54-40cb-928a-a36f9ca8346d)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-fqg29pgr:00281] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:28:11,262 INFO Finished job - calculate_qe (ed56e21c-8b54-40cb-928a-a36f9ca8346d)\n2025-03-21 21:28:11,264 INFO Starting job - get_list (1533cc3f-f189-40c0-9489-e6249e87f464)\n2025-03-21 21:28:11,267 INFO Finished job - get_list (1533cc3f-f189-40c0-9489-e6249e87f464)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-21 21:28:11,268 INFO Starting job - get_list (033d92b6-3b26-4732-9c1e-d29317f562f0)\n2025-03-21 21:28:11,271 INFO Finished job - get_list (033d92b6-3b26-4732-9c1e-d29317f562f0)\n2025-03-21 21:28:11,272 INFO Starting job - plot_energy_volume_curve (25f4b44b-532d-4a35-a8ef-c0faa55091d7)\n2025-03-21 21:28:11,391 INFO Finished job - plot_energy_volume_curve (25f4b44b-532d-4a35-a8ef-c0faa55091d7)\n2025-03-21 21:28:11,392 INFO Finished executing jobs locally\n"},{"data":{"text/plain":"{'fabb0d01-2442-4557-bd4e-b5ead7cf98d0': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '612b1bb6-d593-4435-9b3d-5bb269ad2843': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'vc-relax', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'f21e58fb-0abd-4b50-bc40-b0ed2fe1f9ee': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365262253589, 'volume': 66.21567448236458}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '5ad4c3c2-9398-448d-b647-97b367ee2cf5': {1: Response(output={'s_0': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197859621897, 0.0, 0.0], [0.0, 3.9060197859621897, 0.0], [0.0, 0.0, 3.9060197859621897]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.953009892981094, 1.953009892981094], [1.953009892981094, 0.0, 1.953009892981094], [1.953009892981094, 1.953009892981094, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_1': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.977053844318091, 0.0, 0.0], [0.0, 3.977053844318091, 0.0], [0.0, 0.0, 3.977053844318091]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221590447, 1.9885269221590447], [1.9885269221590447, 0.0, 1.9885269221590447], [1.9885269221590447, 1.9885269221590447, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_2': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_3': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282999, 0.0, 0.0], [0.0, 4.111970927282999, 0.0], [0.0, 0.0, 4.111970927282999]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854636414987, 2.0559854636414987], [2.0559854636414987, 0.0, 2.0559854636414987], [2.0559854636414987, 2.0559854636414987, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_4': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372225, 0.0, 0.0], [0.0, 4.176230852372225, 0.0], [0.0, 0.0, 4.176230852372225]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.088115426186111, 2.088115426186111], [2.088115426186111, 0.0, 2.088115426186111], [2.088115426186111, 2.088115426186111, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'd7b594b9-6ac6-474d-9c52-c8ee5fcdd8b4': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197859621897, 0.0, 0.0], [0.0, 3.9060197859621897, 0.0], [0.0, 0.0, 3.9060197859621897]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.953009892981094, 1.953009892981094], [1.953009892981094, 0.0, 1.953009892981094], [1.953009892981094, 1.953009892981094, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'fb9a4ee5-331f-408d-880d-9cd0d91acf0c': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.977053844318091, 0.0, 0.0], [0.0, 3.977053844318091, 0.0], [0.0, 0.0, 3.977053844318091]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221590447, 1.9885269221590447], [1.9885269221590447, 0.0, 1.9885269221590447], [1.9885269221590447, 1.9885269221590447, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '12b26f9e-fb15-4c25-a2fc-b2d6ffa530ee': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946884, 0.0, 0.0], [0.0, 4.045637215946884, 0.0], [0.0, 0.0, 4.045637215946884]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.022818607973441, 2.022818607973441], [2.022818607973441, 0.0, 2.022818607973441], [2.022818607973441, 2.022818607973441, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b41cc69e-4168-4d6c-ab7b-fd3a4cefc9d7': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282999, 0.0, 0.0], [0.0, 4.111970927282999, 0.0], [0.0, 0.0, 4.111970927282999]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854636414987, 2.0559854636414987], [2.0559854636414987, 0.0, 2.0559854636414987], [2.0559854636414987, 2.0559854636414987, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'a5cadc37-ee3c-4dad-891d-2953e90e57d5': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372225, 0.0, 0.0], [0.0, 4.176230852372225, 0.0], [0.0, 0.0, 4.176230852372225]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.088115426186111, 2.088115426186111], [2.088115426186111, 0.0, 2.088115426186111], [2.088115426186111, 2.088115426186111, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '7f7ed5dd-7756-4185-bc23-3dc77775c365': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9060197688892253, 0.0, 0.0], [0.0, 3.9060197688892253, 0.0], [0.0, 0.0, 3.9060197688892253]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150658, 'volume': 59.594106252681925}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '145ab651-febe-43af-97ef-310d48ce2d71': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.97705382693464, 0.0, 0.0], [0.0, 3.97705382693464, 0.0], [0.0, 0.0, 3.97705382693464]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269135082746, 1.9885269135082746], [1.9885269135082746, 0.0, 1.9885269135082746], [1.9885269135082746, 1.9885269135082746, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9161488594586, 'volume': 62.90488993338648}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b2f6f779-980a-4b0e-be32-9fda29034214': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637198263656, 0.0, 0.0], [0.0, 4.045637198263656, 0.0], [0.0, 0.0, 4.045637198263656]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668363, 'volume': 66.21567361409089}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '6856f4da-485b-4d5a-852e-ca70b7d333ea': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970909309837, 0.0, 0.0], [0.0, 4.111970909309837, 0.0], [0.0, 0.0, 4.111970909309837]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025807, 'volume': 69.52645729479569}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'ed56e21c-8b54-40cb-928a-a36f9ca8346d': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230834118179, 0.0, 0.0], [0.0, 4.176230834118179, 0.0], [0.0, 0.0, 4.176230834118179]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.08811541707298, 2.08811541707298], [2.08811541707298, 0.0, 2.08811541707298], [2.08811541707298, 2.08811541707298, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693407, 'volume': 72.83724097549984}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '1533cc3f-f189-40c0-9489-e6249e87f464': {1: Response(output=[59.594106252681925, 62.90488993338648, 66.21567361409089, 69.52645729479569, 72.83724097549984], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '033d92b6-3b26-4732-9c1e-d29317f562f0': {1: Response(output=[-1074.8457446150658, -1074.9161488594586, -1074.9365241668363, -1074.9192860025807, -1074.8737904693407], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '25f4b44b-532d-4a35-a8ef-c0faa55091d7': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"execution_count":37,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXuY2bHERERaZBUluowbw9XbugZDMCcVftMTiMiItIwqSzVcbf3CwNgWcJhko/mmhtGRESkAVJZquPa+DVmYAc/DAPmrk42O46IiEiDo7LkACZd1hqABRsPkZNfZHIaERGRhkVlyQFc0c6XS/y8OFlQzIKNh8yOIyIi0qCoLDkAi8XCxNPnLn28OhmbTcsIiIiI2IvKkoO4rkcwTTxcSD6Wx/KEw2bHERERaTBUlhyEl7sLN10aAuhEbxEREXtSWXIgE6LCcLLA70lHScrIMTuOiIhIg6Cy5EBCmnkyKCIAgDkaXRIREbELlSUHU7aMwMJNh8jMKzQ5jYiISP2nsuRg+rZpRnhgE/KLbHy1/qDZcUREROo9lSUHY7FYuOP06NIna/ZTXGIzOZGIiEj9prLkgEZ3C6KppyspmadYsjPD7DgiIiL1msqSA/JwdeaWPq0AmLMq2dwwIiIi9ZzKkoOK7huGi5OFdcnH2Z6SZXYcERGRektlyUEFWj0Y3rkFoEUqRUREapPKkgMru1/c4rhUjp4sMDeMiIhIPaWy5MB6tPKha7CVwhIbX6w9YHYcERGRekllyYFZLJbyRSo/i91PYbGWERAREalpKksO7prOLfBr4s7hnAJ+2p5mdhwREZF6R2XJwbm5OHFbn1AAPtIyAiIiIjVOZakeuKVPK9ycndhyMJPNB06YHUdERKReUVmqB/yauDOqaxCgRSpFRERqmspSPTHpsjAAftyWRnpWvrlhRERE6hGVpXqiU0srl4Y1pdhm8FnsfrPjiIiI1BsqS/VI2TICX6w7QH5RiclpRERE6geVpXpkSGQALX0acTy3kMVbUs2OIyIiUi+oLNUjLs5OREeVLiMwZ1UyhmGYnEhERMTxqSzVMzddGoKHqxPxadms3Xfc7DgiIiIOT2WpnvHxdGNs92AA5moZARERkYumslQPlS0j8MvOdA4ezzM3jIiIiINTWaqH2gc0oX9bX2wGfKplBERERC6KylI9NbFfGADz1h0gr7DY3DAiIiIOTGWpnroq3J/Q5p5k5xezcFOK2XFEREQclspSPeXkZOH2qDAA5q7WMgIiIiLVpbJUj43rFYyXmzO7D5/k96SjZscRERFxSCpL9VgTD1fG9QoBYM6qfSanERERcUwqS/Xc7f3CsFhgecIR9h3NNTuOiIiIw1FZquda+3pxZQd/AD5enWxuGBEREQekstQAlC0jMH/DQbLzi8wNIyIi4mBUlhqAy9v50ta/MbmFJczfcMjsOCIiIg5FZakBsFgs5aNLH69OpsSmZQRERETOl8pSA3Fdj5Z4e7hw4Hgey3cdNjuOiIiIw1BZaiA83Vy4qXcrAOas1jICIiIi50tlqQGZEBWKkwVW7T5GYkaO2XFEREQcgsOUpRMnThAdHY3VasVqtRIdHU1mZmaV+5w8eZIpU6YQHBxMo0aNiIiI4N133z1juzVr1nDVVVfh5eWFj48PAwcO5NSpU7X0TswT3NSTIZGBAMxZlWxuGBEREQfhMGXplltuIS4ujpiYGGJiYoiLiyM6OrrKfaZOnUpMTAyfffYZ8fHxTJ06lXvvvZdvv/22fJs1a9YwbNgwhgwZwrp161i/fj1TpkzByclhDs0FmXRZGACLNh8iM6/Q3DAiIiIOwGI4wB1W4+PjiYyMJDY2lj59+gAQGxtLVFQUu3btokOHDpXu16lTJ8aPH8+TTz5Z/lzPnj255pprePbZZwHo27cvgwcPLv+6OrKzs7FarWRlZeHt7V3t17EHwzC45s2VxKdl8+iwcP468BKzI4mIiJjifP9+O8TwyZo1a7BareVFCUpLjtVqZfXq1Wfdr3///ixevJiUlBQMw2D58uUkJiYydOhQAA4fPszatWvx9/enX79+BAQEMGDAAFauXFnr78ksFoulfHTp0zXJFJfYzA0kIiJSxzlEWUpPT8ff3/+M5/39/UlPTz/rfm+++SaRkZEEBwfj5ubGsGHDeOedd+jfvz8Ae/fuBWDGjBlMnjyZmJgYevTowdVXX01SUtJZX7egoIDs7OwKD0cyumsQzb3cSM3K55edGWbHERERqdNMLUszZszAYrFU+diwYQNQOiLyZ4ZhVPp8mTfffJPY2FgWL17Mxo0befXVV/nb3/7G0qVLAbDZSkdV7r77biZNmkT37t15/fXX6dChAx999NFZX3fmzJnlJ5pbrVZCQkIu5jDYnYerM7f0Ob2MwCotIyAiIlIVFzN/+JQpU7jpppuq3CYsLIytW7eSkXHmCMiRI0cICAiodL9Tp07x+OOPs2jRIkaMGAFAly5diIuL45VXXmHQoEG0aNECgMjIyAr7RkREcODAgbNmmj59Og8++GD519nZ2Q5XmG7rG8q7K/awPvkE21Oy6NTSanYkERGROsnUsuTr64uvr+85t4uKiiIrK4t169bRu3dvANauXUtWVhb9+vWrdJ+ioiKKiorOuKrN2dm5fEQpLCyMoKAgEhISKmyTmJjI8OHDz5rH3d0dd3f3c+auywK8PbimcwsWb0llzqpkXr2xq9mRRERE6iSHOGcpIiKCYcOGMXnyZGJjY4mNjWXy5MmMHDmywpVw4eHhLFq0CABvb28GDBjAtGnTWLFiBfv27WPu3Ll88sknjB07Fiid2ps2bRpvvvkmCxYsYPfu3Tz55JPs2rWLO++805T3ak9lJ3p/tyWVIzkF5oYRERGpo0wdWboQn3/+Offddx9DhgwBYPTo0cyePbvCNgkJCWRlZZV/PW/ePKZPn86tt97K8ePHCQ0N5fnnn+eee+4p3+aBBx4gPz+fqVOncvz4cbp27cqSJUu45JL6f0l991ZN6RbiQ9zBTL5Ye4D7B7UzO5KIiEid4xDrLNV1jrTO0p99G5fC/fPi8GvizqpHr8LNxSEGG0VERC5avVpnSWrP8E4t8G/izpGcAn7clmZ2HBERkTpHZamBc3NxIrpvKFC6jIAGGkVERCpSWRJu6dMKNxcnthzKYtOBTLPjiIiI1CkqS0Lzxu6M7hoEaJFKERGRP1NZEuB/ywj8tD2dtKxT5oYRERGpQ1SWBICOQVZ6t25Gic3gs9j9ZscRERGpM1SWpNwdp0eXvlh7gPyiEnPDiIiI1BEqS1JuUEQALX0acSKviG/jUsyOIyIiUieoLEk5F2cnJkSVLSOQrGUEREREUFmSP7np0lY0cnVmV3oOsXuPmx1HRETEdCpLUoHV05XrerQEtIyAiIgIqCxJJSb2CwNgaXwGB4/nmRtGRETEZCpLcoZ2AU24vJ0vNgM+WZNsdhwRERFTqSxJpcoWqZy3/iC5BcXmhhERETGRypJUamB7f8Kae5KTX8zCTYfMjiMiImIalSWplJOThdtPn7s0d3UyNpuWERARkYZJZUnO6oaewTR2d2HPkVx+333U7DgiIiKmUFmSs2ri4cq4XsGAlhEQEZGGS2VJqnR7VBgWC6xIOMKeIyfNjiMiImJ3KktSpTBfL67q4A/AJ6uTzQ0jIiJiApUlOadJl7UGYMHGQ2TnF5mcRkRExL5UluScLmvbnHb+jcktLOE/6w+aHUdERMSuVJbknCwWCxNPL1L58ZpkSrSMgIiINCAqS3JerusejLWRKwePn2LZrsNmxxEREbEblSU5L43cnLmpdwigZQRERKRhUVmS8zYhKgwnC6zec4xd6dlmxxEREbELlSU5by19GjG0YyAAc1clmxtGRETETlSW5IKULSOwaHMKJ3ILTU4jIiJS+1SW5IJcGtaUjkHeFBTb+HL9AbPjiIiI1DqVJbkgFoulfHTp0zX7KSqxmZxIRESkdqksyQUb2aUFzb3cSMvK5+cd6WbHERERqVUqS3LBPFydubVPK0AneouISP2nsiTVclvfUFydLWzYf4Jth7LMjiMiIlJrVJakWvy9PRjRuQWgRSpFRKR+U1mSapt4+kTv77amcjgn3+Q0IiIitUNlSaqtW4gP3Vv5UFRi8MVaLSMgIiL1k8qSXJSyZQQ+iz1AQXGJyWlERERqnsqSXJThnQIJ8Hbn6MkCftiaZnYcERGRGqeyJBfF1dmJ6L6hAMxZlYxhGCYnEhERqVkqS3LRbu7dCjcXJ7alZLHpwAmz44iIiNQolSW5aM0buzOmWxAAH2mRShERqWdUlqRGTOxXeqJ3zPZ0UjNPmZxGRESk5qgsSY2IDPKmT+tmlNgMPovdb3YcERGRGqOyJDWmbBmBL9cdIL9IywiIiMjFO3g8jzmr9mGzmXcBkcqS1JjBkQEEN23EibwivtmcYnYcERFxcDabwbQFW/jHdzt54cd403KoLEmNcXaycHtUGKBlBERE5OJ9tnY/sXuP08jVmeioUNNyqCxJjbqxVwiNXJ1JyMhhzd5jZscREREHdeBYHjN/3AXAY8PDCW3uZVoWlSWpUVZPV67v2RIoHV0SERG5UDabwcMLtnCqqIS+bZqVL35sFpUlqXFlywgsjc/gwLE8k9OIiIij+WRNMuv2HcfTzZmXru+Kk5PF1DwqS1Lj2vo35or2fhgGfLwm2ew4IiLiQJKP5jIrpnT6bfrwcFo19zQ5kcqS1JJJ/cIA+M/6g+QWFJsbRkREHILNZvDIgq3kF9mIatOcW/uYO/1WRmVJasWA9n608fUip6CYrzcdMjuOiIg4gLmrk1mXfBwvN2deuqGL6dNvZVSWpFY4OVm4/fTo0txVyaYuJiYiInXfvqO5vPTz6em3ayIIaWb+9FsZlSWpNdf3DKaJuwt7j+byW9IRs+OIiEgdVWIzmDZ/C/lFNvq39eXWPq3MjlSBypLUmsbuLozrFQKUji6JiIhUZs6qfWzYf4LG7i7Mur4zFkvdmH4ro7IktWpivzAsFvgt8Qi7D580O46IiNQxe46c5OWfEwB4/JoIgpvWnem3MipLUqtaNffk6vAAAD5enWxuGBERqVPKpt8Kim1c3s6Xm3uHmB2pUipLUusmXRYGwNebDpF1qsjcMCIiUmd8tHIfmw5knp5+61Lnpt/KqCxJret3SXM6BDQhr7CE+RsOmh1HRETqgN2HT/LyL6XTb0+MiKClTyOTE52dypLUOovFwsTTo0tzVydTomUEREQatBKbwcPzt1BYbOOK9n6Mv7RuTr+VUVkSuxjTrSU+nq4cOnGKpfEZZscRERETffD7XuIOZtLE3YUX6+DVb3+msiR20cjNmZsuLV03Q8sIiIg0XLsP5/DakkQAnhwVSQtr3Z1+K6OyJHYzISoUZycLa/YeIz4t2+w4IiJiZ8UlNh6av5XCYhtXdvBjXM9gsyOdF4cpSydOnCA6Ohqr1YrVaiU6OprMzMwq9zl58iRTpkwhODiYRo0aERERwbvvvlthm/T0dKKjowkMDMTLy4sePXqwYMGCWnwnDVeQTyOGdQwENLokItIQ/ev3vWw5mEkTDxdmXld3r377M4cpS7fccgtxcXHExMQQExNDXFwc0dHRVe4zdepUYmJi+Oyzz4iPj2fq1Knce++9fPvtt+XbREdHk5CQwOLFi9m2bRvXXXcd48ePZ/PmzbX9lhqksmUEvolL4XhuoblhRETEbhIzcnhjSRIAT4/qSKDVw+RE588hylJ8fDwxMTH8+9//JioqiqioKD744AO+//57EhISzrrfmjVruP322xk4cCBhYWH85S9/oWvXrmzYsKHCNvfeey+9e/emTZs2PPHEE/j4+LBp0yZ7vLUGp2doUzq19Kag2MaX6w6YHUdEROyguMRWevVbiY2rwv25vkdLsyNdEIcoS2vWrMFqtdKnT5/y5/r27YvVamX16tVn3a9///4sXryYlJQUDMNg+fLlJCYmMnTo0ArbfPXVVxw/fhybzca8efMoKChg4MCBtfmWGiyLxcKkfq0B+HTNfopKbCYnEhGR2vb+f/ey9VAW3h4uzLyu7l/99mcOUZbS09Px9/c/43l/f3/S09PPut+bb75JZGQkwcHBuLm5MWzYMN555x369+9fvs1XX31FcXExzZs3x93dnbvvvptFixZxySWXnPV1CwoKyM7OrvCQ8zeyawt8G7uTnp1PzPaz//cTERHHtys9mzeWll79NmN0RwK8HWf6rYypZWnGjBlYLJYqH2VTZpW1UMMwqmynb775JrGxsSxevJiNGzfy6quv8re//Y2lS5eWb/PEE09w4sQJli5dyoYNG3jwwQcZN24c27ZtO+vrzpw5s/xEc6vVSkhI3V5Mq65xd3Hm1j6lywjMWbXP5DQiIlJbik5PvxWVGAyK8Gdsd8eafitjMQzDtOWUjx49ytGjR6vcJiwsjC+++IIHH3zwjKvffHx8eP3115k0adIZ+506dQqr1cqiRYsYMWJE+fN33XUXhw4dIiYmhj179tC2bVu2b99Ox44dy7cZNGgQbdu25b333qs0U0FBAQUFBeVfZ2dnExISQlZWFt7e3ufz1hu8wzn5XDZrGUUlBt/+/TK6hviYHUlERGrYW78m8eqSRKyNXFky9Qr869ioUnZ2Nlar9Zx/v13smOkMvr6++Pr6nnO7qKgosrKyWLduHb179wZg7dq1ZGVl0a9fv0r3KSoqoqioCCenioNnzs7O2Gyl58nk5eUBVLlNZdzd3XF3dz9nbjk7/yYejOwSxKLNKcxdnczr47uZHUlERGpQfFo2by4rvfrtH6M71rmidCEc4pyliIgIhg0bxuTJk4mNjSU2NpbJkyczcuRIOnToUL5deHg4ixYtAsDb25sBAwYwbdo0VqxYwb59+5g7dy6ffPIJY8eOLd++bdu23H333axbt449e/bw6quvsmTJEsaMGWPGW21QypYR+H5rKoez880NIyIiNeaP02+DIwO4tluQ2ZEuikOUJYDPP/+czp07M2TIEIYMGUKXLl349NNPK2yTkJBAVlZW+dfz5s3j0ksv5dZbbyUyMpJZs2bx/PPPc8899wDg6urKjz/+iJ+fH6NGjaJLly588sknfPzxx1xzzTV2fX8NUZdgH3qGNqWoxOCztVpGQESkvnhn+R52pGbj4+nK82M7OdzVb39m6jlL9cX5znnKmb7bksq9X27Gt7Ebqx67CncXZ7MjiYjIRdiRmsW1s1dRbDP4503duLZb3T2p+3z/fjvMyJLUT8M6BRLo7cHRk4V8vyXN7DgiInIRCottPDx/K8U2g6EdAxjd1bGn38qoLImpXJ2diI4KBWDO6n1ooFNExHG9vXw38WnZNPV05bkxjrf45NmoLInpbu7dCncXJ7anZLNh/wmz44iISDVsT8ni7eW7AXjm2k74Nak/V42rLInpmnm5Meb0nPbcVcnmhhERkQtWOv22hWKbwfBOgYzs0sLsSDVKZUnqhEn9wwCI2ZFOauYpc8OIiMgFmb0siV3pOTTzcuPZMY5/9dufqSxJnRAe6E1Um+aU2Aw+WbPf7DgiInKeth3K4u0VewB49tpO+DauP9NvZVSWpM4oW6Tyy3UHOFVYYm4YERE5p4LiEh6ev4USm8GILi0YUc+m38qoLEmdcXVEACHNGpF1qohv4lLMjiMiIufw1q+7ScjIobmXG8+M7njuHRyUypLUGc5OFm6PCgNgziotIyAiUpdtPZTJu7+VTr89N6YTzevh9FsZlSWpU8b1CsHTzZnEjJOs3nPM7DgiIlKJP06/jeoaxPDO9XP6rYzKktQp1kau3NAzGIA5WkZARKRO+ufSJBIzTuLb2I1/1OPptzIqS1Ln3N4vDIBfd2Ww/1iuuWFERKSCuIOZvFc+/daZZl5uJieqfSpLUudc4teYAe39MAz4eLWWERARqSvyi0qn32wGXNstiGGdAs2OZBfVKku5ufrXvtSusmUE5m84yMmCYnPDiIgIAK8vTWT34ZP4NnZnxqj6P/1WplplKSAggDvuuIOVK1fWdB4RAK5o50cbXy9yCor5euMhs+OIiDR4mw6c4IP/7gXghbGdaNoApt/KVKssffnll2RlZXH11VfTvn17Zs2aRWpqak1nkwbMycnCxNOjS3NXJ2OzaRkBERGz5BeVMO309NvY7i0Z0rFhTL+VqVZZGjVqFF9//TWpqan89a9/5csvvyQ0NJSRI0eycOFCios1bSIX7/oewTTxcGHf0Vx+SzxidhwRkQbrtSWJ7DmSi18Td54eFWl2HLu7qBO8mzdvztSpU9myZQuvvfYaS5cu5YYbbiAoKIinnnqKvLy8msopDZCXuwvje4UA8NGqfSanERFpmDbuP8EHv5dOv80c2xkfz4Yz/VbmospSeno6L730EhERETz22GPccMMN/Prrr7z++ussWrSIMWPG1FBMaagmRIVhscDvSUfZfTjH7DgiIg1K2fSbYcB1PVoyKDLA7EimcKnOTgsXLmTOnDn8/PPPREZG8ve//53bbrsNHx+f8m26detG9+7dayqnNFCtmnsyKCKAJTszmLs6mefGdDY7kohIg/HKzwnsPZpLgLc7T49sOFe//Vm1RpYmTZpEUFAQq1atIi4ujilTplQoSgBt2rTh//7v/2oiozRwZcsIfL0xhay8InPDiIg0EBuSj/Ph6VMgZl7XGaunq8mJzFOtkaW0tDQ8PT2r3KZRo0Y8/fTT1Qol8kdRbZoTHtiEXek5fLXhAH+54hKzI4mI1GunCksXnzQMuKFnMFeFN8zptzLVGlkqLi4mOzv7jEdOTg6FhYU1nVEaOIvFwsTTt0D5ePV+SrSMgIhIrXr55wSSj+UR6O3BkyMb3tVvf1atsuTj40PTpk3PePj4+NCoUSNCQ0N5+umnsdlsNZ1XGqgx3VvS1NOVlMxTLNmZYXYcEZF6a92+48xZfXr67frOWBs13Om3MtUqS3PnziUoKIjHH3+cb775hkWLFvH444/TsmVL3n33Xf7yl7/w5ptvMmvWrJrOKw2Uh6szN/duBcAcLSMgIlIr8gqLmbagdPrtxl7BXNnB3+xIdUK1zln6+OOPefXVV7nxxhvLnxs9ejSdO3fm/fff59dff6VVq1Y8//zzPP744zUWVhq26KhQ3v/vXtbuO86O1Cw6BlnNjiQiUq+8FJPA/mN5tLB68ISm38pVa2RpzZo1lS4L0L17d9asWQNA//79OXDgwMWlE/mDFtZG5Xe4/nh1srlhRETqmdi9x5h7+rN11vVd8PbQ9FuZapWl4OBgPvzwwzOe//DDDwkJKV1x+dixYzRt2vTi0on8yR2nlxH4Ji6VYycLzA0jIlJP5BUW88iCrQDcdGkIA9r7mZyobqnWNNwrr7zCuHHj+Omnn7j00kuxWCysX7+eXbt2sWDBAgDWr1/P+PHjazSsSI9WTekSbGXroSy+XHeAKVe1MzuSiIjDe/GnXRw4nkeQ1YP/GxFhdpw6x2IYRrWuw96/fz/vvfceCQkJGIZBeHg4d999N2FhYTUcse7Lzs7GarWSlZWFt7e32XHqvUWbDzH1qy0EeLuz8tGrcHW+qLv2iIg0aKv3HOWWD9YC8Omdvbm8XcMZVTrfv98XPLJUVFTEkCFDeP/995k5c+ZFhRSpjms6t+D5H3aRkV3AT9vTGd01yOxIIiIOKbfgf9Nvt/Rp1aCK0oW44H+Su7q6sn37diwWS23kETkndxdnbuurZQRERC7WrJ92cejEKVr6NOLxazT9djbVmr+YMGFCpSd4i9jLrX1CcXN2YvOBTOIOZpodR0TE4azefZRPY/cD8NINXWjsXq3TmBuEah2ZwsJC/v3vf7NkyRJ69eqFl5dXhe+/9tprNRJO5Gz8mrgzsmsLFm5KYe6qfbxx05lLWYiISOVOFhQz7fT02219W3FZW1+TE9Vt1SpL27dvp0ePHgAkJiZW+J6m58ReJvVrzcJNKfywLY3Hr4nA39vD7EgiIg5h5o/xpGSeIrhpI6YP1/TbuVSrLC1fvrymc4hcsM7BVnqFNmXD/hN8FrufB4d0MDuSiEidtzLpKJ+vLV00+qUbuuCl6bdzuqhrrnfv3s3PP//MqVOnAKjmKgQi1TbpstYAfL72APlFJSanERGp23Lyi3j069LptwlRofS7RNNv56NaZenYsWNcffXVtG/fnmuuuYa0tDQA7rrrLh566KEaDShSlaEdA2hh9eBYbiHfb00zO46ISJ32wunpt5BmjXh0WLjZcRxGtcrS1KlTcXV15cCBA3h6epY/P378eGJiYmosnMi5uDg7ER0VCpQuI6DRTRGRyv038QhfrjsIwMs3dNX02wWoVln65ZdfePHFFwkODq7wfLt27di/f3+NBBM5Xzdf2goPVyd2pGazPvmE2XFEROqc7PwiHjs9/TaxXxh92zQ3OZFjqVZZys3NrTCiVObo0aO4u7tfdCiRC9HUy42x3VsCWqRSRKQyz38fT2pWPqHNPXlkmC6GuVDVKktXXHEFn3zySfnXFosFm83Gyy+/zJVXXllj4UTO18R+pSd6/7wjnZTMUyanERGpO1YkHOarDQexWEqn3zzdNP12oap1xF5++WUGDhzIhg0bKCws5JFHHmHHjh0cP36cVatW1XRGkXPqENiEfpc0Z/WeY3yyJlnrhoiIAFmninjs621A6fRb79bNTE7kmKo1shQZGcnWrVvp3bs3gwcPJjc3l+uuu47NmzdzySWX1HRGkfNStozAvHUHySssNjmNiIj5nvt+J+nZ+YQ19+SRobr6rbqqPRYXGBjIP/7xj5rMInJRrgr3p1UzTw4cz2PR5hRu7RNqdiQREdMs33WY+RsPlU6/jetKIzdnsyM5rGqXpczMTNatW8fhw4ex2WwVvjdhwoSLDiZyoZydLEyICuW5H+KZuyqZW3q30u13RKRBysor4rGFpVe/3XFZay4N0/TbxahWWfruu++49dZbyc3NpUmTJhX+IFksFpUlMc2Nl4bw+pJEkg6fZNXuY/Rvp9VpRaTheeb7nWRkF9Da14uHdSuoi1atc5Yeeugh7rjjDnJycsjMzOTEiRPlj+PHj9d0RpHz5u3hyg09S9f/0jICItIQ/RqfwdebSqffXhnXRdNvNaBaZSklJYX77ruv0rWWRMx2e78wAJYlHCb5aK65YURE7Cgrr4jpC0uvfrurf2t6hmr6rSZUqywNHTqUDRs21HQWkRrRxq8xAzv4YRjw8Zpks+OIiNjNP77bweGcAtr4efGQpt9qTLXOWRoxYgTTpk1j586ddO7cGVdX1wrfHz16dI2EE6muSZe1ZkXCEeZvOMSDg9vTxMP13DuJiDiwJTszWLg5BScLvDKuKx6umn6rKdUqS5MnTwbgmWeeOeN7FouFkpKSi0slcpGuaOfLJX5e7DmSy4KNh8rXYBIRqY8y8wp5fFHp9Nvky9vQo1VTkxPVL9WahrPZbGd9qChJXWCxWJh4uiB9vDoZm80wOZGISO2ZsXgHR3IKuMTPi6mD25sdp965oLJ0zTXXkJWVVf71888/T2ZmZvnXx44dIzIyssbCiVyM67q3pImHC8nH8liReNjsOCIiteLnHel8E5eKkwVevbGbpt9qwQWVpZ9//pmCgoLyr1988cUKSwUUFxeTkJBQc+lELoKXuws3XRoCwJxVyeaGERGpBSdyC/m/RdsB+MsVl9AtxMfcQPXUBZUlwzCq/FqkrpkQFYaTBX5POkpSRo7ZcUREatTTi3dw9GQB7fwb88CgdmbHqbeqdc6SiKMIaebJ4MgAAOauTjY3jIhIDYrZnsbiLak4O1l09Vstu6CyZLFYzrjXlu69JXXdxH6lJ3ov3JRCVl6RyWlERC7e8dxCnvimdPrtngFt6Krpt1p1QUsHGIbBxIkTcXd3ByA/P5977rkHLy8vgArnM4nUFX3bNCM8sAm70nOYt/4Adw+4xOxIIiIX5alvt3P0ZCEdAppw39WafqttFzSydPvtt+Pv74/VasVqtXLbbbcRFBRU/rW/v79uoit1jsVi4Y7Tywh8smY/xSU2kxOJiFTfj9vS+H5rWvn0m7uLpt9q2wWNLM2ZM6e2cojUqtHdgpgVs4uUzFMsjc9gWKcWZkcSEblgx04W8OTp6be/DbyEzsFWkxM1DDrBWxoED1dnbu5duozAR1pGQEQc1FPf7uBYbiHhgU249ypNv9mLypI0GNF9w3BxsrBu33F2pGadewcRkTrk+62p/LDtf9Nvbi76E24vDnOkT5w4QXR0dPn5UdHR0RVWD69MRkYGEydOJCgoCE9PT4YNG0ZSUlKFbQoKCrj33nvx9fXFy8uL0aNHc+jQoVp8J2KWQKsHwzuXTr9pkUoRcSRHcv43/fb3K9vSqaWm3+zJYcrSLbfcQlxcHDExMcTExBAXF0d0dPRZtzcMgzFjxrB3716+/fZbNm/eTGhoKIMGDSI3N7d8uwceeIBFixYxb948Vq5cycmTJxk5cqTucVdPTbosDIDFcakcPamrN0Wk7jMMgye/2c6JvCIiWngz5cq2ZkdqcCyGAyzDHR8fT2RkJLGxsfTp0weA2NhYoqKi2LVrFx06dDhjn8TERDp06MD27dvp2LEjACUlJfj7+/Piiy9y1113kZWVhZ+fH59++injx48HIDU1lZCQEH788UeGDh16Xvmys7OxWq1kZWXh7e1dQ+9aaoNhGIx5exVbDmXx0OD23KtLbkWkjlu8JZX7vtyMi5OFb6dcRscgjSrVlPP9++0QI0tr1qzBarWWFyWAvn37YrVaWb16daX7lK355OHhUf6cs7Mzbm5urFy5EoCNGzdSVFTEkCFDyrcJCgqiU6dOZ31dcWwWi4VJp5cR+DR2P4XFWkZAROquwzn5PPVt6fTblKvaqiiZxCHKUnp6Ov7+/mc87+/vT3p6eqX7hIeHExoayvTp0zlx4gSFhYXMmjWL9PR00tLSyl/Xzc2Npk2bVtg3ICDgrK8LpUUsOzu7wkMcxzWdW+DfxJ3DOQX8tD3N7DgiIpUyDIMnFm0nM6+IyBbe/F3Tb6YxtSzNmDGj/BYqZ3ts2LABqPy2KoZhnPV2K66urnz99dckJibSrFkzPD09WbFiBcOHD8fZueoFvKp6XYCZM2eWn2hutVoJCQm5gHctZnNzceK2vqGATvQWkbpr8ZZUftmZgatz6dVvrs4OMb5RL13QopQ1bcqUKdx0001VbhMWFsbWrVvJyMg443tHjhwhICDgrPv27NmTuLg4srKyKCwsxM/Pjz59+tCrVy8AAgMDKSws5MSJExVGlw4fPky/fv3O+rrTp0/nwQcfLP86OztbhcnB3Ny7FbOX7SbuYCabD5yge6um595JRMRODmfn89S3OwC496p2RAbpfFgzmVqWfH198fX1Ped2UVFRZGVlsW7dOnr37g3A2rVrycrKqrLUlLFaS+d4k5KS2LBhA88++yxQWqZcXV1ZsmQJN954IwBpaWls376dl1566ayv5+7uXn5/PHFMfk3cGdU1iK83HWLOqmSVJRGpMwzD4PFF28k6VUSnlt78daDuZ2k2hxjTi4iIYNiwYUyePJnY2FhiY2OZPHkyI0eOrHAlXHh4OIsWLSr/ev78+axYsaJ8+YDBgwczZsyY8hO6rVYrd955Jw899BC//vormzdv5rbbbqNz584MGjTI7u9T7KtsGYEft6WRnpVvbhgRkdO+iUthabym3+oSh/kv8Pnnn9O5c2eGDBnCkCFD6NKlC59++mmFbRISEsjK+t/KzGlpaURHRxMeHs59991HdHQ0X375ZYV9Xn/9dcaMGcONN97IZZddhqenJ9999905z2sSx9eppZXeYc0othl8vna/2XFERMjIzmfG4p0A3H91O8IDNf1WFzjEOkt1ndZZclw/bkvjb59vormXG6seuwoPV5VkETGHYRjc9fEGft11mM4trSz6Wz9cNKpUq+rVOksitWVIZAAtfRpxLLeQxVtSzY4jIg3Ywk0p/LrrMG7OTrx6Y1cVpTpE/yWkQXNxdiI66n/LCGigVUTMkJ6Vz4zvSq9+u39QO9oHNDE5kfyRypI0eDddGoKHqxPxadms23fc7Dgi0sAYhsH0hVvJyS+ma7CVu69oY3Yk+ROVJWnwfDzdGNs9GNAilSJifws2HmJ5whHcnJ14ZZym3+oi/RcR4X/LCPyyM52Dx/PMDSMiDUZa1ime+a706repg9vTTtNvdZLKkgjQPqAJ/dv6YjNKb7ArIlLbDMPgsa+3kVNQTLcQHyZf3trsSHIWKksip03sFwbAvHUHyCssNjeMiNR78zcc4rfEI7i5aPqtrtN/GZHTrgr3J7S5J9n5xSzclGJ2HBGpx1IzT/Hs96XTbw8Nbk9b/8YmJ5KqqCyJnObkZOH2qDAA5q7WMgIiUjsMw+DRr7eSU1BM91Y+3HW5rn6r61SWRP5gXK9gvNyc2X34JCt3HzU7jojUQ/PWH+T3pKO4n55+c3aymB1JzkFlSeQPmni4Mq5XCKBlBESk5qVknuL5H+IBmDa0A5f4afrNEagsifzJ7f3CsFhg2a7D7Duaa3YcEaknDMPg0QVbOVlQTK/Qpky6TFe/OQqVJZE/ae3rxZUd/AH4eHWyuWFEpN74Yt0BVu4unX576YYumn5zICpLIpUoW6Ry/oaD5OQXmRtGRBzeweN5vHB6+u2RYeG00fSbQ1FZEqlE/7a+tPVvTG5hCfM3HDI7jog4MJut9Oq33MISLg1ryqTTa7qJ41BZEqmExWIpX6Ty4zXJlNi0jICIVM/n6w6wes8xPFydePmGrjhp+s3hqCyJnMV1PVri7eHC/mN5LN912Ow4IuKADh7PY+aPpdNvjw4LJ8zXy+REUh0qSyJn4enmws29WwGli1SKiFwIm81g2oIt5BWW0Lt1s/JFb8XxqCyJVCE6KhQnC6zcfZTEjByz44iIA/ls7X5i9x6nkaszL9/QRdNvDkxlSaQKwU09GRIZCGiRShE5fweO5THzx10APDY8nNDmmn5zZCpLIudQtozAos2HyMwrNDeMiNR5NpvBwwu2cKqohL5tmhHdN9TsSHKRVJZEzqF362ZEtvAmv8jGvPUHzY4jInXcJ2uSWbfvOJ5uzrx0va5+qw9UlkTOwWKxMPH06NInq5MpLrGZG0hE6qzko7m8GJMAwPTh4bRq7mlyIqkJKksi52F01yCae7mRmpXPLzszzI4jInWQzWbwyIKtnCoqIapNc27to+m3+kJlSeQ8eLg6c0uf0mUE5qzaZ3IaEamL5q5OZl3ycbzcnHlJV7/VKypLIufptr6huDhZWJ98gu0pWWbHEZE6ZN/RXF76ufTqt+nXRBDSTNNv9YnKksh5CvD24JrOLQAtIyAi/1NiM5g2fwv5RTb6t/Xl1tOj0FJ/qCyJXICyZQS+25LKkZwCc8OISJ0wZ9U+Nuw/QWN3F2Zd3xmLRdNv9Y3KksgF6N6qKd1CfCgssfHF2gNmxxERk+05cpKXfy69+u3xayIIbqrpt/pIZUnkApWNLn22dj+FxVpGQKShKpt+Kyi2cXk7X27uHWJ2JKklKksiF2h4pxb4N3HnSE4BP25LMzuOiJjko5X72HQg8/T0WxdNv9VjKksiF8jNxan89gVzVu3DMAyTE4mIve0+fJKXfymdfntiRAQtfRqZnEhqk8qSSDXc0qcVbi5ObDmUxeaDmWbHERE7KrEZTFuwhcJiG1e092P8pZp+q+9UlkSqoXljd67tGgRoGQGRhubfv+9l84FMmri78KKufmsQVJZEqqnsfnE/bUsjPSvf3DAiYhe7D+fw6pJEAJ4cFUkLq6bfGgKVJZFq6hhkpXfrZhTbDD6NTTY7jojUsuISGw/N30phsY0rO/gxrmew2ZHETlSWRC7CHadHl75Ye4D8ohJzw4hIrfrX73vZcjCTJh4uzLxOV781JCpLIhdhUEQALX0acSKviMVxqWbHEZFakpiRwxtLkgB4elRHAq0eJicSe1JZErkILs5OTIgqXUbgIy0jIFIvFZfYeHj+FgpLbFwV7s/1PVqaHUnsTGVJ5CLddGkrGrk6sys9h9i9x82OIyI17P3/7mXroSy8PVyYeZ2ufmuIVJZELpLV05XrTv9Lc+7qfSanEZGalJCewxtLS69+mzG6IwHemn5riFSWRGrAxH5hACzZmcHB43nmhhGRGlF0evqtqMRgUIQ/Y7tr+q2hUlkSqQHtAppweTtfbAZ8sibZ7DgiUgPeW7GHbSlZWBu58sJYTb81ZCpLIjVk0ullBOatP0huQbG5YUTkosSnZfPmstKr3/4xuiP+mn5r0FSWRGrIwPb+hDX3JCe/mIWbU8yOIyLV9Mfpt8GRAVzbLcjsSGIylSWRGuLkZOH20+cuzV21D5tNywiIOKJ3lu9hR2o2Pp6uPD+2k6bfRGVJpCbd0DOYxu4u7DmSy++7j5odR0Qu0I7ULN764/RbE02/icqSSI1q4uHKuF6l94uas0rLCIg4ksJiGw/P30qxzWBoxwBGd9X0m5RSWRKpYbdHhWGxwIqEI+w9ctLsOCJynt5evpv4tGyaerry3Bhd/Sb/o7IkUsPCfL24qoM/AB+vTjY3jIicl+0pWby9fDcAz1zbCb8m7iYnkrpEZUmkFky6rDUACzYeIju/yOQ0IlKV0um3LRTbDIZ3CmRklxZmR5I6RmVJpBZc1rY57QMak1tYwn/WHzQ7johUYfayJHal59DMy41nx+jqNzmTypJILbBYLEzsVzq69PGaZPKLSkxOJCKV2Z6Sxdsr9gDw7LWd8G2s6Tc5k8qSSC0Z270lPp6uHDx+ilFvrWTLwUyzI4nIHxQUl/DQf7ZQYjMY0aUFIzT9JmehsiRSSxq5OTP75h74NnYn6fBJrnt3NS/F7KKgWKNMInXBW7/uJiEjh+ZebjwzuqPZcaQOU1kSqUX92/myZOoVjO4aRInN4J0Vexj11kq2Hso0O5pIg7b1UCbv/lY6/fbcmE401/SbVEFlSaSWNfVy482bu/PebT3wbexGYsZJxr6zmld+TtAok4gJCopLeHh+6fTbqK5BDO+s6TepmsqSiJ0M69SCX6YOYGSXFpTYDGYv383ot1axPSXL7GgiDco/lyaRmHES38Zu/EPTb3IeVJZE7KiZlxuzb+nBu7f2oLmXGwkZOVz79ipe+yWBwmKb2fFE6r24g5m8Vz791plmXm4mJxJHoLIkYoLhnVvwy9QrGNG5dJTpzWW7GT17pUaZRGpRflHp9JvNgGu7BTGsU6DZkcRBqCyJmKR5Y3fevrUHb9/Sg2ZebuxKz2HM26t4bUmiRplEasEbS5PYffgkvo3dmTFK029y/lSWREw2okvpKNPwToEU2wze/DWJa99exc7UbLOjidQbmw6c4F//LZ1+e2FsJ5pq+k0ugMqSSB3g29idd27twVs3d6eppyvxadmMnr2SN5YmUlSiUSaRi5FfVMK009NvY7u3ZEhHTb/JhXGYsnTixAmio6OxWq1YrVaio6PJzMyscp+MjAwmTpxIUFAQnp6eDBs2jKSkpPLvHz9+nHvvvZcOHTrg6elJq1atuO+++8jK0nkjYn8Wi4VRXYP4ZeoAhnUsHWV6Y2kSY95eRXyaRplEquu1JYnsOZKLXxN3nh4VaXYccUAOU5ZuueUW4uLiiImJISYmhri4OKKjo8+6vWEYjBkzhr179/Ltt9+yefNmQkNDGTRoELm5uQCkpqaSmprKK6+8wrZt25g7dy4xMTHceeed9npbImfwa+LOu7f14M2bu+Pj6cqO1NJRpjd/TdIok8gFKCy28e/f9/Lv3/cCMHNsZ3w8Nf0mF85iGIZhdohziY+PJzIyktjYWPr06QNAbGwsUVFR7Nq1iw4dOpyxT2JiIh06dGD79u107Fh6Il9JSQn+/v68+OKL3HXXXZX+rPnz53PbbbeRm5uLi4vLeeXLzs7GarWSlZWFt7d3Nd+lyJkO5+TzxKLt/LIzA4BOLb15ZVxXwgP1eyZyNoZhsGRnBjN/2sW+o6X/OL6xVzAv3dDV5GRS15zv32+HGFlas2YNVqu1vCgB9O3bF6vVyurVqyvdp6CgAAAPD4/y55ydnXFzc2PlypVn/VllB+x8i5JIbfJv4sH70T35503dsDZyZXtKNqPeWsnsZUkUa5RJ5Aw7UrO45YO1/OXTjew7motvY3dmXdeZmdd1MTuaODCHaATp6en4+/uf8by/vz/p6emV7hMeHk5oaCjTp0/n/fffx8vLi9dee4309HTS0tIq3efYsWM8++yz3H333VXmKSgoKC9jUNpMRWqLxWLh2m4tiWrTnMcXbWdpfAav/JLIzzsyeGVcVzoENjE7oojpDmfn8+ovifxn40EMA9xcnLirf2v+dmVbGrs7xJ86qcNMHVmaMWMGFoulyseGDRuA0j8Yf2YYRqXPA7i6uvL111+TmJhIs2bN8PT0ZMWKFQwfPhxnZ+czts/OzmbEiBFERkby9NNPV5l75syZ5SeaW61WQkJCqvHuRS6Mv7cHH0zoyevju2Jt5Mq2lCxGvbWSt5fv1iiTNFj5RSXMXpbEwFdW8NWG0qI0sksLfn1wAI8MC1dRkhph6jlLR48e5ejRo1VuExYWxhdffMGDDz54xtVvPj4+vP7660yaNKnK18jKyqKwsBA/Pz/69OlDr169ePvtt8u/n5OTw9ChQ/H09OT777+vMHVXmcpGlkJCQnTOktjN4ex8Hl+0jaXxhwHoGmzllXFdaRegUSZpGAzDYPGWVF6KSSAl8xQAXUN8eGpkBD1Dm5mcThzF+Z6z5FAneK9du5bevXsDsHbtWvr27XvWE7wrk5SURHh4OD/99BNDhgwBSg/U0KFDcXd358cff8TT0/OC8+kEbzGDYRgs3JTCP77bQXZ+MW7OTkwd3J7Jl7fGxdkhTkcUqZZNB07w7Pc72XwgE4AgqwePDg9nVJcgnJwqn20QqUy9KksAw4cPJzU1lffffx+Av/zlL4SGhvLdd9+VbxMeHs7MmTMZO3YsUHplm5+fH61atWLbtm3cf//99OzZk6+//hooHVEaPHgweXl5LFq0CC8vr/LX8vPzq3S6rjIqS2Km9KzSUaZlu06PMoX48Oq4LrT11yiT1C8pmad48addLN6SCoCnmzN/HXAJd13ehkZu5/d5LfJH5/v322Emcz///HPuu+++8hGh0aNHM3v27ArbJCQkVFhQMi0tjQcffJCMjAxatGjBhAkTePLJJ8u/v3HjRtauXQtA27ZtK7zWvn37CAsLq6V3I1JzAq0efHh7LxZsPMQz3+9ky8FMrnlzJQ8Obs/ky9vgrH9pi4PLLSjm3RV7+OD3vRQU27BY4IYewTw8tAMB3lWfNiFSExxmZKku08iS1BXpWfk8tnArKxKOANC9lQ8v39CVtv6NTU4mcuFKbAYLNh7klV8SOZJTep5on9bNeHJkJJ1aWk1OJ/VBvZuGq8tUlqQuMQyD+RsO8ez3O8kpKMbNxYmHh7Tnzv4aZRLHsXrPUZ77Pp6dp2/1E9rck8eviWBIZMBZr4IWuVAqS3aksiR1UWrmKR5buI3/JpaOMvVo5cPL47pyiZ9GmaTu2nc0lxd+jGfJ6VXrm3i4cP/V7ZgQFYabiy5ckJqlsmRHKktSVxmGwX82HOTZ7+M5WVCMu4sT04Z2YNJlrTXKJHVKVl4Rby5L4pM1yRSVGDg7Wbi1TyseGNSeZl66n5vUDpUlO1JZkrouJfMUj329ld+TStc16xXalJdu6EIbjTKJyYpKbHweu583fk0iM68IgIEd/Pi/ayK0bpjUOpUlO1JZEkdgGAbz1h/k+R80yiTmMwyD5QmHef6HePYcKb3ZbTv/xjwxMpIB7f1MTicNhcqSHaksiSNJyTzFowu2snJ36SjTpWFNefmGroT5ep1jT5GakZCew3M/7Cwf6Wzm5caDg9tz06UhWlBV7EplyY5UlsTRGIbBF+sO8MIP8eQWluDh6sQjQ8OZ2C9MKyBLrTl6soDXliQyb90BbAa4OTsx6bIw/n5VW7w9XM2OJw2QypIdqSyJozp4PI/HFm5l1e5jAPRu3YyXb+hCaHONMknNKSguYc6qZN5etpucgmIAhncK5LHh4fpdE1OpLNmRypI4MsMw+HztAV74MZ68whIauTrz6LAOTIjSKJNcHMMw+Gl7OjN/iufg8dKb3XZuaeWJERH0adPc5HQiKkt2pbIk9cHB43k8smAra/aWjjL1ad2Ml2/oSqvmF35zaZGthzJ59vudrE8+AUCAtzvThoZzXfeWKuFSZ6gs2ZHKktQXNpvB52v388KPuzhVVIKnmzOPDQ/ntj6h+gMn5yUt6xQvxySwcHMKAB6uTvzliku4Z0AbPN0c5nak0kCoLNmRypLUNweO5TFtwRbW7jsOQN82paNMIc00yiSVyyss5v3f9vL+f/eQX2QD4LruLZk2rAMtrI1MTidSOZUlO1JZkvrIZjP4NHY/s3763yjT9GsiuLV3K40ySTmbzWDR5hRe/jmB9Ox8oHTR0ydHRtI1xMfccCLnoLJkRypLUp/tP5bLtPlbWZdcOsrU75LmvHh9F40yCev2Hee5H3ay9VAWAMFNGzF9eATXdA7UzW7FIags2ZHKktR3NpvBx2uSeTFmF/lFNrzcnHl8RAS39G6lP4oN0IFjecyKiefHbekANHZ34e9XtmXSZWF4uDqbnE7k/Kks2ZHKkjQUyUdzmbZgS/kVTv3b+jLr+s4EN9UoU0OQnV/E28t2M2dVMoUlNpwscFPvVjw4uD2+jd3NjidywVSW7EhlSRoSm81gzupkXv65dJSpsbsLj18Twc29QzTKVE8Vl9iYt/4gry9J5FhuIQCXt/Pl/0ZEEB6ozzxxXCpLdqSyJA3RvqO5TJu/hQ37S0eZLm/ny6zru9DSR1c+1Sf/TTzCcz/sJDHjJABt/Lx4YkQEV3bwVzkWh6eyZEcqS9JQldgM5qzax8s/J1BQXDrK9MSICMZfqlEmR7f7cA7P/xDP8oQjAPh4uvLA1e24tW8orrrZrdQTKkt2pLIkDd2eIyeZNn8Lmw5kAnBFez9mXdeZII0yOZzjuYW8sTSRz9ceoMRm4OJkYUJUGPdf3Q6rp252K/WLypIdqSyJlI4yfbhyL6/8kkhhsY0m7i48OTKScb2CNcrkAAqLbXyyJpk3f00iO7/0ZreDIwOYPjycNn6NTU4nUjtUluxIZUnkf3YfPsm0BVvYfHqUaWAHP2Ze11mrONdRhmHwy84MZv4YT/KxPAAiWnjz5IgI+rX1NTmdSO1SWbIjlSWRikpsBv/+fS+vLjk9yuRxepSpp0aZ6pIdqVk8+/1OYveWLjjq29idaUPbc0PPEJy1Srs0ACpLdqSyJFK53YdzeGj+VrYczATgyg5+zLyuC4FWD3ODNXCHs/N55ZcE5m88hGGAm4sTky9vzV8HtqWxu252Kw2HypIdqSyJnF1xiY0Pft/H60sSKSyx4e3hwlOjOnJ9j5YaZbKz/KIS/v37Xt5ZsYe8whIARnUN4tFhHbSwqDRIKkt2pLIkcm5JGTk8PH8LW07fR+zqcH9euK4zAd4aZapthmGweEsqL/60i9Ss0pvddgvx4cmRkfQMbWpyOhHzqCzZkcqSyPkpLrHx/n/38s+lSeWjTDNGd2Rsd40y1ZaN+0/w7Pc7iTs9FRpk9eDR4eGM7hqkYy4NnsqSHaksiVyYhPTSUaZtKaWjTIMiAnhhbCf8NcpUYw6dyOPFmAS+25IKgKebM38beAl3Xd5GN7sVOU1lyY5UlkQuXNko0xtLEykqMbA2cuUfoztybTeNeFyMkwXFvLtiN//+fR8FxTYsFhjXM5iHh3RQGRX5E5UlO1JZEqm+XenZPDx/C9tTsoHShRCfH9sJ/yb6w34hSmwG8zcc5JVfEjl6sgCAvm2a8cSISDq1tJqcTqRuUlmyI5UlkYtTVGLjvRV7eHNZEkUlBj6epaNMOq/m/KzefZRnf4gnPq20cIY19+TxayIYHBmg4ydSBZUlO1JZEqkZ8WnZPPSfLew8/Ud/aMcAnhvTGb8m7iYnq5v2HjnJCz/uYml8BgDeHi7cd3U7JkSF4eaim92KnIvKkh2pLInUnKISG+8s38Nby5Iothk09XTlH9d2YlSXFholOS0rr4h//prEJ2uSKbYZODtZuK1PK+4f1J5mXm5mxxNxGCpLdqSyJFLzdqaWnstUNso0vFMgz47phG/jhjvKVFRi4/PY/bzxaxKZeUVA6aro/zcigrb+TUxOJ+J4VJbsSGVJpHYUFtt4e/lu3l6+m2KbQTMvN565tiMjuwSZHc2uDMNgecJhnv8hnj1HcgFoH9CYJ0ZEckV7P5PTiTgulSU7UlkSqV3bU7J4eP4WdqXnAHBN50CevbYTzRvAKNOu9Gye+z6elbuPAtDcy40Hh7RnfK8QXJx1XpLIxVBZsiOVJZHaV1hsY/ayJN5esYcSm0FzLzeeHdOJazq3MDtarTh6soBXf0nkq/UHsBng5uzEpP5h/P3Ktnh7uJodT6ReUFmyI5UlEfv58yjTiC4tePbaTvXmxOb8ohLmrErm7eW7OVlQDJSOpD02LIJWzXWzW5GapLJkRypLIvZVUFzCW7/u5t3f/jfK9NyYTgx34FEmwzD4cVs6M3+K59CJUwB0CbbyxIhIerduZnI6kfpJZcmOVJZEzLH1UCYPz99CYsZJAEZ1DeKZ0R1p6mCjTFsOZvLcDztZn3wCgEBvDx4Z1oEx3Vri5KTlEkRqi8qSHaksiZinoLiEN39N4t0Ve7AZ4NvYjefGdGZYp0Czo51TWtYpXo5JYOHmFAAauTpz94A2/OWKNni6uZicTqT+U1myI5UlEfNtOVg6ypR0uHSU6dpuQcwYVTdHmfIKi3nvt7386797yC+yAXBdj5Y8MjScQKvuiSdiLypLdqSyJFI35BeV8M9fk3j/t7JRJndeGNuJIR3rxiiTzWawcHMKL/+8i4zs0pvdXhrWlCdHRtIl2MfccCINkMqSHaksidQtcQczeeg/ceULOI7t3pKnR0Xi42neKNO6fcd59vudbEvJAiCkWSOmD49geKdA3cZFxCQqS3aksiRS9+QXlfD60kQ++O9ebAb4NXFn5tjODIoMsGuOA8fymPlTPD9tTwegibsLU65qy+39wvBwdbZrFhGpSGXJjlSWROquTQdOMG3+lvJRpuu6t+TpUR2xetbuwo7Z+UXMXrabuauSKSyx4WSBm3u3Yurg9g36/nYidYnKkh2pLInUbflFJby+JJF//b4Xw4AAb3dmXteZq8JrfpSpuMTGl+sP8vqSRI7nFgJweTtfnhgRSYdA3exWpC5RWbIjlSURx7Bxf+ko096jpaNM1/cI5qlRkVgb1cwo02+JR3j+h53l6z5d4ufFEyMiGdjBT+clidRBKkt2pLIk4jjyi0p49ZcE/r1yX/ko06zrunBluH+1X3P34Rye+yGeFQlHAPDxdGXqoPbc0qcVrrrZrUidpbJkRypLIo5nQ/Jxpi3Yyr7To0zjegbzxMgLG2U6nlvIG0sT+XztAUpsBq7OFiZEhXHfVe1q/ZwoEbl4Kkt2pLIk4phOFZbwyi8JfLSqdJQp0NuDWdd3ZmCHqkeZCottfLImmX/+mkROfunNbodEBjD9mgha+3rZI7qI1ACVJTtSWRJxbOuTjzNt/haSj+UBML5XCP83MgJvj4qjQ4Zh8POODGb+FM/+09tGtvDmiZER9LvE1+65ReTiqCzZkcqSiOM7VVjCSz/vYu7qZAwDWlg9ePH6LlzR3g+A7SlZPPfDTmL3HgdK122aNqQD1/cMxlk3uxVxSCpLdqSyJFJ/rN17jGkLtnLgeOnI0U2XhlBiM1iw6RCGAe4uTky+vA33DLyExu662a2II1NZsiOVJZH6Ja+wmJdiEpi7OrnC89d2C+KRYeG09GlkTjARqVHn+/db/ywSEfkTTzcXZozuyLBOgTz97Q6snq48NjycHq2amh1NREygkaUaoJElERERx3O+f7+1WpqIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoOU5ZOnDhBdHQ0VqsVq9VKdHQ0mZmZVe6TkZHBxIkTCQoKwtPTk2HDhpGUlFTptoZhMHz4cCwWC998803NvwERERFxSA5Tlm655Rbi4uKIiYkhJiaGuLg4oqOjz7q9YRiMGTOGvXv38u2337J582ZCQ0MZNGgQubm5Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=","text/plain":"
"},"metadata":{},"output_type":"display_data"}],"execution_count":37},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file +{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Quantum Espresso Energy Volume Curve Workflow with aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\n\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_pyiron_base_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from aiida_workgraph import task, WorkGraph\nfrom typing import Any","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"# NOTE: `get_dict` is `get_input_dict`, to compile the input values for the calc tasks\n# NOTE: `add_link` must be from outputs to inputs\nfrom python_workflow_definition.shared import get_dict, get_list","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"from quantum_espresso_workflow import generate_structures as _generate_structures\nfrom quantum_espresso_workflow import get_bulk_structure as _get_bulk_structure\nfrom quantum_espresso_workflow import calculate_qe as _calculate_qe\nfrom quantum_espresso_workflow import plot_energy_volume_curve as _plot_energy_volume_curve","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"strain_lst = [0.9, 0.95, 1.0, 1.05, 1.1]","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"code","source":"get_bulk_structure = task.pythonjob()(_get_bulk_structure)\ngenerate_structures = task.pythonjob()(_generate_structures)\ncalculate_qe = task.pythonjob(outputs=[\"energy\", \"volume\", \"structure\"])(\n _calculate_qe\n)\nplot_energy_volume_curve = task.pythonjob()(_plot_energy_volume_curve)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"wg = WorkGraph(\"wg-qe\")","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"pickle_element_task = wg.add_task(\n pickle_node,\n name=\"pickle_element\",\n value=\"Al\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"cell_type":"code","source":"pickle_a_task = wg.add_task(\n pickle_node, name=\"pickle_a\", value=4.05\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"pickle_cubic_task = wg.add_task(\n pickle_node, name=\"pickle_cubic\", value=True\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"cell_type":"code","source":"pickle_relax_workdir_task = wg.add_task(\n pickle_node,\n name=\"pickle_relax_workdir\",\n value=\"mini\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"cell_type":"code","source":"# ? relax or SCF, or general? -> Should be relax\nrelax_get_dict_task = wg.add_task(\n task.pythonjob(\n # outputs=[\"structure\", \"calculation\", \"kpts\", \"pseudopotentials\", \"smearing\"]\n # outputs=[\"dict\"]\n )(get_dict),\n name=\"relax_get_dict\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"cell_type":"code","source":"pickle_pp_task = wg.add_task(\n pickle_node,\n name=\"pseudopotentials\",\n value={\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"},\n)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"cell_type":"code","source":"pickle_kpts_task = wg.add_task(\n pickle_node, name=\"kpts_task\", value=[3, 3, 3] # FIXME: Back to [3, 3, 3]\n)","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"cell_type":"code","source":"pickle_calc_type_relax_task = wg.add_task(\n pickle_node,\n name=\"calc_type_relax\",\n value=\"vc-relax\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"cell_type":"code","source":"pickle_smearing_task = wg.add_task(\n pickle_node, name=\"smearing\", value=0.02\n)","metadata":{"trusted":true},"outputs":[],"execution_count":17},{"cell_type":"code","source":"strain_lst_task = wg.add_task(\n pickle_node,\n name=\"pickle_strain_lst\",\n value=strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"cell_type":"code","source":"get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n name=\"get_bulk_structure\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":19},{"cell_type":"code","source":"relax_task = wg.add_task(\n calculate_qe,\n # ! I don't like the `mini` name...\n name=\"mini\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":20},{"cell_type":"code","source":"generate_structures_task = wg.add_task(\n generate_structures,\n name=\"generate_structures\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":21},{"cell_type":"code","source":"# here we add the structure outputs based on the number of strains\ndel wg.tasks.generate_structures.outputs[\"result\"]","metadata":{"trusted":true},"outputs":[],"execution_count":22},{"cell_type":"code","source":"scf_qe_tasks = []\nfor i, strain in enumerate(strain_lst):\n generate_structures_task.add_output(\"workgraph.any\", f\"s_{i}\")\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n name=f\"qe_{i}\",\n register_pickle_by_value=True,\n )\n scf_qe_tasks.append(scf_qe_task)","metadata":{"trusted":true},"outputs":[],"execution_count":23},{"cell_type":"code","source":"plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n name=\"plot_energy_volume_curve\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"cell_type":"code","source":"strain_dir_tasks, scf_get_dict_tasks = [], []\nfor i, strain in enumerate(strain_lst):\n strain_dir = f\"strain_{i}\"\n\n strain_dir_task = wg.add_task(\n pickle_node,\n name=f\"pickle_{strain_dir}_dir\",\n value=strain_dir,\n register_pickle_by_value=True,\n )\n strain_dir_tasks.append(strain_dir_task)\n\n scf_get_dict_task = wg.add_task(\n task.pythonjob()(get_dict),\n name=f\"get_dict_{i}\",\n register_pickle_by_value=True,\n )\n scf_get_dict_tasks.append(scf_get_dict_task)\n\n if i == 0:\n pickle_calc_type_scf_task = wg.add_task(\n pickle_node,\n name=\"calc_type_scf\",\n value=\"scf\",\n )","metadata":{"trusted":true},"outputs":[],"execution_count":25},{"cell_type":"code","source":"get_volumes_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_volumes\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":26},{"cell_type":"code","source":"get_energies_task = wg.add_task(\n task.pythonjob()(get_list),\n name=\"get_energies\",\n register_pickle_by_value=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":27},{"cell_type":"code","source":"# Add remaining links\nwg.add_link(\n pickle_element_task.outputs.result, get_bulk_structure_task.inputs.element\n)\nwg.add_link(pickle_a_task.outputs.result, get_bulk_structure_task.inputs.a)\nwg.add_link(pickle_cubic_task.outputs.result, get_bulk_structure_task.inputs.cubic)","metadata":{"trusted":true},"outputs":[{"execution_count":28,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_cubic.result\", to=\"get_bulk_structure.cubic\")"},"metadata":{}}],"execution_count":28},{"cell_type":"code","source":"# `.set` rather than `.add_link`, as get_dict takes `**kwargs` as input\nrelax_get_dict_task.set(\n {\n \"structure\": get_bulk_structure_task.outputs.result,\n \"calculation\": pickle_calc_type_relax_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n)","metadata":{"trusted":true},"outputs":[],"execution_count":29},{"cell_type":"code","source":"wg.add_link(relax_get_dict_task.outputs.result, relax_task.inputs.input_dict)\nwg.add_link(\n pickle_relax_workdir_task.outputs.result,\n relax_task.inputs.working_directory,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":30,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_relax_workdir.result\", to=\"mini.working_directory\")"},"metadata":{}}],"execution_count":30},{"cell_type":"code","source":"wg.add_link(relax_task.outputs.structure, generate_structures_task.inputs.structure)\nwg.add_link(\n strain_lst_task.outputs.result, generate_structures_task.inputs.strain_lst\n)","metadata":{"trusted":true},"outputs":[{"execution_count":31,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"pickle_strain_lst.result\", to=\"generate_structures.strain_lst\")"},"metadata":{}}],"execution_count":31},{"cell_type":"code","source":"for i, (scf_get_dict_task, scf_qe_task, strain_dir_task) in enumerate(\n list(zip(scf_get_dict_tasks, scf_qe_tasks, strain_dir_tasks))\n):\n scf_get_dict_task.set(\n {\n \"structure\": generate_structures_task.outputs[f\"s_{i}\"],\n \"calculation\": pickle_calc_type_scf_task.outputs.result,\n \"kpts\": pickle_kpts_task.outputs.result,\n \"pseudopotentials\": pickle_pp_task.outputs.result,\n \"smearing\": pickle_smearing_task.outputs.result,\n }\n )\n wg.add_link(scf_get_dict_task.outputs.result, scf_qe_task.inputs.input_dict)\n wg.add_link(\n strain_dir_task.outputs.result, scf_qe_task.inputs.working_directory\n )\n\n # collect energy and volume\n # wg.add_link(scf_qe_task.outputs.energy, get_energies_task.inputs.kwargs)\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n # wg.add_link(scf_qe_task.outputs.volume, get_volumes_task.inputs.kwargs)\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})","metadata":{"trusted":true},"outputs":[],"execution_count":32},{"cell_type":"code","source":"wg.add_link(\n get_volumes_task.outputs.result,\n plot_energy_volume_curve_task.inputs.volume_lst,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":33,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"get_volumes.result\", to=\"plot_energy_volume_curve.volume_lst\")"},"metadata":{}}],"execution_count":33},{"cell_type":"code","source":"wg.add_link(\n get_energies_task.outputs.result,\n plot_energy_volume_curve_task.inputs.energy_lst,\n)","metadata":{"trusted":true},"outputs":[{"execution_count":34,"output_type":"execute_result","data":{"text/plain":"NodeLink(from=\"get_energies.result\", to=\"plot_energy_volume_curve.energy_lst\")"},"metadata":{}}],"execution_count":34},{"cell_type":"code","source":"_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":true},"outputs":[],"execution_count":35},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\n \"nodes\": {\n \"0\": \"Al\",\n \"1\": 4.05,\n \"2\": true,\n \"3\": \"mini\",\n \"4\": \"python_workflow_definition.shared.get_dict\",\n \"5\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n },\n \"6\": [\n 3,\n 3,\n 3\n ],\n \"7\": \"vc-relax\",\n \"8\": 0.02,\n \"9\": [\n 0.9,\n 0.95,\n 1.0,\n 1.05,\n 1.1\n ],\n \"10\": \"quantum_espresso_workflow.get_bulk_structure\",\n \"11\": \"quantum_espresso_workflow.calculate_qe\",\n \"12\": \"quantum_espresso_workflow.generate_structures\",\n \"13\": \"quantum_espresso_workflow.calculate_qe\",\n \"14\": \"quantum_espresso_workflow.calculate_qe\",\n \"15\": \"quantum_espresso_workflow.calculate_qe\",\n \"16\": \"quantum_espresso_workflow.calculate_qe\",\n \"17\": \"quantum_espresso_workflow.calculate_qe\",\n \"18\": \"quantum_espresso_workflow.plot_energy_volume_curve\",\n \"19\": \"strain_0\",\n \"20\": \"python_workflow_definition.shared.get_dict\",\n \"21\": \"scf\",\n \"22\": \"strain_1\",\n \"23\": \"python_workflow_definition.shared.get_dict\",\n \"24\": \"strain_2\",\n \"25\": \"python_workflow_definition.shared.get_dict\",\n \"26\": \"strain_3\",\n \"27\": \"python_workflow_definition.shared.get_dict\",\n \"28\": \"strain_4\",\n \"29\": \"python_workflow_definition.shared.get_dict\",\n \"30\": \"python_workflow_definition.shared.get_list\",\n \"31\": \"python_workflow_definition.shared.get_list\"\n },\n \"edges\": [\n {\n \"target\": 10,\n \"targetHandle\": \"element\",\n \"source\": 0,\n \"sourceHandle\": null\n },\n {\n \"target\": 10,\n \"targetHandle\": \"a\",\n \"source\": 1,\n \"sourceHandle\": null\n },\n {\n \"target\": 10,\n \"targetHandle\": \"cubic\",\n \"source\": 2,\n \"sourceHandle\": null\n },\n {\n \"target\": 4,\n \"targetHandle\": \"structure\",\n \"source\": 10,\n \"sourceHandle\": null\n },\n {\n \"target\": 4,\n \"targetHandle\": \"calculation\",\n \"source\": 7,\n \"sourceHandle\": null\n },\n {\n \"target\": 4,\n \"targetHandle\": \"kpts\",\n \"source\": 6,\n \"sourceHandle\": null\n },\n {\n \"target\": 4,\n \"targetHandle\": \"pseudopotentials\",\n \"source\": 5,\n \"sourceHandle\": null\n },\n {\n \"target\": 4,\n \"targetHandle\": \"smearing\",\n \"source\": 8,\n \"sourceHandle\": null\n },\n {\n \"target\": 11,\n \"targetHandle\": \"input_dict\",\n \"source\": 4,\n \"sourceHandle\": null\n },\n {\n \"target\": 11,\n \"targetHandle\": \"working_directory\",\n \"source\": 3,\n \"sourceHandle\": null\n },\n {\n \"target\": 12,\n \"targetHandle\": \"structure\",\n \"source\": 11,\n \"sourceHandle\": \"structure\"\n },\n {\n \"target\": 12,\n \"targetHandle\": \"strain_lst\",\n \"source\": 9,\n \"sourceHandle\": null\n },\n {\n \"target\": 20,\n \"targetHandle\": \"structure\",\n \"source\": 12,\n \"sourceHandle\": \"s_0\"\n },\n {\n \"target\": 20,\n \"targetHandle\": \"calculation\",\n \"source\": 21,\n \"sourceHandle\": null\n },\n {\n \"target\": 20,\n \"targetHandle\": \"kpts\",\n \"source\": 6,\n \"sourceHandle\": null\n },\n {\n \"target\": 20,\n \"targetHandle\": \"pseudopotentials\",\n \"source\": 5,\n \"sourceHandle\": null\n },\n {\n \"target\": 20,\n \"targetHandle\": \"smearing\",\n \"source\": 8,\n \"sourceHandle\": null\n },\n {\n \"target\": 13,\n \"targetHandle\": \"input_dict\",\n \"source\": 20,\n \"sourceHandle\": null\n },\n {\n \"target\": 13,\n \"targetHandle\": \"working_directory\",\n \"source\": 19,\n \"sourceHandle\": null\n },\n {\n \"target\": 31,\n \"targetHandle\": \"0\",\n \"source\": 13,\n \"sourceHandle\": \"energy\"\n },\n {\n \"target\": 30,\n \"targetHandle\": \"0\",\n \"source\": 13,\n \"sourceHandle\": \"volume\"\n },\n {\n \"target\": 23,\n \"targetHandle\": \"structure\",\n \"source\": 12,\n \"sourceHandle\": \"s_1\"\n },\n {\n \"target\": 23,\n \"targetHandle\": \"calculation\",\n \"source\": 21,\n \"sourceHandle\": null\n },\n {\n \"target\": 23,\n \"targetHandle\": \"kpts\",\n \"source\": 6,\n \"sourceHandle\": null\n },\n {\n \"target\": 23,\n \"targetHandle\": \"pseudopotentials\",\n \"source\": 5,\n \"sourceHandle\": null\n },\n {\n \"target\": 23,\n \"targetHandle\": \"smearing\",\n \"source\": 8,\n \"sourceHandle\": null\n },\n {\n \"target\": 14,\n \"targetHandle\": \"input_dict\",\n \"source\": 23,\n \"sourceHandle\": null\n },\n {\n \"target\": 14,\n \"targetHandle\": \"working_directory\",\n \"source\": 22,\n \"sourceHandle\": null\n },\n {\n \"target\": 31,\n \"targetHandle\": \"1\",\n \"source\": 14,\n \"sourceHandle\": \"energy\"\n },\n {\n \"target\": 30,\n \"targetHandle\": \"1\",\n \"source\": 14,\n \"sourceHandle\": \"volume\"\n },\n {\n \"target\": 25,\n \"targetHandle\": \"structure\",\n \"source\": 12,\n \"sourceHandle\": \"s_2\"\n },\n {\n \"target\": 25,\n \"targetHandle\": \"calculation\",\n \"source\": 21,\n \"sourceHandle\": null\n },\n {\n \"target\": 25,\n \"targetHandle\": \"kpts\",\n \"source\": 6,\n \"sourceHandle\": null\n },\n {\n \"target\": 25,\n \"targetHandle\": \"pseudopotentials\",\n \"source\": 5,\n \"sourceHandle\": null\n },\n {\n \"target\": 25,\n \"targetHandle\": \"smearing\",\n \"source\": 8,\n \"sourceHandle\": null\n },\n {\n \"target\": 15,\n \"targetHandle\": \"input_dict\",\n \"source\": 25,\n \"sourceHandle\": null\n },\n {\n \"target\": 15,\n \"targetHandle\": \"working_directory\",\n \"source\": 24,\n \"sourceHandle\": null\n },\n {\n \"target\": 31,\n \"targetHandle\": \"2\",\n \"source\": 15,\n \"sourceHandle\": \"energy\"\n },\n {\n \"target\": 30,\n \"targetHandle\": \"2\",\n \"source\": 15,\n \"sourceHandle\": \"volume\"\n },\n {\n \"target\": 27,\n \"targetHandle\": \"structure\",\n \"source\": 12,\n \"sourceHandle\": \"s_3\"\n },\n {\n \"target\": 27,\n \"targetHandle\": \"calculation\",\n \"source\": 21,\n \"sourceHandle\": null\n },\n {\n \"target\": 27,\n \"targetHandle\": \"kpts\",\n \"source\": 6,\n \"sourceHandle\": null\n },\n {\n \"target\": 27,\n \"targetHandle\": \"pseudopotentials\",\n \"source\": 5,\n \"sourceHandle\": null\n },\n {\n \"target\": 27,\n \"targetHandle\": \"smearing\",\n \"source\": 8,\n \"sourceHandle\": null\n },\n {\n \"target\": 16,\n \"targetHandle\": \"input_dict\",\n \"source\": 27,\n \"sourceHandle\": null\n },\n {\n \"target\": 16,\n \"targetHandle\": \"working_directory\",\n \"source\": 26,\n \"sourceHandle\": null\n },\n {\n \"target\": 31,\n \"targetHandle\": \"3\",\n \"source\": 16,\n \"sourceHandle\": \"energy\"\n },\n {\n \"target\": 30,\n \"targetHandle\": \"3\",\n \"source\": 16,\n \"sourceHandle\": \"volume\"\n },\n {\n \"target\": 29,\n \"targetHandle\": \"structure\",\n \"source\": 12,\n \"sourceHandle\": \"s_4\"\n },\n {\n \"target\": 29,\n \"targetHandle\": \"calculation\",\n \"source\": 21,\n \"sourceHandle\": null\n },\n {\n \"target\": 29,\n \"targetHandle\": \"kpts\",\n \"source\": 6,\n \"sourceHandle\": null\n },\n {\n \"target\": 29,\n \"targetHandle\": \"pseudopotentials\",\n \"source\": 5,\n \"sourceHandle\": null\n },\n {\n \"target\": 29,\n \"targetHandle\": \"smearing\",\n \"source\": 8,\n \"sourceHandle\": null\n },\n {\n \"target\": 17,\n \"targetHandle\": \"input_dict\",\n \"source\": 29,\n \"sourceHandle\": null\n },\n {\n \"target\": 17,\n \"targetHandle\": \"working_directory\",\n \"source\": 28,\n \"sourceHandle\": null\n },\n {\n \"target\": 31,\n \"targetHandle\": \"4\",\n \"source\": 17,\n \"sourceHandle\": \"energy\"\n },\n {\n \"target\": 30,\n \"targetHandle\": \"4\",\n \"source\": 17,\n \"sourceHandle\": \"volume\"\n },\n {\n \"target\": 18,\n \"targetHandle\": \"volume_lst\",\n \"source\": 30,\n \"sourceHandle\": null\n },\n {\n \"target\": 18,\n \"targetHandle\": \"energy_lst\",\n \"source\": 31,\n \"sourceHandle\": null\n }\n ]\n}"}],"execution_count":36},{"cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":37},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":38},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":39},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-22 09:38:57,271 INFO Started executing jobs locally\n2025-03-22 09:38:57,360 INFO Starting job - get_bulk_structure (bc36be74-8c46-4923-be97-16ab7a7e1693)\n2025-03-22 09:38:57,364 INFO Finished job - get_bulk_structure (bc36be74-8c46-4923-be97-16ab7a7e1693)\n2025-03-22 09:38:57,365 INFO Starting job - get_dict (10dae56f-89a4-42d2-9554-bd29adb7b3f0)\n2025-03-22 09:38:57,366 INFO Finished job - get_dict (10dae56f-89a4-42d2-9554-bd29adb7b3f0)\n2025-03-22 09:38:57,367 INFO Starting job - calculate_qe (b93711f3-3365-492b-a2ca-4cb8d3762b7c)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01801] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:39:50,621 INFO Finished job - calculate_qe (b93711f3-3365-492b-a2ca-4cb8d3762b7c)\n2025-03-22 09:39:50,622 INFO Starting job - generate_structures (5123e54e-b9ef-4caf-9281-5a00cf4a4ebf)\n2025-03-22 09:39:50,628 INFO Finished job - generate_structures (5123e54e-b9ef-4caf-9281-5a00cf4a4ebf)\n2025-03-22 09:39:50,761 INFO Starting job - get_dict (76afdc8c-8656-4cfa-b900-0d130d9c844c)\n2025-03-22 09:39:50,765 INFO Finished job - get_dict (76afdc8c-8656-4cfa-b900-0d130d9c844c)\n2025-03-22 09:39:50,860 INFO Starting job - get_dict (486a6ea7-31ac-4c4a-a295-9df80f1bc6c7)\n2025-03-22 09:39:50,863 INFO Finished job - get_dict (486a6ea7-31ac-4c4a-a295-9df80f1bc6c7)\n2025-03-22 09:39:50,864 INFO Starting job - get_dict (e241fa28-81f9-468a-8ebb-156712cd117f)\n2025-03-22 09:39:50,867 INFO Finished job - get_dict (e241fa28-81f9-468a-8ebb-156712cd117f)\n2025-03-22 09:39:50,867 INFO Starting job - get_dict (70ec7201-be3a-4554-a458-c36b73434b32)\n2025-03-22 09:39:50,870 INFO Finished job - get_dict (70ec7201-be3a-4554-a458-c36b73434b32)\n2025-03-22 09:39:50,870 INFO Starting job - get_dict (d0b9341a-e979-48ce-9e08-e8238634f963)\n2025-03-22 09:39:50,873 INFO Finished job - get_dict (d0b9341a-e979-48ce-9e08-e8238634f963)\n2025-03-22 09:39:50,874 INFO Starting job - calculate_qe (a7c433bc-8a72-4809-a8c9-9ae9f3a60c9e)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01862] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:40:01,561 INFO Finished job - calculate_qe (a7c433bc-8a72-4809-a8c9-9ae9f3a60c9e)\n2025-03-22 09:40:01,561 INFO Starting job - calculate_qe (f304e1a0-78c2-48e3-8c85-7655edab7f98)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01872] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:40:14,760 INFO Finished job - calculate_qe (f304e1a0-78c2-48e3-8c85-7655edab7f98)\n2025-03-22 09:40:14,761 INFO Starting job - calculate_qe (381133b7-b165-4d9a-8b57-cb865631f957)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01882] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:40:27,002 INFO Finished job - calculate_qe (381133b7-b165-4d9a-8b57-cb865631f957)\n2025-03-22 09:40:27,003 INFO Starting job - calculate_qe (e3553123-a328-41f4-a75c-6ca2554e155b)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01892] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:40:40,483 INFO Finished job - calculate_qe (e3553123-a328-41f4-a75c-6ca2554e155b)\n2025-03-22 09:40:40,484 INFO Starting job - calculate_qe (155ae32b-d7c9-4aa3-a5c6-4b98145f19e3)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01902] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:40:54,282 INFO Finished job - calculate_qe (155ae32b-d7c9-4aa3-a5c6-4b98145f19e3)\n2025-03-22 09:40:54,282 INFO Starting job - get_list (267bdfab-adae-4a90-be3f-2ad7b90f49d5)\n2025-03-22 09:40:54,285 INFO Finished job - get_list (267bdfab-adae-4a90-be3f-2ad7b90f49d5)\n2025-03-22 09:40:54,286 INFO Starting job - get_list (844cb3f8-f211-46f9-8f6e-a3353d9d8cc8)\n2025-03-22 09:40:54,288 INFO Finished job - get_list (844cb3f8-f211-46f9-8f6e-a3353d9d8cc8)\n2025-03-22 09:40:54,288 INFO Starting job - plot_energy_volume_curve (d8df5922-291f-4aa3-8094-011dd08da0d6)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-03-22 09:40:54,467 INFO Finished job - plot_energy_volume_curve (d8df5922-291f-4aa3-8094-011dd08da0d6)\n2025-03-22 09:40:54,469 INFO Finished executing jobs locally\n"},{"execution_count":40,"output_type":"execute_result","data":{"text/plain":"{'bc36be74-8c46-4923-be97-16ab7a7e1693': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '10dae56f-89a4-42d2-9554-bd29adb7b3f0': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'vc-relax', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'b93711f3-3365-492b-a2ca-4cb8d3762b7c': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946719, 0.0, 0.0], [0.0, 4.045637215946719, 0.0], [0.0, 0.0, 4.045637215946719]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228186079733597, 2.0228186079733597], [2.0228186079733597, 0.0, 2.0228186079733597], [2.0228186079733597, 2.0228186079733597, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365262253552, 'volume': 66.21567448235652}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '5123e54e-b9ef-4caf-9281-5a00cf4a4ebf': {1: Response(output={'s_0': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.906019785962031, 0.0, 0.0], [0.0, 3.906019785962031, 0.0], [0.0, 0.0, 3.906019785962031]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098929810156, 1.9530098929810156], [1.9530098929810156, 0.0, 1.9530098929810156], [1.9530098929810156, 1.9530098929810156, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_1': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9770538443179295, 0.0, 0.0], [0.0, 3.9770538443179295, 0.0], [0.0, 0.0, 3.9770538443179295]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221589648, 1.9885269221589648], [1.9885269221589648, 0.0, 1.9885269221589648], [1.9885269221589648, 1.9885269221589648, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_2': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946719, 0.0, 0.0], [0.0, 4.045637215946719, 0.0], [0.0, 0.0, 4.045637215946719]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228186079733597, 2.0228186079733597], [2.0228186079733597, 0.0, 2.0228186079733597], [2.0228186079733597, 2.0228186079733597, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_3': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282832, 0.0, 0.0], [0.0, 4.111970927282832, 0.0], [0.0, 0.0, 4.111970927282832]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.055985463641416, 2.055985463641416], [2.055985463641416, 0.0, 2.055985463641416], [2.055985463641416, 2.055985463641416, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 's_4': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372055, 0.0, 0.0], [0.0, 4.176230852372055, 0.0], [0.0, 0.0, 4.176230852372055]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0881154261860275, 2.0881154261860275], [2.0881154261860275, 0.0, 2.0881154261860275], [2.0881154261860275, 2.0881154261860275, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '76afdc8c-8656-4cfa-b900-0d130d9c844c': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.906019785962031, 0.0, 0.0], [0.0, 3.906019785962031, 0.0], [0.0, 0.0, 3.906019785962031]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098929810156, 1.9530098929810156], [1.9530098929810156, 0.0, 1.9530098929810156], [1.9530098929810156, 1.9530098929810156, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '486a6ea7-31ac-4c4a-a295-9df80f1bc6c7': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.9770538443179295, 0.0, 0.0], [0.0, 3.9770538443179295, 0.0], [0.0, 0.0, 3.9770538443179295]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269221589648, 1.9885269221589648], [1.9885269221589648, 0.0, 1.9885269221589648], [1.9885269221589648, 1.9885269221589648, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'e241fa28-81f9-468a-8ebb-156712cd117f': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637215946719, 0.0, 0.0], [0.0, 4.045637215946719, 0.0], [0.0, 0.0, 4.045637215946719]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228186079733597, 2.0228186079733597], [2.0228186079733597, 0.0, 2.0228186079733597], [2.0228186079733597, 2.0228186079733597, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '70ec7201-be3a-4554-a458-c36b73434b32': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970927282832, 0.0, 0.0], [0.0, 4.111970927282832, 0.0], [0.0, 0.0, 4.111970927282832]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.055985463641416, 2.055985463641416], [2.055985463641416, 0.0, 2.055985463641416], [2.055985463641416, 2.055985463641416, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'd0b9341a-e979-48ce-9e08-e8238634f963': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.176230852372055, 0.0, 0.0], [0.0, 4.176230852372055, 0.0], [0.0, 0.0, 4.176230852372055]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0881154261860275, 2.0881154261860275], [2.0881154261860275, 0.0, 2.0881154261860275], [2.0881154261860275, 2.0881154261860275, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'a7c433bc-8a72-4809-a8c9-9ae9f3a60c9e': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.906019768889065, 0.0, 0.0], [0.0, 3.906019768889065, 0.0], [0.0, 0.0, 3.906019768889065]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.845744615065, 'volume': 59.59410625267462}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'f304e1a0-78c2-48e3-8c85-7655edab7f98': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[3.97705382693448, 0.0, 0.0], [0.0, 3.97705382693448, 0.0], [0.0, 0.0, 3.97705382693448]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269135082746, 1.9885269135082746], [1.9885269135082746, 0.0, 1.9885269135082746], [1.9885269135082746, 1.9885269135082746, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9161488594605, 'volume': 62.904889933378875}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '381133b7-b165-4d9a-8b57-cb865631f957': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.045637198263496, 0.0, 0.0], [0.0, 4.045637198263496, 0.0], [0.0, 0.0, 4.045637198263496]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668347, 'volume': 66.215673614083}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'e3553123-a328-41f4-a75c-6ca2554e155b': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.111970909309666, 0.0, 0.0], [0.0, 4.111970909309666, 0.0], [0.0, 0.0, 4.111970909309666]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.919286002586, 'volume': 69.52645729478704}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '155ae32b-d7c9-4aa3-a5c6-4b98145f19e3': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.17623083411802, 0.0, 0.0], [0.0, 4.17623083411802, 0.0], [0.0, 0.0, 4.17623083411802]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0881154170729803, 2.0881154170729803], [2.0881154170729803, 0.0, 2.0881154170729803], [2.0881154170729803, 2.0881154170729803, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693426, 'volume': 72.83724097549155}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '267bdfab-adae-4a90-be3f-2ad7b90f49d5': {1: Response(output=[59.59410625267462, 62.904889933378875, 66.215673614083, 69.52645729478704, 72.83724097549155], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n '844cb3f8-f211-46f9-8f6e-a3353d9d8cc8': {1: Response(output=[-1074.845744615065, -1074.9161488594605, -1074.9365241668347, -1074.919286002586, -1074.8737904693426], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'd8df5922-291f-4aa3-8094-011dd08da0d6': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":40},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":true},"outputs":[],"execution_count":41},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":42},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":" 0%| | 0/2 [00:00","image/svg+xml":"\n\n\n\n\ncreate_function_job_afa766b35bcbcf677247444195ca07cf\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c1520>\n\n\n\nvolume_lst_e080ad1918e3a44f245621a775a927ec\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c1100>\n\n\n\nvolume_lst_e080ad1918e3a44f245621a775a927ec->create_function_job_afa766b35bcbcf677247444195ca07cf\n\n\n\n\n\n0_9b61d5724e7bdd02d8b04d04d19239d0\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0ad0>\n\n\n\n0_9b61d5724e7bdd02d8b04d04d19239d0->volume_lst_e080ad1918e3a44f245621a775a927ec\n\n\n\n\n\ninput_dict_70bb75561de766182b6f5e4ad495d55e\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7583218abda0>\n\n\n\ninput_dict_70bb75561de766182b6f5e4ad495d55e->0_9b61d5724e7bdd02d8b04d04d19239d0\n\n\n\n\n\n0_3579d1650f7a6d236492074c93d45775\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c04a0>\n\n\n\ninput_dict_70bb75561de766182b6f5e4ad495d55e->0_3579d1650f7a6d236492074c93d45775\n\n\n\n\n\nenergy_lst_388e98a03da8b57f7434dfd30afa2215\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0fb0>\n\n\n\n0_3579d1650f7a6d236492074c93d45775->energy_lst_388e98a03da8b57f7434dfd30afa2215\n\n\n\n\n\nstructure_193f81a2b5fd40f77e6315c66c3ce45a\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218abf20>\n\n\n\nstructure_193f81a2b5fd40f77e6315c66c3ce45a->input_dict_70bb75561de766182b6f5e4ad495d55e\n\n\n\n\n\nstructure_d036ccf2acf5a22cbe5e6cd3bf470b69\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218ab1d0>\n\n\n\nstructure_d036ccf2acf5a22cbe5e6cd3bf470b69->structure_193f81a2b5fd40f77e6315c66c3ce45a\n\n\n\n\n\nstructure_469a1305811c4e7a1447a3647a76204b\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218abbc0>\n\n\n\nstructure_d036ccf2acf5a22cbe5e6cd3bf470b69->structure_469a1305811c4e7a1447a3647a76204b\n\n\n\n\n\nstructure_b6f3eb437043c3523e964f5f125c4809\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218ab980>\n\n\n\nstructure_d036ccf2acf5a22cbe5e6cd3bf470b69->structure_b6f3eb437043c3523e964f5f125c4809\n\n\n\n\n\nstructure_432cb5aae07cf5d0707f3a07129b721d\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218ab830>\n\n\n\nstructure_d036ccf2acf5a22cbe5e6cd3bf470b69->structure_432cb5aae07cf5d0707f3a07129b721d\n\n\n\n\n\nstructure_e8cdacf8e205c400f2b2258bf05dbfc2\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218ab500>\n\n\n\nstructure_d036ccf2acf5a22cbe5e6cd3bf470b69->structure_e8cdacf8e205c400f2b2258bf05dbfc2\n\n\n\n\n\ninput_dict_472133b4cdce86686ef145b67891e8bf\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7583218a9160>\n\n\n\nstructure_469a1305811c4e7a1447a3647a76204b->input_dict_472133b4cdce86686ef145b67891e8bf\n\n\n\n\n\ninput_dict_e6675f016f7f8e846acec2fffda7c9a1\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7583218aac00>\n\n\n\nstructure_b6f3eb437043c3523e964f5f125c4809->input_dict_e6675f016f7f8e846acec2fffda7c9a1\n\n\n\n\n\ninput_dict_43e201130a7816df6fa1df83f04672c9\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7583218ab5c0>\n\n\n\nstructure_432cb5aae07cf5d0707f3a07129b721d->input_dict_43e201130a7816df6fa1df83f04672c9\n\n\n\n\n\ninput_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x758321857fb0>\n\n\n\nstructure_e8cdacf8e205c400f2b2258bf05dbfc2->input_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9\n\n\n\n\n\ninput_dict_684c03b10962c4624b808d7726f6916c\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7583218aaea0>\n\n\n\ninput_dict_684c03b10962c4624b808d7726f6916c->structure_d036ccf2acf5a22cbe5e6cd3bf470b69\n\n\n\n\n\nstructure_9652460df2fdd3177a74065cde27e4eb\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7583218aab10>\n\n\n\nstructure_9652460df2fdd3177a74065cde27e4eb->input_dict_684c03b10962c4624b808d7726f6916c\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_9652460df2fdd3177a74065cde27e4eb\n\n\n\n\n\na_aea0574e321c6f75f923c059730e9537\n\na=4.05\n\n\n\na_aea0574e321c6f75f923c059730e9537->structure_9652460df2fdd3177a74065cde27e4eb\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_9652460df2fdd3177a74065cde27e4eb\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_684c03b10962c4624b808d7726f6916c\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_70bb75561de766182b6f5e4ad495d55e\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_684c03b10962c4624b808d7726f6916c\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_472133b4cdce86686ef145b67891e8bf\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_e6675f016f7f8e846acec2fffda7c9a1\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_43e201130a7816df6fa1df83f04672c9\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9\n\n\n\n\n\n1_9ed913f97d9740ff09779ad87092f078\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0aa0>\n\n\n\ninput_dict_472133b4cdce86686ef145b67891e8bf->1_9ed913f97d9740ff09779ad87092f078\n\n\n\n\n\n1_3abaaa97a506322b29bd51e8b6b50750\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0470>\n\n\n\ninput_dict_472133b4cdce86686ef145b67891e8bf->1_3abaaa97a506322b29bd51e8b6b50750\n\n\n\n\n\n2_5642a1b20e455714c8172f2b9cfdc251\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c08c0>\n\n\n\ninput_dict_e6675f016f7f8e846acec2fffda7c9a1->2_5642a1b20e455714c8172f2b9cfdc251\n\n\n\n\n\n2_4a2135da32f0854b87a7706a58e66473\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0140>\n\n\n\ninput_dict_e6675f016f7f8e846acec2fffda7c9a1->2_4a2135da32f0854b87a7706a58e66473\n\n\n\n\n\n3_30b5614c1927f7591c926ae0be274ce8\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0bf0>\n\n\n\ninput_dict_43e201130a7816df6fa1df83f04672c9->3_30b5614c1927f7591c926ae0be274ce8\n\n\n\n\n\n3_40a7de89b429c8ed36116b7e4eb7b7da\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c05c0>\n\n\n\ninput_dict_43e201130a7816df6fa1df83f04672c9->3_40a7de89b429c8ed36116b7e4eb7b7da\n\n\n\n\n\n4_fdd13fada6720957771cb48638e211f3\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c0ce0>\n\n\n\ninput_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9->4_fdd13fada6720957771cb48638e211f3\n\n\n\n\n\n4_3ad5f8d6f084889eddcb73559947ec98\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x7583218c06b0>\n\n\n\ninput_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9->4_3ad5f8d6f084889eddcb73559947ec98\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_70bb75561de766182b6f5e4ad495d55e\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_684c03b10962c4624b808d7726f6916c\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_472133b4cdce86686ef145b67891e8bf\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_e6675f016f7f8e846acec2fffda7c9a1\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_43e201130a7816df6fa1df83f04672c9\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_70bb75561de766182b6f5e4ad495d55e\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_684c03b10962c4624b808d7726f6916c\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_472133b4cdce86686ef145b67891e8bf\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_e6675f016f7f8e846acec2fffda7c9a1\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_43e201130a7816df6fa1df83f04672c9\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_d036ccf2acf5a22cbe5e6cd3bf470b69\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781\n\nstrain_lst=[0.9, 0.95, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_193f81a2b5fd40f77e6315c66c3ce45a\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_469a1305811c4e7a1447a3647a76204b\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_b6f3eb437043c3523e964f5f125c4809\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_432cb5aae07cf5d0707f3a07129b721d\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_e8cdacf8e205c400f2b2258bf05dbfc2\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_70bb75561de766182b6f5e4ad495d55e\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_472133b4cdce86686ef145b67891e8bf\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_e6675f016f7f8e846acec2fffda7c9a1\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_43e201130a7816df6fa1df83f04672c9\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_5bc0ec8f25affc3bc2fbd2dcd9c415e9\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_9b61d5724e7bdd02d8b04d04d19239d0\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_3579d1650f7a6d236492074c93d45775\n\n\n\n\n\n1_9ed913f97d9740ff09779ad87092f078->volume_lst_e080ad1918e3a44f245621a775a927ec\n\n\n\n\n\n1_3abaaa97a506322b29bd51e8b6b50750->energy_lst_388e98a03da8b57f7434dfd30afa2215\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_9ed913f97d9740ff09779ad87092f078\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_3abaaa97a506322b29bd51e8b6b50750\n\n\n\n\n\n2_5642a1b20e455714c8172f2b9cfdc251->volume_lst_e080ad1918e3a44f245621a775a927ec\n\n\n\n\n\n2_4a2135da32f0854b87a7706a58e66473->energy_lst_388e98a03da8b57f7434dfd30afa2215\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_5642a1b20e455714c8172f2b9cfdc251\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_4a2135da32f0854b87a7706a58e66473\n\n\n\n\n\n3_30b5614c1927f7591c926ae0be274ce8->volume_lst_e080ad1918e3a44f245621a775a927ec\n\n\n\n\n\n3_40a7de89b429c8ed36116b7e4eb7b7da->energy_lst_388e98a03da8b57f7434dfd30afa2215\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_30b5614c1927f7591c926ae0be274ce8\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_40a7de89b429c8ed36116b7e4eb7b7da\n\n\n\n\n\n4_fdd13fada6720957771cb48638e211f3->volume_lst_e080ad1918e3a44f245621a775a927ec\n\n\n\n\n\n4_3ad5f8d6f084889eddcb73559947ec98->energy_lst_388e98a03da8b57f7434dfd30afa2215\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_fdd13fada6720957771cb48638e211f3\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_3ad5f8d6f084889eddcb73559947ec98\n\n\n\n\n\nenergy_lst_388e98a03da8b57f7434dfd30afa2215->create_function_job_afa766b35bcbcf677247444195ca07cf\n\n\n\n\n"},"metadata":{}}],"execution_count":44},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job get_bulk_structure_f1e730ed97e30e5439e855d2ac41396f was saved and received the ID: 1\nThe job get_dict_20400c1655d51731f9f5ffb50c2b401f was saved and received the ID: 2\nThe job calculate_qe_22b5d0934d89d8f08761e744e4612c30 was saved and received the ID: 3\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01937] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job generate_structures_38d7db9bf0b2a6ead93f85c9894bec5c was saved and received the ID: 4\nThe job get_dict_81f98fa6da7d1297a8904234ed89403f was saved and received the ID: 5\nThe job calculate_qe_19ae744bdbea8a04ce337c048d65f4b9 was saved and received the ID: 6\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01948] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_3f5c7fd8f657f5929fadb4214b27d770 was saved and received the ID: 7\nThe job calculate_qe_4704b152a14764657ccea5ba307b6ff5 was saved and received the ID: 8\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01959] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_5728446bb43632d8cb992b26bf6c39e7 was saved and received the ID: 9\nThe job calculate_qe_1c8c2acc50e4848861ad84a6f2b53fcf was saved and received the ID: 10\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01971] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_72c035e1e890b1ffdf8e420b5148930e was saved and received the ID: 11\nThe job calculate_qe_bdd2f7518c2448e1f0d90abf1c355afc was saved and received the ID: 12\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01982] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_8a0ac6ff25761fb9c4ebd38c7959ef5d was saved and received the ID: 13\nThe job calculate_qe_fd2b692bafbc2399b47f95046f959c38 was saved and received the ID: 14\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pyiron-dev-pyth-flow-definition-5o8yvjb0:01993] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_list_151b4c4bdbc4231d4edb7d4397a6437a was saved and received the ID: 15\nThe job get_list_b892c98b724d173a71d4c18f1cfd92e0 was saved and received the ID: 16\nThe job plot_energy_volume_curve_689f175fef4ef895ad6c00ed89ba306e was saved and received the ID: 17\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":45},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/aiida_simple.ipynb b/aiida_simple.ipynb index 8c716f2..82ddf2b 100644 --- a/aiida_simple.ipynb +++ b/aiida_simple.ipynb @@ -1 +1 @@ -{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Simple Workflow with aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\n\nfrom aiida_workgraph import WorkGraph, task\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_jobflow_simple.json\"","metadata":{"trusted":false},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":1},{"cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":2},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":false},"outputs":[],"execution_count":3},{"cell_type":"code","source":"add_x_and_y = task.pythonjob(outputs=[\"x\", \"y\", \"z\"])(_add_x_and_y)\nadd_x_and_y_and_z = task.pythonjob()(_add_x_and_y_and_z)","metadata":{"trusted":false},"outputs":[],"execution_count":4},{"cell_type":"code","source":"# TODO: Create inputs rather than tasks out of data nodes\nwg = WorkGraph(\"wg-simple\")","metadata":{"trusted":false},"outputs":[],"execution_count":5},{"cell_type":"code","source":"helper_task1 = wg.add_task(pickle_node, name=\"x\", value=1)\nhelper_task2 = wg.add_task(pickle_node, name=\"y\", value=2)","metadata":{"trusted":false},"outputs":[],"execution_count":6},{"cell_type":"code","source":"add_x_and_y_task = wg.add_task(\n add_x_and_y,\n name=\"add_x_and_y\",\n x=helper_task1.outputs.result,\n y=helper_task2.outputs.result,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":7},{"cell_type":"code","source":"add_x_and_y_and_z_task = wg.add_task(\n add_x_and_y_and_z,\n name=\"add_x_and_y_and_z\",\n x=add_x_and_y_task.outputs.x,\n y=add_x_and_y_task.outputs.y,\n z=add_x_and_y_task.outputs.z,\n)","metadata":{"trusted":false},"outputs":[],"execution_count":8},{"cell_type":"code","source":"write_workflow_json(wg=wg, file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[{"data":{"text/plain":"{'nodes': {'0': 1,\n '1': 2,\n '2': 'simple_workflow.add_x_and_y',\n '3': 'simple_workflow.add_x_and_y_and_z'},\n 'edges': [{'target': 2,\n 'targetHandle': 'x',\n 'source': 0,\n 'sourceHandle': None},\n {'target': 2, 'targetHandle': 'y', 'source': 1, 'sourceHandle': None},\n {'target': 3, 'targetHandle': 'x', 'source': 2, 'sourceHandle': 'x'},\n {'target': 3, 'targetHandle': 'y', 'source': 2, 'sourceHandle': 'y'},\n {'target': 3, 'targetHandle': 'z', 'source': 2, 'sourceHandle': 'z'}]}"},"execution_count":9,"metadata":{},"output_type":"execute_result"}],"execution_count":9},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":false},"outputs":[],"execution_count":10},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":false},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-21 20:45:40,878 INFO Started executing jobs locally\n2025-03-21 20:45:41,115 INFO Starting job - add_x_and_y (ef28440e-7d32-49d3-85f5-121da0fdf65f)\n2025-03-21 20:45:41,117 INFO Finished job - add_x_and_y (ef28440e-7d32-49d3-85f5-121da0fdf65f)\n2025-03-21 20:45:41,118 INFO Starting job - add_x_and_y_and_z (c0da46a8-a430-4d88-adb6-7d5b36b8fe52)\n2025-03-21 20:45:41,119 INFO Finished job - add_x_and_y_and_z (c0da46a8-a430-4d88-adb6-7d5b36b8fe52)\n2025-03-21 20:45:41,120 INFO Finished executing jobs locally\n"},{"data":{"text/plain":"{'ef28440e-7d32-49d3-85f5-121da0fdf65f': {1: Response(output={'x': 1, 'y': 2, 'z': 3}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'c0da46a8-a430-4d88-adb6-7d5b36b8fe52': {1: Response(output=6, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"execution_count":11,"metadata":{},"output_type":"execute_result"}],"execution_count":11},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":false},"outputs":[],"execution_count":null},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":false},"outputs":[],"execution_count":null}]} \ No newline at end of file +{"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.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Simple Workflow with aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\n\nfrom aiida_workgraph import WorkGraph, task\nfrom aiida import load_profile\nload_profile()\n\nworkflow_json_filename = \"aiida_to_jobflow_simple.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from simple_workflow import (\n add_x_and_y as _add_x_and_y, \n add_x_and_y_and_z as _add_x_and_y_and_z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"@task.pythonjob()\ndef pickle_node(value):\n \"\"\"Handle data nodes\"\"\"\n return value","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"add_x_and_y = task.pythonjob(outputs=[\"x\", \"y\", \"z\"])(_add_x_and_y)\nadd_x_and_y_and_z = task.pythonjob()(_add_x_and_y_and_z)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"# TODO: Create inputs rather than tasks out of data nodes\nwg = WorkGraph(\"wg-simple\")","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"helper_task1 = wg.add_task(pickle_node, name=\"x\", value=1)\nhelper_task2 = wg.add_task(pickle_node, name=\"y\", value=2)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"code","source":"add_x_and_y_task = wg.add_task(\n add_x_and_y,\n name=\"add_x_and_y\",\n x=helper_task1.outputs.result,\n y=helper_task2.outputs.result,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"add_x_and_y_and_z_task = wg.add_task(\n add_x_and_y_and_z,\n name=\"add_x_and_y_and_z\",\n x=add_x_and_y_task.outputs.x,\n y=add_x_and_y_task.outputs.y,\n z=add_x_and_y_task.outputs.z,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"write_workflow_json(wg=wg, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":"{'nodes': {'0': 1,\n '1': 2,\n '2': 'simple_workflow.add_x_and_y',\n '3': 'simple_workflow.add_x_and_y_and_z'},\n 'edges': [{'target': 2,\n 'targetHandle': 'x',\n 'source': 0,\n 'sourceHandle': None},\n {'target': 2, 'targetHandle': 'y', 'source': 1, 'sourceHandle': None},\n {'target': 3, 'targetHandle': 'x', 'source': 2, 'sourceHandle': 'x'},\n {'target': 3, 'targetHandle': 'y', 'source': 2, 'sourceHandle': 'y'},\n {'target': 3, 'targetHandle': 'z', 'source': 2, 'sourceHandle': 'z'}]}"},"metadata":{}}],"execution_count":9},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\n \"nodes\": {\n \"0\": 1,\n \"1\": 2,\n \"2\": \"simple_workflow.add_x_and_y\",\n \"3\": \"simple_workflow.add_x_and_y_and_z\"\n },\n \"edges\": [\n {\n \"target\": 2,\n \"targetHandle\": \"x\",\n \"source\": 0,\n \"sourceHandle\": null\n },\n {\n \"target\": 2,\n \"targetHandle\": \"y\",\n \"source\": 1,\n \"sourceHandle\": null\n },\n {\n \"target\": 3,\n \"targetHandle\": \"x\",\n \"source\": 2,\n \"sourceHandle\": \"x\"\n },\n {\n \"target\": 3,\n \"targetHandle\": \"y\",\n \"source\": 2,\n \"sourceHandle\": \"y\"\n },\n {\n \"target\": 3,\n \"targetHandle\": \"z\",\n \"source\": 2,\n \"sourceHandle\": \"z\"\n }\n ]\n}"}],"execution_count":10},{"cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/pkey.py:82: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"cipher\": algorithms.TripleDES,\n/srv/conda/envs/notebook/lib/python3.12/site-packages/paramiko/transport.py:253: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.\n \"class\": algorithms.TripleDES,\n"}],"execution_count":11},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-03-22 09:38:21,738 INFO Started executing jobs locally\n2025-03-22 09:38:22,164 INFO Starting job - add_x_and_y (2a742a0c-14eb-4969-aac0-8d63a4ffe064)\n2025-03-22 09:38:22,166 INFO Finished job - add_x_and_y (2a742a0c-14eb-4969-aac0-8d63a4ffe064)\n2025-03-22 09:38:22,167 INFO Starting job - add_x_and_y_and_z (bd204fad-4ce1-4e7e-954e-11f6bfd19ff4)\n2025-03-22 09:38:22,171 INFO Finished job - add_x_and_y_and_z (bd204fad-4ce1-4e7e-954e-11f6bfd19ff4)\n2025-03-22 09:38:22,172 INFO Finished executing jobs locally\n"},{"execution_count":14,"output_type":"execute_result","data":{"text/plain":"{'2a742a0c-14eb-4969-aac0-8d63a4ffe064': {1: Response(output={'x': 1, 'y': 2, 'z': 3}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))},\n 'bd204fad-4ce1-4e7e-954e-11f6bfd19ff4': {1: Response(output=6, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan'))}}"},"metadata":{}}],"execution_count":14},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from pyiron_base import Project","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"cell_type":"code","source":"pr = Project(\"test\")\npr.remove_jobs(recursive=True, silently=True)","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"0it [00:00, ?it/s]","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"25edafe2cf6944ec9608ac3d0328867f"}},"metadata":{}}],"execution_count":17},{"cell_type":"code","source":"delayed_object = load_workflow_json(project=pr, file_name=workflow_json_filename)\ndelayed_object.draw()","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_c4ec5c7a7dd53d01300058ba6c796595\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7f18837cb620>\n\n\n\nx_29b9ebbd9ab08db91ecdc7d0038e5fbc\n\nx=<pyiron_base.project.delayed.DelayedObject object at 0x7f18837cb290>\n\n\n\nx_29b9ebbd9ab08db91ecdc7d0038e5fbc->create_function_job_c4ec5c7a7dd53d01300058ba6c796595\n\n\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce\n\nx=1\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce->x_29b9ebbd9ab08db91ecdc7d0038e5fbc\n\n\n\n\n\ny_bee009126d70c89ce914fe7ac7c3f63a\n\ny=<pyiron_base.project.delayed.DelayedObject object at 0x7f18837cb260>\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce->y_bee009126d70c89ce914fe7ac7c3f63a\n\n\n\n\n\nz_ad477f14ef09e2ba3677f10245749435\n\nz=<pyiron_base.project.delayed.DelayedObject object at 0x7f18837cb140>\n\n\n\nx_1d847da32ecaabf6731c38f798c3d4ce->z_ad477f14ef09e2ba3677f10245749435\n\n\n\n\n\ny_bee009126d70c89ce914fe7ac7c3f63a->create_function_job_c4ec5c7a7dd53d01300058ba6c796595\n\n\n\n\n\nz_ad477f14ef09e2ba3677f10245749435->create_function_job_c4ec5c7a7dd53d01300058ba6c796595\n\n\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6\n\ny=2\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6->x_29b9ebbd9ab08db91ecdc7d0038e5fbc\n\n\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6->y_bee009126d70c89ce914fe7ac7c3f63a\n\n\n\n\n\ny_a9ec4f5f33f0d64e74ed5d9900bceac6->z_ad477f14ef09e2ba3677f10245749435\n\n\n\n\n"},"metadata":{}}],"execution_count":18},{"cell_type":"code","source":"delayed_object.pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job add_x_and_y_68901482a2c5221cc845f828aabebd27 was saved and received the ID: 1\nThe job add_x_and_y_and_z_b671e81aaa4670d81d7eee509650af8d was saved and received the ID: 2\n"},{"execution_count":19,"output_type":"execute_result","data":{"text/plain":"6"},"metadata":{}}],"execution_count":19}]} \ No newline at end of file