diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index f60c7cf..45de20e 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -69,6 +69,7 @@ jobs: cd example_workflows/nfdi/ papermill aiida.ipynb aiida_out.ipynb -k "python3" papermill cwl.ipynb cwl_out.ipynb -k "python3" + papermill executorlib.ipynb executorlib_out.ipynb -k "python3" papermill jobflow.ipynb jobflow_out.ipynb -k "python3" papermill pyiron_base.ipynb pyiron_base_out.ipynb -k "python3" papermill pyiron_workflow.ipynb pyiron_workflow_out.ipynb -k "python3" @@ -104,6 +105,7 @@ jobs: cd example_workflows/quantum_espresso papermill aiida.ipynb aiida_out.ipynb -k "python3" papermill cwl.ipynb cwl_out.ipynb -k "python3" + papermill executorlib.ipynb executorlib_out.ipynb -k "python3" papermill jobflow.ipynb jobflow_out.ipynb -k "python3" papermill pyiron_base.ipynb pyiron_base_out.ipynb -k "python3" papermill pyiron_workflow.ipynb pyiron_workflow_out.ipynb -k "python3" @@ -133,6 +135,7 @@ jobs: cd example_workflows/arithmetic papermill aiida.ipynb aiida_out.ipynb -k "python3" papermill cwl.ipynb cwl_out.ipynb -k "python3" + papermill executorlib.ipynb executorlib_out.ipynb -k "python3" papermill jobflow.ipynb jobflow_out.ipynb -k "python3" papermill pyiron_base.ipynb pyiron_base_out.ipynb -k "python3" papermill pyiron_workflow.ipynb pyiron_workflow_out.ipynb -k "python3" diff --git a/example_workflows/arithmetic/executorlib.ipynb b/example_workflows/arithmetic/executorlib.ipynb new file mode 100644 index 0000000..509b731 --- /dev/null +++ b/example_workflows/arithmetic/executorlib.ipynb @@ -0,0 +1,1131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c39b76fb-259f-4e16-a44d-02a295c82386", + "metadata": {}, + "source": [ + "# executorlib" + ] + }, + { + "cell_type": "markdown", + "id": "3638419b-a0cb-49e2-b157-7fbb1acde90f", + "metadata": {}, + "source": [ + "## Define workflow with executorlib" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b4a78447-e87c-4fb4-8d17-d9a280eb7254", + "metadata": {}, + "outputs": [], + "source": [ + "from executorlib import SingleNodeExecutor, get_item_from_future" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6d859dfff0c2df5c", + "metadata": {}, + "outputs": [], + "source": [ + "from workflow import get_sum, get_prod_and_div, get_square" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "77135b0c61898507", + "metadata": {}, + "outputs": [], + "source": [ + "workflow_json_filename = \"executorlib_arithmetic.json\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "07598344-0f75-433b-8902-bea21a42088c", + "metadata": {}, + "outputs": [], + "source": [ + "with SingleNodeExecutor(export_workflow_filename=workflow_json_filename) as exe:\n", + " future_prod_and_div = exe.submit(get_prod_and_div, x=1, y=2)\n", + " future_prod = get_item_from_future(future_prod_and_div, key=\"prod\")\n", + " future_div = get_item_from_future(future_prod_and_div, key=\"div\")\n", + " future_sum = exe.submit(get_sum, x=future_prod, y=future_div)\n", + " future_result = exe.submit(get_square, x=future_sum)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bca646b2-0a9a-4271-966a-e5903a8c9031", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"version\": \"0.1.0\",\n", + " \"nodes\": [\n", + " {\n", + " \"id\": 0,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.get_prod_and_div\"\n", + " },\n", + " {\n", + " \"id\": 1,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.get_sum\"\n", + " },\n", + " {\n", + " \"id\": 2,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.get_square\"\n", + " },\n", + " {\n", + " \"id\": 3,\n", + " \"type\": \"input\",\n", + " \"value\": 1,\n", + " \"name\": \"x\"\n", + " },\n", + " {\n", + " \"id\": 4,\n", + " \"type\": \"input\",\n", + " \"value\": 2,\n", + " \"name\": \"y\"\n", + " },\n", + " {\n", + " \"id\": 5,\n", + " \"type\": \"output\",\n", + " \"name\": \"result\"\n", + " }\n", + " ],\n", + " \"edges\": [\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"x\",\n", + " \"source\": 3,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"y\",\n", + " \"source\": 4,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"x\",\n", + " \"source\": 0,\n", + " \"sourcePort\": \"prod\"\n", + " },\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"y\",\n", + " \"source\": 0,\n", + " \"sourcePort\": \"div\"\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"x\",\n", + " \"source\": 1,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 5,\n", + " \"targetPort\": null,\n", + " \"source\": 2,\n", + " \"sourcePort\": null\n", + " }\n", + " ]\n", + "}" + ] + } + ], + "source": [ + "!cat {workflow_json_filename}" + ] + }, + { + "cell_type": "markdown", + "id": "a4c0faaf-e30d-4ded-8e9f-57f97f51b14c", + "metadata": {}, + "source": [ + "## Load Workflow with aiida" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2ecc229f-daa1-49b9-9279-a6b5ae1aa4f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Profile" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from aiida import load_profile\n", + "\n", + "load_profile()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "68a56b32-9f99-43d7-aaee-0c1cd9522681", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.aiida import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8f2a621d-b533-4ddd-8bcd-c22db2f922ec", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d1e4dac30bd3409f8000d40062e2ae1b", + "version_major": 2, + "version_minor": 1 + }, + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wg = load_workflow_json(file_name=workflow_json_filename)\n", + "wg" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "cf80267d-c2b0-4236-bf1d-a57596985fc1", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "01/16/2026 08:08:17 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_prod_and_div\n", + "01/16/2026 08:08:17 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|update_task_state]: Task: get_prod_and_div, type: PYFUNCTION, finished.\n", + "01/16/2026 08:08:17 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_sum\n", + "01/16/2026 08:08:18 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|update_task_state]: Task: get_sum, type: PYFUNCTION, finished.\n", + "01/16/2026 08:08:18 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_square\n", + "01/16/2026 08:08:18 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|update_task_state]: Task: get_square, type: PYFUNCTION, finished.\n", + "01/16/2026 08:08:18 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", + "01/16/2026 08:08:18 AM <39822> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1573|WorkGraphEngine|finalize]: Finalize workgraph.\n" + ] + }, + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wg.run()" + ] + }, + { + "cell_type": "markdown", + "id": "0c3503e1-0a32-40e1-845d-3fd9ec3c4c19", + "metadata": {}, + "source": [ + "## Load Workflow with jobflow" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "4abb0481-8e38-479d-ae61-6c46d091653e", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.jobflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "8253dd7c283bf3f7", + "metadata": {}, + "outputs": [], + "source": [ + "from jobflow.managers.local import run_locally" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "4b45e83b-945f-48c5-8e20-9df0ce0a14a1", + "metadata": {}, + "outputs": [], + "source": [ + "flow = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "8665c39c-220c-4982-b738-c31f6460530f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2026-01-16 08:08:27,788 INFO Started executing jobs locally\n", + "2026-01-16 08:08:28,329 INFO Starting job - get_prod_and_div (548e497c-81af-44a2-a626-cd9466984398)\n", + "2026-01-16 08:08:28,332 INFO Finished job - get_prod_and_div (548e497c-81af-44a2-a626-cd9466984398)\n", + "2026-01-16 08:08:28,333 INFO Starting job - get_sum (c4ce346f-059c-4cb1-8e98-c7f4f0df837e)\n", + "2026-01-16 08:08:28,335 INFO Finished job - get_sum (c4ce346f-059c-4cb1-8e98-c7f4f0df837e)\n", + "2026-01-16 08:08:28,336 INFO Starting job - get_square (e94efcd4-8074-48b1-865c-0e614fc9c846)\n", + "2026-01-16 08:08:28,339 INFO Finished job - get_square (e94efcd4-8074-48b1-865c-0e614fc9c846)\n", + "2026-01-16 08:08:28,340 INFO Finished executing jobs locally\n" + ] + }, + { + "data": { + "text/plain": [ + "{'548e497c-81af-44a2-a626-cd9466984398': {1: Response(output={'prod': 2, 'div': 0.5}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/arithmetic'))},\n", + " 'c4ce346f-059c-4cb1-8e98-c7f4f0df837e': {1: Response(output=2.5, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/arithmetic'))},\n", + " 'e94efcd4-8074-48b1-865c-0e614fc9c846': {1: Response(output=6.25, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/arithmetic'))}}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = run_locally(flow)\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "406fd07dd4bd8006", + "metadata": {}, + "source": [ + "## Load Workflow with pyiron_base" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "cf76f305-24de-45a7-be8e-cfe45cd6458e", + "metadata": { + "ExecuteTime": { + "end_time": "2025-05-24T08:25:33.797570Z", + "start_time": "2025-05-24T08:25:33.771214Z" + } + }, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_base import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "5b442611457aa5a8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "create_function_job_90a5b42c58fdc46b3ef919df41d06f68\n", + "\n", + "create_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7f9f60f8bb90>\n", + "\n", + "\n", + "\n", + "x_ac1d6fed32a5172c23c7d80f1257d4cf\n", + "\n", + "x=<pyiron_base.project.delayed.DelayedObject object at 0x7f9f60f8ba40>\n", + "\n", + "\n", + "\n", + "x_ac1d6fed32a5172c23c7d80f1257d4cf->create_function_job_90a5b42c58fdc46b3ef919df41d06f68\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "x_19fc443a8a97273a376990b43ca208fc\n", + "\n", + "x=<pyiron_base.project.delayed.DelayedObject object at 0x7f9f60f8b770>\n", + "\n", + "\n", + "\n", + "x_19fc443a8a97273a376990b43ca208fc->x_ac1d6fed32a5172c23c7d80f1257d4cf\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "x_1d847da32ecaabf6731c38f798c3d4ce\n", + "\n", + "x=1\n", + "\n", + "\n", + "\n", + "x_1d847da32ecaabf6731c38f798c3d4ce->x_19fc443a8a97273a376990b43ca208fc\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "y_8b6d8b56733d62ed930105017913a62e\n", + "\n", + "y=<pyiron_base.project.delayed.DelayedObject object at 0x7f9f60f8b740>\n", + "\n", + "\n", + "\n", + "x_1d847da32ecaabf6731c38f798c3d4ce->y_8b6d8b56733d62ed930105017913a62e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "y_8b6d8b56733d62ed930105017913a62e->x_ac1d6fed32a5172c23c7d80f1257d4cf\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "y_a9ec4f5f33f0d64e74ed5d9900bceac6\n", + "\n", + "y=2\n", + "\n", + "\n", + "\n", + "y_a9ec4f5f33f0d64e74ed5d9900bceac6->x_19fc443a8a97273a376990b43ca208fc\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "y_a9ec4f5f33f0d64e74ed5d9900bceac6->y_8b6d8b56733d62ed930105017913a62e\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\n", + "delayed_object_lst[-1].draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2ca33c8590a54866", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The job get_prod_and_div_00cf2c787390eacfbc4a51e9a0c38ec7 was saved and received the ID: 31\n", + "The job get_sum_4b5b9d16b259a13b6a32798ce2779af8 was saved and received the ID: 32\n", + "The job get_square_9cc2f0545498916d7720c59c1120a66d was saved and received the ID: 33\n" + ] + }, + { + "data": { + "text/plain": [ + "6.25" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "delayed_object_lst[-1].pull()" + ] + }, + { + "cell_type": "markdown", + "id": "406d62d0-76eb-411f-a7fb-f866d5cec9c1", + "metadata": {}, + "source": [ + "## Load Workflow with pyiron_workflow" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c8c95d7f-7a3b-4ff4-890e-3f9b0434b436", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_workflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "5c759f6d-d82d-44f8-8120-e7732988fe71", + "metadata": {}, + "outputs": [], + "source": [ + "wf = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "fe6ab0eb-6078-413d-a8e2-f71a020b1036", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmetic\n", + "\n", + "executorlib_arithmetic: Workflow\n", + "\n", + "clusterexecutorlib_arithmeticInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_div\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_prod_and_div: get_prod_and_div\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sum\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_sum: get_sum\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_square\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_square: get_square\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_951416441108707023: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m2059545174045897913: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsget_prod_and_div__x\n", + "\n", + "get_prod_and_div__x\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divInputsx\n", + "\n", + "x\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsget_prod_and_div__x->clusterexecutorlib_arithmeticget_prod_and_divInputsx\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsget_prod_and_div__y\n", + "\n", + "get_prod_and_div__y\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divInputsy\n", + "\n", + "y\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsget_prod_and_div__y->clusterexecutorlib_arithmeticget_prod_and_divInputsy\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsinjected_GetItem_951416441108707023__item\n", + "\n", + "injected_GetItem_951416441108707023__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsinjected_GetItem_951416441108707023__item->clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsinjected_GetItem_m2059545174045897913__item\n", + "\n", + "injected_GetItem_m2059545174045897913__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticInputsinjected_GetItem_m2059545174045897913__item->clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticOutputsWithInjectionget_square__get_square\n", + "\n", + "get_square__get_square\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divOutputsWithInjectionget_prod_and_div\n", + "\n", + "get_prod_and_div\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divOutputsWithInjectionget_prod_and_div->clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_prod_and_divOutputsWithInjectionget_prod_and_div->clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumInputsx\n", + "\n", + "x\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumInputsy\n", + "\n", + "y\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumOutputsWithInjectionget_sum\n", + "\n", + "get_sum\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareInputsx\n", + "\n", + "x\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_sumOutputsWithInjectionget_sum->clusterexecutorlib_arithmeticget_squareInputsx\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareOutputsWithInjectionget_square\n", + "\n", + "get_square\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticget_squareOutputsWithInjectionget_square->clusterexecutorlib_arithmeticOutputsWithInjectionget_square__get_square\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_951416441108707023OutputsWithInjectiongetitem->clusterexecutorlib_arithmeticget_sumInputsx\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_arithmeticinjected_GetItem_m2059545174045897913OutputsWithInjectiongetitem->clusterexecutorlib_arithmeticget_sumInputsy\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.draw(size=(10,10))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "3c4971a2-b66f-4fda-b438-1039b41d8f8e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'get_square__get_square': 6.25}" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "094c79c9-81e7-4613-b4e5-b029ce30b102", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/example_workflows/nfdi/executorlib.ipynb b/example_workflows/nfdi/executorlib.ipynb new file mode 100644 index 0000000..b1a0f41 --- /dev/null +++ b/example_workflows/nfdi/executorlib.ipynb @@ -0,0 +1,2129 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "106ded66-d202-46ac-82b0-2755ca309bdd", + "metadata": {}, + "source": [ + "# executorlib\n", + "\n", + "https://github.com/BAMresearch/NFDI4IngScientificWorkflowRequirements" + ] + }, + { + "cell_type": "markdown", + "id": "91dd48ea-aa7e-4937-a68e-59fc5017eb1e", + "metadata": {}, + "source": [ + "## Define workflow with executorlib" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "2c9622f5-ab7e-460e-b8e4-8d21413eda77", + "metadata": {}, + "outputs": [], + "source": [ + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d265bb5aa6af79d6", + "metadata": {}, + "outputs": [], + "source": [ + "from workflow import generate_mesh, convert_to_xdmf, poisson, plot_over_line, substitute_macros, compile_paper " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2dced28725813fc1", + "metadata": {}, + "outputs": [], + "source": [ + "from executorlib import SingleNodeExecutor, get_item_from_future" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8d911f98-3b80-457f-a0f4-3cb37ebf1691", + "metadata": {}, + "outputs": [], + "source": [ + "domain_size = 2.0" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c6ea980b-6761-4191-8407-7b1f78a4c3ea", + "metadata": {}, + "outputs": [], + "source": [ + "source_directory = os.path.abspath(os.path.join(os.curdir, \"source\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ef1a63b7-2c04-43ac-9f33-333c5f7d93cd", + "metadata": {}, + "outputs": [], + "source": [ + "workflow_json_filename = \"executorlib_nfdi.json\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "71d411b6-cbec-489e-99e3-ba71680bcb5b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "with SingleNodeExecutor(export_workflow_filename=workflow_json_filename) as exe:\n", + " gmsh_output_file = exe.submit(\n", + " generate_mesh,\n", + " domain_size=domain_size,\n", + " source_directory=source_directory,\n", + " )\n", + " meshio_output_dict = exe.submit(\n", + " convert_to_xdmf,\n", + " gmsh_output_file=gmsh_output_file,\n", + " )\n", + " poisson_dict = exe.submit(\n", + " poisson,\n", + " meshio_output_xdmf=get_item_from_future(meshio_output_dict, key=\"xdmf_file\"), \n", + " meshio_output_h5=get_item_from_future(meshio_output_dict, key=\"h5_file\"),\n", + " source_directory=source_directory,\n", + " )\n", + " pvbatch_output_file = exe.submit(\n", + " plot_over_line,\n", + " poisson_output_pvd_file=get_item_from_future(poisson_dict, key=\"pvd_file\"), \n", + " poisson_output_vtu_file=get_item_from_future(poisson_dict, key=\"vtu_file\"),\n", + " source_directory=source_directory,\n", + " )\n", + " macros_tex_file = exe.submit(\n", + " substitute_macros,\n", + " pvbatch_output_file=pvbatch_output_file, \n", + " ndofs=get_item_from_future(poisson_dict, key=\"numdofs\"), \n", + " domain_size=domain_size,\n", + " source_directory=source_directory,\n", + " )\n", + " paper_output = exe.submit(\n", + " compile_paper,\n", + " macros_tex=macros_tex_file, \n", + " plot_file=pvbatch_output_file,\n", + " source_directory=source_directory,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "0a42a34e-ebe2-478c-bea6-e6c5c8506883", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"version\": \"0.1.0\",\n", + " \"nodes\": [\n", + " {\n", + " \"id\": 0,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.generate_mesh\"\n", + " },\n", + " {\n", + " \"id\": 1,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.convert_to_xdmf\"\n", + " },\n", + " {\n", + " \"id\": 2,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.poisson\"\n", + " },\n", + " {\n", + " \"id\": 3,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.plot_over_line\"\n", + " },\n", + " {\n", + " \"id\": 4,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.substitute_macros\"\n", + " },\n", + " {\n", + " \"id\": 5,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.compile_paper\"\n", + " },\n", + " {\n", + " \"id\": 6,\n", + " \"type\": \"input\",\n", + " \"value\": 2.0,\n", + " \"name\": \"domain_size\"\n", + " },\n", + " {\n", + " \"id\": 7,\n", + " \"type\": \"input\",\n", + " \"value\": \"/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/source\",\n", + " \"name\": \"source_directory\"\n", + " },\n", + " {\n", + " \"id\": 8,\n", + " \"type\": \"output\",\n", + " \"name\": \"result\"\n", + " }\n", + " ],\n", + " \"edges\": [\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"domain_size\",\n", + " \"source\": 6,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"source_directory\",\n", + " \"source\": 7,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"gmsh_output_file\",\n", + " \"source\": 0,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"meshio_output_xdmf\",\n", + " \"source\": 1,\n", + " \"sourcePort\": \"xdmf_file\"\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"meshio_output_h5\",\n", + " \"source\": 1,\n", + " \"sourcePort\": \"h5_file\"\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"source_directory\",\n", + " \"source\": 7,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 3,\n", + " \"targetPort\": \"poisson_output_pvd_file\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"pvd_file\"\n", + " },\n", + " {\n", + " \"target\": 3,\n", + " \"targetPort\": \"poisson_output_vtu_file\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"vtu_file\"\n", + " },\n", + " {\n", + " \"target\": 3,\n", + " \"targetPort\": \"source_directory\",\n", + " \"source\": 7,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 4,\n", + " \"targetPort\": \"pvbatch_output_file\",\n", + " \"source\": 3,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 4,\n", + " \"targetPort\": \"ndofs\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"numdofs\"\n", + " },\n", + " {\n", + " \"target\": 4,\n", + " \"targetPort\": \"domain_size\",\n", + " \"source\": 6,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 4,\n", + " \"targetPort\": \"source_directory\",\n", + " \"source\": 7,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 5,\n", + " \"targetPort\": \"macros_tex\",\n", + " \"source\": 4,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 5,\n", + " \"targetPort\": \"plot_file\",\n", + " \"source\": 3,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 5,\n", + " \"targetPort\": \"source_directory\",\n", + " \"source\": 7,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 8,\n", + " \"targetPort\": null,\n", + " \"source\": 5,\n", + " \"sourcePort\": null\n", + " }\n", + " ]\n", + "}" + ] + } + ], + "source": [ + "!cat {workflow_json_filename}" + ] + }, + { + "cell_type": "markdown", + "id": "d789971e-8f41-45fa-832a-11fd72dea96e", + "metadata": {}, + "source": [ + "## Load Workflow with aiida" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a6e85e89-5d7a-40eb-809c-ac44974e3fd7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Profile" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from aiida import load_profile\n", + "\n", + "load_profile()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "3de84fb7-b01b-4541-868a-92e881eb6e77", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.aiida import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "b33f5528-10cd-47c8-8723-622902978859", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d1895b0b32c4451c8847cc76ded8f82e", + "version_major": 2, + "version_minor": 1 + }, + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wg = load_workflow_json(file_name=workflow_json_filename)\n", + "wg" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "15282ca1-d339-40e7-ad68-8a7613ed08da", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "01/16/2026 08:09:53 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_mesh\n", + "01/16/2026 08:09:56 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|update_task_state]: Task: generate_mesh, type: PYFUNCTION, finished.\n", + "01/16/2026 08:09:56 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: convert_to_xdmf\n", + "01/16/2026 08:10:00 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|update_task_state]: Task: convert_to_xdmf, type: PYFUNCTION, finished.\n", + "01/16/2026 08:10:00 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: poisson\n", + "/home/jan/miniforge3/envs/processing/lib/python3.9/site-packages/ufl/__init__.py:250: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " import pkg_resources\n", + "01/16/2026 08:10:04 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|update_task_state]: Task: poisson, type: PYFUNCTION, finished.\n", + "01/16/2026 08:10:05 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_over_line\n", + "01/16/2026 08:10:09 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|update_task_state]: Task: plot_over_line, type: PYFUNCTION, finished.\n", + "01/16/2026 08:10:09 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: substitute_macros\n", + "01/16/2026 08:10:11 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|update_task_state]: Task: substitute_macros, type: PYFUNCTION, finished.\n", + "01/16/2026 08:10:11 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: compile_paper\n", + "01/16/2026 08:10:16 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|update_task_state]: Task: compile_paper, type: PYFUNCTION, finished.\n", + "01/16/2026 08:10:16 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", + "01/16/2026 08:10:16 AM <39943> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1584|WorkGraphEngine|finalize]: Finalize workgraph.\n" + ] + }, + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wg.run()" + ] + }, + { + "cell_type": "markdown", + "id": "55dc8d12-dfe6-4465-a368-b7e590ae6800", + "metadata": {}, + "source": [ + "## Load Workflow with jobflow" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "dff46eb8-e0e7-49bb-8c40-0db2df133124", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.jobflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6a189459-84e4-4738-ada1-37ee8c65b2ab", + "metadata": {}, + "outputs": [], + "source": [ + "from jobflow.managers.local import run_locally" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "6e7f3614-c971-4e2d-83f0-96f0d0fc04de", + "metadata": {}, + "outputs": [], + "source": [ + "flow = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2d87ed45-f5d9-403f-a03a-26be4a47a3ef", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2026-01-16 08:10:22,433 INFO Started executing jobs locally\n", + "2026-01-16 08:10:22,747 INFO Starting job - generate_mesh (fca356ed-0f12-49aa-90c5-3161982fb757)\n", + "2026-01-16 08:10:24,797 INFO Finished job - generate_mesh (fca356ed-0f12-49aa-90c5-3161982fb757)\n", + "2026-01-16 08:10:24,797 INFO Starting job - convert_to_xdmf (2be5b5a6-4ba9-4962-b09c-c7565e4655a8)\n", + "2026-01-16 08:10:27,186 INFO Finished job - convert_to_xdmf (2be5b5a6-4ba9-4962-b09c-c7565e4655a8)\n", + "2026-01-16 08:10:27,186 INFO Starting job - poisson (e539fd0a-4e53-42b4-b79d-9d07a2f602d7)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/jan/miniforge3/envs/processing/lib/python3.9/site-packages/ufl/__init__.py:250: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " import pkg_resources\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2026-01-16 08:10:30,319 INFO Finished job - poisson (e539fd0a-4e53-42b4-b79d-9d07a2f602d7)\n", + "2026-01-16 08:10:30,320 INFO Starting job - plot_over_line (e71edb93-5784-4a14-9cb8-29180644c4e1)\n", + "2026-01-16 08:10:33,201 INFO Finished job - plot_over_line (e71edb93-5784-4a14-9cb8-29180644c4e1)\n", + "2026-01-16 08:10:33,202 INFO Starting job - substitute_macros (ca231d17-16ce-409c-a4cc-9a3988b7524a)\n", + "2026-01-16 08:10:35,251 INFO Finished job - substitute_macros (ca231d17-16ce-409c-a4cc-9a3988b7524a)\n", + "2026-01-16 08:10:35,252 INFO Starting job - compile_paper (43798414-e406-411e-9daa-bf1bf3d20c25)\n", + "2026-01-16 08:10:39,264 INFO Finished job - compile_paper (43798414-e406-411e-9daa-bf1bf3d20c25)\n", + "2026-01-16 08:10:39,265 INFO Finished executing jobs locally\n" + ] + }, + { + "data": { + "text/plain": [ + "{'fca356ed-0f12-49aa-90c5-3161982fb757': {1: Response(output='/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/preprocessing/square.msh', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi'))},\n", + " '2be5b5a6-4ba9-4962-b09c-c7565e4655a8': {1: Response(output={'xdmf_file': '/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/preprocessing/square.xdmf', 'h5_file': '/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/preprocessing/square.h5'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi'))},\n", + " 'e539fd0a-4e53-42b4-b79d-9d07a2f602d7': {1: Response(output={'numdofs': 357, 'pvd_file': '/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/processing/poisson.pvd', 'vtu_file': '/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/processing/poisson000000.vtu'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi'))},\n", + " 'e71edb93-5784-4a14-9cb8-29180644c4e1': {1: Response(output='/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/postprocessing/plotoverline.csv', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi'))},\n", + " 'ca231d17-16ce-409c-a4cc-9a3988b7524a': {1: Response(output='/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/postprocessing/macros.tex', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi'))},\n", + " '43798414-e406-411e-9daa-bf1bf3d20c25': {1: Response(output='/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/postprocessing/paper.pdf', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi'))}}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = run_locally(flow)\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "7ecc0861-6fc8-4788-b05b-fa5ae06b96e3", + "metadata": {}, + "source": [ + "# Load Workflow with pyiron_base" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "78bf8ce1-518c-4a14-9375-9557db125fd0", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_base import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "3c9a66a4-81e1-40e7-bf33-b0c661b6c8df", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "create_function_job_d98d5639807a3be4999a1365311f70f7\n", + "\n", + "create_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e211850>\n", + "\n", + "\n", + "\n", + "macros_tex_2966c3cce2a45e8cba702c524f55c461\n", + "\n", + "macros_tex=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e2115e0>\n", + "\n", + "\n", + "\n", + "macros_tex_2966c3cce2a45e8cba702c524f55c461->create_function_job_d98d5639807a3be4999a1365311f70f7\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "pvbatch_output_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "pvbatch_output_file=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e2112b0>\n", + "\n", + "\n", + "\n", + "pvbatch_output_file_2e9051e35dd84c5e1f106937c8c783f5->macros_tex_2966c3cce2a45e8cba702c524f55c461\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "poisson_output_pvd_file_33b662a19dd2a4b145850729f23a7c66\n", + "\n", + "poisson_output_pvd_file=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e210f50>\n", + "\n", + "\n", + "\n", + "poisson_output_pvd_file_33b662a19dd2a4b145850729f23a7c66->pvbatch_output_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "plot_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "plot_file=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e2112b0>\n", + "\n", + "\n", + "\n", + "poisson_output_pvd_file_33b662a19dd2a4b145850729f23a7c66->plot_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "plot_file_2e9051e35dd84c5e1f106937c8c783f5->create_function_job_d98d5639807a3be4999a1365311f70f7\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "meshio_output_xdmf_2ed71308dc623781112ce378b493cea5\n", + "\n", + "meshio_output_xdmf=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e210b90>\n", + "\n", + "\n", + "\n", + "meshio_output_xdmf_2ed71308dc623781112ce378b493cea5->poisson_output_pvd_file_33b662a19dd2a4b145850729f23a7c66\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "poisson_output_vtu_file_5b4f7a5144851465b22b9e4f9e6af5a9\n", + "\n", + "poisson_output_vtu_file=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e210f20>\n", + "\n", + "\n", + "\n", + "meshio_output_xdmf_2ed71308dc623781112ce378b493cea5->poisson_output_vtu_file_5b4f7a5144851465b22b9e4f9e6af5a9\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ndofs_c0ac3b9ed23ab49414fc2f718f8fb106\n", + "\n", + "ndofs=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e211340>\n", + "\n", + "\n", + "\n", + "meshio_output_xdmf_2ed71308dc623781112ce378b493cea5->ndofs_c0ac3b9ed23ab49414fc2f718f8fb106\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "poisson_output_vtu_file_5b4f7a5144851465b22b9e4f9e6af5a9->pvbatch_output_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "poisson_output_vtu_file_5b4f7a5144851465b22b9e4f9e6af5a9->plot_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "ndofs_c0ac3b9ed23ab49414fc2f718f8fb106->macros_tex_2966c3cce2a45e8cba702c524f55c461\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "gmsh_output_file_fa7ec7ce434650774dc66bdb43c1d809\n", + "\n", + "gmsh_output_file=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e210770>\n", + "\n", + "\n", + "\n", + "gmsh_output_file_fa7ec7ce434650774dc66bdb43c1d809->meshio_output_xdmf_2ed71308dc623781112ce378b493cea5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "meshio_output_h5_f481ee088011767a95b34af8231ee1c2\n", + "\n", + "meshio_output_h5=<pyiron_base.project.delayed.DelayedObject object at 0x7f752e210b60>\n", + "\n", + "\n", + "\n", + "gmsh_output_file_fa7ec7ce434650774dc66bdb43c1d809->meshio_output_h5_f481ee088011767a95b34af8231ee1c2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "meshio_output_h5_f481ee088011767a95b34af8231ee1c2->poisson_output_pvd_file_33b662a19dd2a4b145850729f23a7c66\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "meshio_output_h5_f481ee088011767a95b34af8231ee1c2->poisson_output_vtu_file_5b4f7a5144851465b22b9e4f9e6af5a9\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "meshio_output_h5_f481ee088011767a95b34af8231ee1c2->ndofs_c0ac3b9ed23ab49414fc2f718f8fb106\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "domain_size_f12a7f1986b9dd058dfc666dbe230b20\n", + "\n", + "domain_size=2.0\n", + "\n", + "\n", + "\n", + "domain_size_f12a7f1986b9dd058dfc666dbe230b20->macros_tex_2966c3cce2a45e8cba702c524f55c461\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "domain_size_f12a7f1986b9dd058dfc666dbe230b20->gmsh_output_file_fa7ec7ce434650774dc66bdb43c1d809\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89\n", + "\n", + "source_directory=/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/source\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->create_function_job_d98d5639807a3be4999a1365311f70f7\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->macros_tex_2966c3cce2a45e8cba702c524f55c461\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->pvbatch_output_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->poisson_output_pvd_file_33b662a19dd2a4b145850729f23a7c66\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->plot_file_2e9051e35dd84c5e1f106937c8c783f5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->poisson_output_vtu_file_5b4f7a5144851465b22b9e4f9e6af5a9\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->ndofs_c0ac3b9ed23ab49414fc2f718f8fb106\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "source_directory_5beb97e7e5f621e33d82e6cf4af22c89->gmsh_output_file_fa7ec7ce434650774dc66bdb43c1d809\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\n", + "delayed_object_lst[-1].draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "44c5213b-ce89-4d8d-b47b-1ac0bb4940ab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The job generate_mesh_48a36c5747cacb5a404050510014e47e was saved and received the ID: 34\n", + "The job convert_to_xdmf_eb9b45572042c1ef8c618184cde64b0d was saved and received the ID: 35\n", + "The job poisson_2fd5008b2250fed255cc4f58e009fe7e was saved and received the ID: 36\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/jan/miniforge3/envs/processing/lib/python3.9/site-packages/ufl/__init__.py:250: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " import pkg_resources\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The job plot_over_line_e59dd6066e3aaeb378917024209e71cf was saved and received the ID: 37\n", + "The job substitute_macros_317cac7b98bf8b6278cdf40a45350ccb was saved and received the ID: 38\n", + "The job compile_paper_32a7807be3644bd018cad61f46ebfb35 was saved and received the ID: 39\n" + ] + }, + { + "data": { + "text/plain": [ + "'/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/postprocessing/paper.pdf'" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "delayed_object_lst[-1].pull()" + ] + }, + { + "cell_type": "markdown", + "id": "385acbf585763632", + "metadata": {}, + "source": [ + "## Load Workflow with pyiron_workflow" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "927d0118cc4edfba", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_workflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "50055483ca2c9909", + "metadata": {}, + "outputs": [], + "source": [ + "wf = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "7d25a578c431e0f5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdi\n", + "\n", + "executorlib_nfdi: Workflow\n", + "\n", + "clusterexecutorlib_nfdiInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_mesh\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "generate_mesh: generate_mesh\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmf\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "convert_to_xdmf: convert_to_xdmf\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoisson\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "poisson: poisson\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_line\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "plot_over_line: plot_over_line\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macros\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "substitute_macros: substitute_macros\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paper\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "compile_paper: compile_paper\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_5349895245803136458: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_2446111291168350704: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_3616010272467796640: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_288724780737349182: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_8657121023782977951: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsgenerate_mesh__domain_size\n", + "\n", + "generate_mesh__domain_size: float\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshInputsdomain_size\n", + "\n", + "domain_size: float\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsgenerate_mesh__domain_size->clusterexecutorlib_nfdigenerate_meshInputsdomain_size\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsgenerate_mesh__source_directory\n", + "\n", + "generate_mesh__source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshInputssource_directory\n", + "\n", + "source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsgenerate_mesh__source_directory->clusterexecutorlib_nfdigenerate_meshInputssource_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputspoisson__source_directory\n", + "\n", + "poisson__source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonInputssource_directory\n", + "\n", + "source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputspoisson__source_directory->clusterexecutorlib_nfdipoissonInputssource_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsplot_over_line__source_directory\n", + "\n", + "plot_over_line__source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineInputssource_directory\n", + "\n", + "source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsplot_over_line__source_directory->clusterexecutorlib_nfdiplot_over_lineInputssource_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputssubstitute_macros__domain_size\n", + "\n", + "substitute_macros__domain_size: float\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputsdomain_size\n", + "\n", + "domain_size: float\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputssubstitute_macros__domain_size->clusterexecutorlib_nfdisubstitute_macrosInputsdomain_size\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputssubstitute_macros__source_directory\n", + "\n", + "substitute_macros__source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputssource_directory\n", + "\n", + "source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputssubstitute_macros__source_directory->clusterexecutorlib_nfdisubstitute_macrosInputssource_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputscompile_paper__source_directory\n", + "\n", + "compile_paper__source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperInputssource_directory\n", + "\n", + "source_directory: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputscompile_paper__source_directory->clusterexecutorlib_nfdicompile_paperInputssource_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_5349895245803136458__item\n", + "\n", + "injected_GetItem_5349895245803136458__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_5349895245803136458__item->clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_2446111291168350704__item\n", + "\n", + "injected_GetItem_2446111291168350704__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_2446111291168350704__item->clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_3616010272467796640__item\n", + "\n", + "injected_GetItem_3616010272467796640__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_3616010272467796640__item->clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_288724780737349182__item\n", + "\n", + "injected_GetItem_288724780737349182__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_288724780737349182__item->clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_8657121023782977951__item\n", + "\n", + "injected_GetItem_8657121023782977951__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiInputsinjected_GetItem_8657121023782977951__item->clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiOutputsWithInjectioncompile_paper__compile_paper\n", + "\n", + "compile_paper__compile_paper: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshOutputsWithInjectiongenerate_mesh\n", + "\n", + "generate_mesh: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfInputsgmsh_output_file\n", + "\n", + "gmsh_output_file: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdigenerate_meshOutputsWithInjectiongenerate_mesh->clusterexecutorlib_nfdiconvert_to_xdmfInputsgmsh_output_file\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfOutputsWithInjectionconvert_to_xdmf\n", + "\n", + "convert_to_xdmf: dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfOutputsWithInjectionconvert_to_xdmf->clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiconvert_to_xdmfOutputsWithInjectionconvert_to_xdmf->clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonInputsmeshio_output_xdmf\n", + "\n", + "meshio_output_xdmf: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonInputsmeshio_output_h5\n", + "\n", + "meshio_output_h5: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjectionpoisson\n", + "\n", + "poisson: dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjectionpoisson->clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjectionpoisson->clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdipoissonOutputsWithInjectionpoisson->clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineInputspoisson_output_pvd_file\n", + "\n", + "poisson_output_pvd_file: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineInputspoisson_output_vtu_file\n", + "\n", + "poisson_output_vtu_file: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineOutputsWithInjectionplot_over_line\n", + "\n", + "plot_over_line: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputspvbatch_output_file\n", + "\n", + "pvbatch_output_file: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineOutputsWithInjectionplot_over_line->clusterexecutorlib_nfdisubstitute_macrosInputspvbatch_output_file\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperInputsplot_file\n", + "\n", + "plot_file: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiplot_over_lineOutputsWithInjectionplot_over_line->clusterexecutorlib_nfdicompile_paperInputsplot_file\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosInputsndofs\n", + "\n", + "ndofs: int\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosOutputsWithInjectionsubstitute_macros\n", + "\n", + "substitute_macros: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperInputsmacros_tex\n", + "\n", + "macros_tex: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdisubstitute_macrosOutputsWithInjectionsubstitute_macros->clusterexecutorlib_nfdicompile_paperInputsmacros_tex\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperOutputsWithInjectioncompile_paper\n", + "\n", + "compile_paper: str\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdicompile_paperOutputsWithInjectioncompile_paper->clusterexecutorlib_nfdiOutputsWithInjectioncompile_paper__compile_paper\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_5349895245803136458OutputsWithInjectiongetitem->clusterexecutorlib_nfdipoissonInputsmeshio_output_xdmf\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_2446111291168350704OutputsWithInjectiongetitem->clusterexecutorlib_nfdipoissonInputsmeshio_output_h5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_3616010272467796640OutputsWithInjectiongetitem->clusterexecutorlib_nfdiplot_over_lineInputspoisson_output_pvd_file\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_288724780737349182OutputsWithInjectiongetitem->clusterexecutorlib_nfdiplot_over_lineInputspoisson_output_vtu_file\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_nfdiinjected_GetItem_8657121023782977951OutputsWithInjectiongetitem->clusterexecutorlib_nfdisubstitute_macrosInputsndofs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.draw(size=(10,10))" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "fff9513c4a127a96", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/jan/miniforge3/envs/processing/lib/python3.9/site-packages/ufl/__init__.py:250: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", + " import pkg_resources\n" + ] + }, + { + "data": { + "text/plain": [ + "{'compile_paper__compile_paper': '/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/nfdi/postprocessing/paper.pdf'}" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47a4de7a-d149-4cd2-9b92-1901ce0ceb9d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/example_workflows/quantum_espresso/executorlib.ipynb b/example_workflows/quantum_espresso/executorlib.ipynb new file mode 100644 index 0000000..29164b3 --- /dev/null +++ b/example_workflows/quantum_espresso/executorlib.ipynb @@ -0,0 +1,5564 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "be2d61b0-0d47-4349-b4b0-1b767c961644", + "metadata": {}, + "source": [ + "# executorlib" + ] + }, + { + "cell_type": "markdown", + "id": "0bad2a57-1bd2-4837-94fe-f8c60e211fae", + "metadata": {}, + "source": [ + "## Define workflow with executorlib" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "a2ed2608-9e1b-4a81-81cb-5079573ea2d1", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from executorlib import SingleNodeExecutor, get_item_from_future" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ea65c6275f956bdb", + "metadata": {}, + "outputs": [], + "source": [ + "from workflow import calculate_qe, generate_structures, get_bulk_structure, plot_energy_volume_curve" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "686a6a5f54a0cef5", + "metadata": {}, + "outputs": [], + "source": [ + "workflow_json_filename = \"executorlib_qe.json\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5071d3a0-7c1f-44c5-85e0-dede1566c10c", + "metadata": {}, + "outputs": [], + "source": [ + "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1f1cb12f-4001-478d-8ea0-b369f4f2981a", + "metadata": {}, + "outputs": [], + "source": [ + "with SingleNodeExecutor(export_workflow_filename=workflow_json_filename) as exe:\n", + " structure_future = exe.submit(\n", + " get_bulk_structure,\n", + " element=\"Al\",\n", + " a=4.04,\n", + " cubic=True,\n", + " )\n", + " calc_mini_future = exe.submit(\n", + " calculate_qe,\n", + " working_directory=\"mini\",\n", + " input_dict={\n", + " \"structure\": structure_future,\n", + " \"pseudopotentials\": pseudopotentials,\n", + " \"kpts\": (3, 3, 3),\n", + " \"calculation\": \"vc-relax\",\n", + " \"smearing\": 0.02,\n", + " },\n", + " )\n", + " number_of_strains = 5\n", + " structure_lst_future = exe.submit(\n", + " generate_structures,\n", + " structure=get_item_from_future(calc_mini_future, key=\"structure\"),\n", + " strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n", + " )\n", + " calc_future_lst = []\n", + " for i, structure_strain in [[i, get_item_from_future(structure_lst_future, key=\"s_\" + str(i))] for i in range(number_of_strains)]:\n", + " calc_future_lst.append(exe.submit(\n", + " 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", + " ))\n", + " plot_future = exe.submit(\n", + " plot_energy_volume_curve,\n", + " volume_lst=[get_item_from_future(future=f, key=\"volume\") for f in calc_future_lst],\n", + " energy_lst=[get_item_from_future(future=f, key=\"energy\") for f in calc_future_lst],\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\n", + " \"version\": \"0.1.0\",\n", + " \"nodes\": [\n", + " {\n", + " \"id\": 0,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.get_bulk_structure\"\n", + " },\n", + " {\n", + " \"id\": 1,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.calculate_qe\"\n", + " },\n", + " {\n", + " \"id\": 2,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.generate_structures\"\n", + " },\n", + " {\n", + " \"id\": 3,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.calculate_qe\"\n", + " },\n", + " {\n", + " \"id\": 4,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.calculate_qe\"\n", + " },\n", + " {\n", + " \"id\": 5,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.calculate_qe\"\n", + " },\n", + " {\n", + " \"id\": 6,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.calculate_qe\"\n", + " },\n", + " {\n", + " \"id\": 7,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.calculate_qe\"\n", + " },\n", + " {\n", + " \"id\": 8,\n", + " \"type\": \"function\",\n", + " \"value\": \"workflow.plot_energy_volume_curve\"\n", + " },\n", + " {\n", + " \"id\": 9,\n", + " \"type\": \"input\",\n", + " \"value\": \"Al\",\n", + " \"name\": \"element\"\n", + " },\n", + " {\n", + " \"id\": 10,\n", + " \"type\": \"input\",\n", + " \"value\": 4.04,\n", + " \"name\": \"a\"\n", + " },\n", + " {\n", + " \"id\": 11,\n", + " \"type\": \"input\",\n", + " \"value\": true,\n", + " \"name\": \"cubic\"\n", + " },\n", + " {\n", + " \"id\": 12,\n", + " \"type\": \"input\",\n", + " \"value\": \"mini\",\n", + " \"name\": \"working_directory\"\n", + " },\n", + " {\n", + " \"id\": 13,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_dict\"\n", + " },\n", + " {\n", + " \"id\": 14,\n", + " \"type\": \"input\",\n", + " \"value\": {\n", + " \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n", + " },\n", + " \"name\": \"pseudopotentials\"\n", + " },\n", + " {\n", + " \"id\": 15,\n", + " \"type\": \"input\",\n", + " \"value\": [\n", + " 3,\n", + " 3,\n", + " 3\n", + " ],\n", + " \"name\": \"kpts\"\n", + " },\n", + " {\n", + " \"id\": 16,\n", + " \"type\": \"input\",\n", + " \"value\": \"vc-relax\",\n", + " \"name\": \"calculation\"\n", + " },\n", + " {\n", + " \"id\": 17,\n", + " \"type\": \"input\",\n", + " \"value\": 0.02,\n", + " \"name\": \"smearing\"\n", + " },\n", + " {\n", + " \"id\": 18,\n", + " \"type\": \"input\",\n", + " \"value\": [\n", + " 0.9,\n", + " 0.9500000000000001,\n", + " 1.0,\n", + " 1.05,\n", + " 1.1\n", + " ],\n", + " \"name\": \"strain_lst\"\n", + " },\n", + " {\n", + " \"id\": 19,\n", + " \"type\": \"input\",\n", + " \"value\": \"strain_0\",\n", + " \"name\": \"working_directory\"\n", + " },\n", + " {\n", + " \"id\": 20,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_dict\"\n", + " },\n", + " {\n", + " \"id\": 21,\n", + " \"type\": \"input\",\n", + " \"value\": \"scf\",\n", + " \"name\": \"calculation\"\n", + " },\n", + " {\n", + " \"id\": 22,\n", + " \"type\": \"input\",\n", + " \"value\": \"strain_1\",\n", + " \"name\": \"working_directory\"\n", + " },\n", + " {\n", + " \"id\": 23,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_dict\"\n", + " },\n", + " {\n", + " \"id\": 24,\n", + " \"type\": \"input\",\n", + " \"value\": \"strain_2\",\n", + " \"name\": \"working_directory\"\n", + " },\n", + " {\n", + " \"id\": 25,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_dict\"\n", + " },\n", + " {\n", + " \"id\": 26,\n", + " \"type\": \"input\",\n", + " \"value\": \"strain_3\",\n", + " \"name\": \"working_directory\"\n", + " },\n", + " {\n", + " \"id\": 27,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_dict\"\n", + " },\n", + " {\n", + " \"id\": 28,\n", + " \"type\": \"input\",\n", + " \"value\": \"strain_4\",\n", + " \"name\": \"working_directory\"\n", + " },\n", + " {\n", + " \"id\": 29,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_dict\"\n", + " },\n", + " {\n", + " \"id\": 30,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_list\"\n", + " },\n", + " {\n", + " \"id\": 31,\n", + " \"type\": \"function\",\n", + " \"value\": \"python_workflow_definition.shared.get_list\"\n", + " },\n", + " {\n", + " \"id\": 32,\n", + " \"type\": \"output\",\n", + " \"name\": \"result\"\n", + " }\n", + " ],\n", + " \"edges\": [\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"element\",\n", + " \"source\": 9,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"a\",\n", + " \"source\": 10,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 0,\n", + " \"targetPort\": \"cubic\",\n", + " \"source\": 11,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"working_directory\",\n", + " \"source\": 12,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"input_dict\",\n", + " \"source\": 13,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 13,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 0,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 13,\n", + " \"targetPort\": \"pseudopotentials\",\n", + " \"source\": 14,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 13,\n", + " \"targetPort\": \"kpts\",\n", + " \"source\": 15,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 13,\n", + " \"targetPort\": \"calculation\",\n", + " \"source\": 16,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 13,\n", + " \"targetPort\": \"smearing\",\n", + " \"source\": 17,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 1,\n", + " \"sourcePort\": \"structure\"\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"strain_lst\",\n", + " \"source\": 18,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 3,\n", + " \"targetPort\": \"working_directory\",\n", + " \"source\": 19,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 3,\n", + " \"targetPort\": \"input_dict\",\n", + " \"source\": 20,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 20,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"s_0\"\n", + " },\n", + " {\n", + " \"target\": 20,\n", + " \"targetPort\": \"pseudopotentials\",\n", + " \"source\": 14,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 20,\n", + " \"targetPort\": \"kpts\",\n", + " \"source\": 15,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 20,\n", + " \"targetPort\": \"calculation\",\n", + " \"source\": 21,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 20,\n", + " \"targetPort\": \"smearing\",\n", + " \"source\": 17,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 4,\n", + " \"targetPort\": \"working_directory\",\n", + " \"source\": 22,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 4,\n", + " \"targetPort\": \"input_dict\",\n", + " \"source\": 23,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 23,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"s_1\"\n", + " },\n", + " {\n", + " \"target\": 23,\n", + " \"targetPort\": \"pseudopotentials\",\n", + " \"source\": 14,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 23,\n", + " \"targetPort\": \"kpts\",\n", + " \"source\": 15,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 23,\n", + " \"targetPort\": \"calculation\",\n", + " \"source\": 21,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 23,\n", + " \"targetPort\": \"smearing\",\n", + " \"source\": 17,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 5,\n", + " \"targetPort\": \"working_directory\",\n", + " \"source\": 24,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 5,\n", + " \"targetPort\": \"input_dict\",\n", + " \"source\": 25,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 25,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"s_2\"\n", + " },\n", + " {\n", + " \"target\": 25,\n", + " \"targetPort\": \"pseudopotentials\",\n", + " \"source\": 14,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 25,\n", + " \"targetPort\": \"kpts\",\n", + " \"source\": 15,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 25,\n", + " \"targetPort\": \"calculation\",\n", + " \"source\": 21,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 25,\n", + " \"targetPort\": \"smearing\",\n", + " \"source\": 17,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 6,\n", + " \"targetPort\": \"working_directory\",\n", + " \"source\": 26,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 6,\n", + " \"targetPort\": \"input_dict\",\n", + " \"source\": 27,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 27,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"s_3\"\n", + " },\n", + " {\n", + " \"target\": 27,\n", + " \"targetPort\": \"pseudopotentials\",\n", + " \"source\": 14,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 27,\n", + " \"targetPort\": \"kpts\",\n", + " \"source\": 15,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 27,\n", + " \"targetPort\": \"calculation\",\n", + " \"source\": 21,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 27,\n", + " \"targetPort\": \"smearing\",\n", + " \"source\": 17,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 7,\n", + " \"targetPort\": \"working_directory\",\n", + " \"source\": 28,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 7,\n", + " \"targetPort\": \"input_dict\",\n", + " \"source\": 29,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 29,\n", + " \"targetPort\": \"structure\",\n", + " \"source\": 2,\n", + " \"sourcePort\": \"s_4\"\n", + " },\n", + " {\n", + " \"target\": 29,\n", + " \"targetPort\": \"pseudopotentials\",\n", + " \"source\": 14,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 29,\n", + " \"targetPort\": \"kpts\",\n", + " \"source\": 15,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 29,\n", + " \"targetPort\": \"calculation\",\n", + " \"source\": 21,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 29,\n", + " \"targetPort\": \"smearing\",\n", + " \"source\": 17,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 8,\n", + " \"targetPort\": \"volume_lst\",\n", + " \"source\": 30,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 30,\n", + " \"targetPort\": \"0\",\n", + " \"source\": 3,\n", + " \"sourcePort\": \"volume\"\n", + " },\n", + " {\n", + " \"target\": 30,\n", + " \"targetPort\": \"1\",\n", + " \"source\": 4,\n", + " \"sourcePort\": \"volume\"\n", + " },\n", + " {\n", + " \"target\": 30,\n", + " \"targetPort\": \"2\",\n", + " \"source\": 5,\n", + " \"sourcePort\": \"volume\"\n", + " },\n", + " {\n", + " \"target\": 30,\n", + " \"targetPort\": \"3\",\n", + " \"source\": 6,\n", + " \"sourcePort\": \"volume\"\n", + " },\n", + " {\n", + " \"target\": 30,\n", + " \"targetPort\": \"4\",\n", + " \"source\": 7,\n", + " \"sourcePort\": \"volume\"\n", + " },\n", + " {\n", + " \"target\": 8,\n", + " \"targetPort\": \"energy_lst\",\n", + " \"source\": 31,\n", + " \"sourcePort\": null\n", + " },\n", + " {\n", + " \"target\": 31,\n", + " \"targetPort\": \"0\",\n", + " \"source\": 3,\n", + " \"sourcePort\": \"energy\"\n", + " },\n", + " {\n", + " \"target\": 31,\n", + " \"targetPort\": \"1\",\n", + " \"source\": 4,\n", + " \"sourcePort\": \"energy\"\n", + " },\n", + " {\n", + " \"target\": 31,\n", + " \"targetPort\": \"2\",\n", + " \"source\": 5,\n", + " \"sourcePort\": \"energy\"\n", + " },\n", + " {\n", + " \"target\": 31,\n", + " \"targetPort\": \"3\",\n", + " \"source\": 6,\n", + " \"sourcePort\": \"energy\"\n", + " },\n", + " {\n", + " \"target\": 31,\n", + " \"targetPort\": \"4\",\n", + " \"source\": 7,\n", + " \"sourcePort\": \"energy\"\n", + " },\n", + " {\n", + " \"target\": 32,\n", + " \"targetPort\": null,\n", + " \"source\": 31,\n", + " \"sourcePort\": null\n", + " }\n", + " ]\n", + "}" + ] + } + ], + "source": [ + "!cat {workflow_json_filename}" + ] + }, + { + "cell_type": "markdown", + "id": "7d75a2f6-6fad-49c8-bd29-37cca1b84441", + "metadata": {}, + "source": [ + "## Load Workflow with aiida" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "28760464-2a2c-40c2-9451-20713da2ba2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Profile" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from aiida import orm, load_profile\n", + "\n", + "load_profile()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a442fe46-057c-469b-a5e0-173ed4829dfb", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.aiida import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "32fcd4b2-4f0a-442d-b098-827672823796", + "metadata": {}, + "outputs": [], + "source": [ + "wg = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "d81a4fb5-a674-41a9-ac19-24c56f952468", + "metadata": {}, + "outputs": [], + "source": [ + "wg.nodes.get_bulk_structure.inputs.a.value = orm.Float(4.05)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a80b59bd-fe30-49c6-92ca-35ef2d77a6fb", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "01/16/2026 08:27:06 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure\n", + "01/16/2026 08:27:06 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_bulk_structure, type: PYFUNCTION, finished.\n", + "01/16/2026 08:27:06 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict\n", + "01/16/2026 08:27:07 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_dict, type: PYFUNCTION, finished.\n", + "01/16/2026 08:27:07 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe\n", + "01/16/2026 08:28:16 AM <71653> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: ['energy', 'volume']\n", + "01/16/2026 08:28:17 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: calculate_qe, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:17 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures\n", + "01/16/2026 08:28:18 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: generate_structures, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:18 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict1,get_dict2,get_dict3,get_dict4,get_dict5\n", + "01/16/2026 08:28:18 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_dict1, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:18 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe1,get_dict2,get_dict3,get_dict4,get_dict5\n", + "01/16/2026 08:28:34 AM <71653> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: ['structure']\n", + "01/16/2026 08:28:34 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: calculate_qe1, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:34 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict2,get_dict3,get_dict4,get_dict5\n", + "01/16/2026 08:28:35 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_dict2, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:35 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe2,get_dict3,get_dict4,get_dict5\n", + "01/16/2026 08:28:51 AM <71653> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: ['structure']\n", + "01/16/2026 08:28:51 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: calculate_qe2, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:51 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict3,get_dict4,get_dict5\n", + "01/16/2026 08:28:51 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_dict3, type: PYFUNCTION, finished.\n", + "01/16/2026 08:28:52 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe3,get_dict4,get_dict5\n", + "01/16/2026 08:29:11 AM <71653> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: ['structure']\n", + "01/16/2026 08:29:12 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: calculate_qe3, type: PYFUNCTION, finished.\n", + "01/16/2026 08:29:12 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict4,get_dict5\n", + "01/16/2026 08:29:12 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_dict4, type: PYFUNCTION, finished.\n", + "01/16/2026 08:29:13 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe4,get_dict5\n", + "01/16/2026 08:29:34 AM <71653> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: ['structure']\n", + "01/16/2026 08:29:35 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: calculate_qe4, type: PYFUNCTION, finished.\n", + "01/16/2026 08:29:35 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict5\n", + "01/16/2026 08:29:36 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_dict5, type: PYFUNCTION, finished.\n", + "01/16/2026 08:29:36 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe5\n", + "01/16/2026 08:29:58 AM <71653> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: ['structure']\n", + "01/16/2026 08:29:59 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: calculate_qe5, type: PYFUNCTION, finished.\n", + "01/16/2026 08:29:59 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list,get_list1\n", + "01/16/2026 08:29:59 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_list, type: PYFUNCTION, finished.\n", + "01/16/2026 08:29:59 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list1\n", + "01/16/2026 08:30:00 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: get_list1, type: PYFUNCTION, finished.\n", + "01/16/2026 08:30:00 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve\n", + "01/16/2026 08:30:00 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve, type: PYFUNCTION, finished.\n", + "01/16/2026 08:30:00 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n", + "01/16/2026 08:30:01 AM <71653> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [1663|WorkGraphEngine|finalize]: Finalize workgraph.\n" + ] + }, + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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m5ubIiQkRI5PqTzEuAxdfY3cSZvLcHXpD/G7IspT//3vf+VjRNlJjNU4cuSIQhf7Y8CAAXJG3KFDhxRRUVGK9evXy3FNn3/+uUIblZaWKjw8PORMwTvp0vvpvfqjWAffTxksabCdO3cqOnXqJAdpent7yzf424lBu2+99Zac8ioe8+CDD8pfcl3sj+joaDnmoLpDfBDo6mtEl4KluvbHN998o2jXrp0MCjp37qz47bffFLraH+LDb86cOQoXFxfZHx07dlSsWrWqxunjmm7v3r3yPSE8PPyu+3Tt/bS2/ojWwfdTPfEfVWe3iIiIiNQVxywRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRkU4TmwZ//PHHqm4GEakxBktEpLHGjBmDwYMHV3vf8ePHoaenh7NnzzZ7u4hIuzBYIiKN9cQTT+DgwYOIjY29675vv/0WXbp0Qbdu3VTSNiLSHgyWiEhjjR49Gg4ODtiwYUOV6/n5+fj5559lMLVt2zb4+fnBxMREltxWrVpV4/PFxMTIbFRISIjyWlZWlrx2+PBheVt8Fbf37t2Lrl27wszMDIMGDUJaWhp2794NHx8fWFlZYerUqbIdlcQ2nCtXrkSbNm3k93Tu3Blbt25tkn4hosbFYImINJahoSFmzZolg6Xb9wTfsmULioqKEBgYiMceewxTpkzBxYsXsXTpUrzxxht3BVf1IZ5r7dq1CAoKQnx8vPx3xNinH374AX/++Sf279+PTz/9VPn4119/HevXr8e6detw+fJlLFy4EDNmzMDff//d4LYQUdPSU9z+DkNEpGHCwsJkNkeU4x566CF5bcCAAXB1dZUZoPT0dOzbt0/5+FdeeUUGMyJgEUS26cUXX5SHyCy1bt0a586dkyW8ysxSy5YtcejQIQwcOFBmlsS/c+DAATz88MPyMStWrMDixYtx7do1mTkSnn76afl8e/bsQV5eHuzs7GQbRQBXad68eTL7JAIsIlJfzCwRkUbz9vZG37595RglQQQsR44cweOPP47Q0FD069evyuPF7cjISJSWljbo3w0ICFCeOzo6wtzcXBkoVV4TpTnhypUrKCgowJAhQ9CiRQvlsWnTJtleIlJvhqpuABFRQ4mxSQsWLMBnn30mS12enp4y6yMS5yK7dLvakun6+vp3Paa4uLjaxxoZGSnPxb9x++3Ka2VlZfK88qvIaImM1+3EWCoiUm/MLBGRxhPjhQwMDGQ5a+PGjZg7d64MVnx9fXH06NEqjxVjjDp06CAffyd7e3v5NTk5WXnt9sHe9SXaIYKiuLg4tGvXrsrh7u7e4OcnoqbFzBIRaTxR0po8eTKWLFmC7OxszJkzR15/+eWX0bNnT7z77rvyfrH2khiU/fnnn1f7PGKWWp8+feQYJDGW6fr163JgdkNZWlri3//+txzULbJM/fv3R05OjgzcRNtnz57d4H+DiJoOM0tEpDWluMzMTLlIpYeHh7wm1lj65Zdf8NNPP6FTp05488038c477yiDqeqIsU+i9NajRw+88MILeO+99xqlfSJgE//+8uXL5YD0YcOGYefOnXJAORGpN86GIyIiIqoFM0tEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERISa/T8ezoucFchGGAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wg.run()" + ] + }, + { + "cell_type": "markdown", + "id": "c4f5c047-c6da-4b54-9007-415faca7a448", + "metadata": {}, + "source": [ + "## Load Workflow with jobflow" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b8e3c2ca-2672-4e9d-aada-63344842dbcf", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.jobflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "54a24ff6c569094e", + "metadata": {}, + "outputs": [], + "source": [ + "from jobflow.managers.local import run_locally" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "48a27146-7372-40ab-8b02-e2a9283d4748", + "metadata": {}, + "outputs": [], + "source": [ + "flow = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "bf84ef10-e1af-475f-a457-d2703c7276a0", + "metadata": {}, + "outputs": [], + "source": [ + "flow[0].function_kwargs[\"a\"] = 4.05" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "98fa5694-2cc6-44e9-a6e7-2cc71b4f48ce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2026-01-16 08:31:28,452 INFO Started executing jobs locally\n", + "2026-01-16 08:31:28,816 INFO Starting job - get_bulk_structure (9a8ea16b-3d54-40ab-ba1c-ed56a2f6c7a3)\n", + "2026-01-16 08:31:28,821 INFO Finished job - get_bulk_structure (9a8ea16b-3d54-40ab-ba1c-ed56a2f6c7a3)\n", + "2026-01-16 08:31:28,821 INFO Starting job - get_dict (0dbdd8f7-8a2f-4160-be09-0620e7fa3bea)\n", + "2026-01-16 08:31:28,825 INFO Finished job - get_dict (0dbdd8f7-8a2f-4160-be09-0620e7fa3bea)\n", + "2026-01-16 08:31:28,826 INFO Starting job - calculate_qe (583839c2-ffac-4ef2-8ca4-64c2a7701745)\n", + "2026-01-16 08:32:37,487 INFO Finished job - calculate_qe (583839c2-ffac-4ef2-8ca4-64c2a7701745)\n", + "2026-01-16 08:32:37,489 INFO Starting job - generate_structures (c8cf3dd8-ddfc-4f28-9d19-6da0ab99346f)\n", + "2026-01-16 08:32:37,497 INFO Finished job - generate_structures (c8cf3dd8-ddfc-4f28-9d19-6da0ab99346f)\n", + "2026-01-16 08:32:37,498 INFO Starting job - get_dict (f50678d3-6d30-4941-822d-e9e46a0d42aa)\n", + "2026-01-16 08:32:37,501 INFO Finished job - get_dict (f50678d3-6d30-4941-822d-e9e46a0d42aa)\n", + "2026-01-16 08:32:37,503 INFO Starting job - get_dict (115aa31e-629e-4371-8c88-9e12e5fc0c4e)\n", + "2026-01-16 08:32:37,508 INFO Finished job - get_dict (115aa31e-629e-4371-8c88-9e12e5fc0c4e)\n", + "2026-01-16 08:32:37,510 INFO Starting job - get_dict (7e22fea0-9529-44ce-8ce0-5dc47cf9a558)\n", + "2026-01-16 08:32:37,517 INFO Finished job - get_dict (7e22fea0-9529-44ce-8ce0-5dc47cf9a558)\n", + "2026-01-16 08:32:37,518 INFO Starting job - get_dict (2fcbd570-2464-4fa9-af6d-c7cde924867c)\n", + "2026-01-16 08:32:37,521 INFO Finished job - get_dict (2fcbd570-2464-4fa9-af6d-c7cde924867c)\n", + "2026-01-16 08:32:37,521 INFO Starting job - get_dict (0e486056-1f13-4c7f-bbcb-6379d46cf407)\n", + "2026-01-16 08:32:37,524 INFO Finished job - get_dict (0e486056-1f13-4c7f-bbcb-6379d46cf407)\n", + "2026-01-16 08:32:37,524 INFO Starting job - calculate_qe (4ea4ab88-7ded-4840-a9f0-1374255fb8fb)\n", + "2026-01-16 08:32:52,682 INFO Finished job - calculate_qe (4ea4ab88-7ded-4840-a9f0-1374255fb8fb)\n", + "2026-01-16 08:32:52,683 INFO Starting job - calculate_qe (dbf29828-2fb9-4f9c-8613-077eb01882f5)\n", + "2026-01-16 08:33:07,920 INFO Finished job - calculate_qe (dbf29828-2fb9-4f9c-8613-077eb01882f5)\n", + "2026-01-16 08:33:07,921 INFO Starting job - calculate_qe (87d5064e-4939-408b-8d0c-4f40ad383ca5)\n", + "2026-01-16 08:33:27,478 INFO Finished job - calculate_qe (87d5064e-4939-408b-8d0c-4f40ad383ca5)\n", + "2026-01-16 08:33:27,479 INFO Starting job - calculate_qe (d47b6fbf-afda-4190-a8a4-3e0954785d8a)\n", + "2026-01-16 08:33:49,844 INFO Finished job - calculate_qe (d47b6fbf-afda-4190-a8a4-3e0954785d8a)\n", + "2026-01-16 08:33:49,845 INFO Starting job - calculate_qe (a8f38ff3-604d-4e68-bb3e-db2378f554e6)\n", + "2026-01-16 08:34:11,056 INFO Finished job - calculate_qe (a8f38ff3-604d-4e68-bb3e-db2378f554e6)\n", + "2026-01-16 08:34:11,057 INFO Starting job - get_list (3c430b52-4a0e-410f-b998-5000702e12b3)\n", + "2026-01-16 08:34:11,065 INFO Finished job - get_list (3c430b52-4a0e-410f-b998-5000702e12b3)\n", + "2026-01-16 08:34:11,067 INFO Starting job - get_list (e306309a-4f67-435c-a175-0b98694d8cfd)\n", + "2026-01-16 08:34:11,074 INFO Finished job - get_list (e306309a-4f67-435c-a175-0b98694d8cfd)\n", + "2026-01-16 08:34:11,076 INFO Starting job - plot_energy_volume_curve (ce94f2d9-5163-459e-a5ba-6c3c78147900)\n", + "2026-01-16 08:34:11,192 INFO Finished job - plot_energy_volume_curve (ce94f2d9-5163-459e-a5ba-6c3c78147900)\n", + "2026-01-16 08:34:11,192 INFO Finished executing jobs locally\n" + ] + }, + { + "data": { + "text/plain": [ + "{'9a8ea16b-3d54-40ab-ba1c-ed56a2f6c7a3': {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/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '0dbdd8f7-8a2f-4160-be09-0620e7fa3bea': {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\": []}', '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/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '583839c2-ffac-4ef2-8ca4-64c2a7701745': {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.0456373912944485, 0.0, 0.0], [0.0, 4.0456373912944485, 0.0], [0.0, 0.0, 4.0456373912944485]], \"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.0228186956472243, 2.0228186956472243], [2.0228186956472243, 0.0, 2.0228186956472243], [2.0228186956472243, 2.0228186956472243, 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.9365262239594, 'volume': 66.21568309220069}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'c8cf3dd8-ddfc-4f28-9d19-6da0ab99346f': {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.9060199552584023, 0.0, 0.0], [0.0, 3.9060199552584023, 0.0], [0.0, 0.0, 3.9060199552584023]], \"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.9530099776292011, 1.9530099776292011], [1.9530099776292011, 0.0, 1.9530099776292011], [1.9530099776292011, 1.9530099776292011, 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.977054016693089, 0.0, 0.0], [0.0, 3.977054016693089, 0.0], [0.0, 0.0, 3.977054016693089]], \"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.9885270083465445, 1.9885270083465445], [1.9885270083465445, 0.0, 1.9885270083465445], [1.9885270083465445, 1.9885270083465445, 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.0456373912944485, 0.0, 0.0], [0.0, 4.0456373912944485, 0.0], [0.0, 0.0, 4.0456373912944485]], \"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.0228186956472243, 2.0228186956472243], [2.0228186956472243, 0.0, 2.0228186956472243], [2.0228186956472243, 2.0228186956472243, 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.111971105505625, 0.0, 0.0], [0.0, 4.111971105505625, 0.0], [0.0, 0.0, 4.111971105505625]], \"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.0559855527528126, 2.0559855527528126], [2.0559855527528126, 0.0, 2.0559855527528126], [2.0559855527528126, 2.0559855527528126, 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.17623103338003, 0.0, 0.0], [0.0, 4.17623103338003, 0.0], [0.0, 0.0, 4.17623103338003]], \"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.088115516690015, 2.088115516690015], [2.088115516690015, 0.0, 2.088115516690015], [2.088115516690015, 2.088115516690015, 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/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'f50678d3-6d30-4941-822d-e9e46a0d42aa': {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.9060199552584023, 0.0, 0.0], [0.0, 3.9060199552584023, 0.0], [0.0, 0.0, 3.9060199552584023]], \"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.9530099776292011, 1.9530099776292011], [1.9530099776292011, 0.0, 1.9530099776292011], [1.9530099776292011, 1.9530099776292011, 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\": []}', 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'kpts': [3, 3, 3], 'calculation': 'scf', 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '115aa31e-629e-4371-8c88-9e12e5fc0c4e': {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.977054016693089, 0.0, 0.0], [0.0, 3.977054016693089, 0.0], [0.0, 0.0, 3.977054016693089]], \"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.9885270083465445, 1.9885270083465445], [1.9885270083465445, 0.0, 1.9885270083465445], [1.9885270083465445, 1.9885270083465445, 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\": []}', 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'kpts': [3, 3, 3], 'calculation': 'scf', 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '7e22fea0-9529-44ce-8ce0-5dc47cf9a558': {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.0456373912944485, 0.0, 0.0], [0.0, 4.0456373912944485, 0.0], [0.0, 0.0, 4.0456373912944485]], \"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.0228186956472243, 2.0228186956472243], [2.0228186956472243, 0.0, 2.0228186956472243], [2.0228186956472243, 2.0228186956472243, 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\": []}', 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'kpts': [3, 3, 3], 'calculation': 'scf', 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '2fcbd570-2464-4fa9-af6d-c7cde924867c': {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.111971105505625, 0.0, 0.0], [0.0, 4.111971105505625, 0.0], [0.0, 0.0, 4.111971105505625]], \"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.0559855527528126, 2.0559855527528126], [2.0559855527528126, 0.0, 2.0559855527528126], [2.0559855527528126, 2.0559855527528126, 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\": []}', 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'kpts': [3, 3, 3], 'calculation': 'scf', 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '0e486056-1f13-4c7f-bbcb-6379d46cf407': {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.17623103338003, 0.0, 0.0], [0.0, 4.17623103338003, 0.0], [0.0, 0.0, 4.17623103338003]], \"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.088115516690015, 2.088115516690015], [2.088115516690015, 0.0, 2.088115516690015], [2.088115516690015, 2.088115516690015, 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\": []}', 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'kpts': [3, 3, 3], 'calculation': 'scf', 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '4ea4ab88-7ded-4840-a9f0-1374255fb8fb': {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.906019938185435, 0.0, 0.0], [0.0, 3.906019938185435, 0.0], [0.0, 0.0, 3.906019938185435]], \"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.9530099690635172, 1.9530099690635172], [1.9530099690635172, 0.0, 1.9530099690635172], [1.9530099690635172, 1.9530099690635172, 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.845744849063, 'volume': 59.594114001534216}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'dbf29828-2fb9-4f9c-8613-077eb01882f5': {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.9770539993096388, 0.0, 0.0], [0.0, 3.9770539993096388, 0.0], [0.0, 0.0, 3.9770539993096388]], \"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.9885269996082748, 1.9885269996082748], [1.9885269996082748, 0.0, 1.9885269996082748], [1.9885269996082748, 1.9885269996082748, 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.9161489649603, 'volume': 62.90489811273073}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '87d5064e-4939-408b-8d0c-4f40ad383ca5': {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.045637373611226, 0.0, 0.0], [0.0, 4.045637373611226, 0.0], [0.0, 0.0, 4.045637373611226]], \"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.0228186867583875, 2.0228186867583875], [2.0228186867583875, 0.0, 2.0228186867583875], [2.0228186867583875, 2.0228186867583875, 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.9365241649446, 'volume': 66.21568222392706}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'd47b6fbf-afda-4190-a8a4-3e0954785d8a': {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.111971087532464, 0.0, 0.0], [0.0, 4.111971087532464, 0.0], [0.0, 0.0, 4.111971087532464]], \"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.0559855438134176, 2.0559855438134176], [2.0559855438134176, 0.0, 2.0559855438134176], [2.0559855438134176, 2.0559855438134176, 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.9192859118161, 'volume': 69.52646633512354}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'a8f38ff3-604d-4e68-bb3e-db2378f554e6': {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.176231015125989, 0.0, 0.0], [0.0, 4.176231015125989, 0.0], [0.0, 0.0, 4.176231015125989]], \"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.0881155075729794, 2.0881155075729794], [2.0881155075729794, 0.0, 2.0881155075729794], [2.0881155075729794, 2.0881155075729794, 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.8737903053711, 'volume': 72.83725044631976}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " '3c430b52-4a0e-410f-b998-5000702e12b3': {1: Response(output=[59.594114001534216, 62.90489811273073, 66.21568222392706, 69.52646633512354, 72.83725044631976], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'e306309a-4f67-435c-a175-0b98694d8cfd': {1: Response(output=[-1074.845744849063, -1074.9161489649603, -1074.9365241649446, -1074.9192859118161, -1074.8737903053711], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))},\n", + " 'ce94f2d9-5163-459e-a5ba-6c3c78147900': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jan/notebooks/2026/2026-01-16-executorlib-pwd/quantum_espresso'))}}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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m5ubIiQkRI5PqTzEuAxdfY3cSZvLcHXpD/G7IspT//3vf+VjRNlJjNU4cuSIQhf7Y8CAAXJG3KFDhxRRUVGK9evXy3FNn3/+uUIblZaWKjw8PORMwTvp0vvpvfqjWAffTxksabCdO3cqOnXqJAdpent7yzf424lBu2+99Zac8ioe8+CDD8pfcl3sj+joaDnmoLpDfBDo6mtEl4KluvbHN998o2jXrp0MCjp37qz47bffFLraH+LDb86cOQoXFxfZHx07dlSsWrWqxunjmm7v3r3yPSE8PPyu+3Tt/bS2/ojWwfdTPfEfVWe3iIiIiNQVxywRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRkU4TmwZ//PHHqm4GEakxBktEpLHGjBmDwYMHV3vf8ePHoaenh7NnzzZ7u4hIuzBYIiKN9cQTT+DgwYOIjY29675vv/0WXbp0Qbdu3VTSNiLSHgyWiEhjjR49Gg4ODtiwYUOV6/n5+fj5559lMLVt2zb4+fnBxMREltxWrVpV4/PFxMTIbFRISIjyWlZWlrx2+PBheVt8Fbf37t2Lrl27wszMDIMGDUJaWhp2794NHx8fWFlZYerUqbIdlcQ2nCtXrkSbNm3k93Tu3Blbt25tkn4hosbFYImINJahoSFmzZolg6Xb9wTfsmULioqKEBgYiMceewxTpkzBxYsXsXTpUrzxxht3BVf1IZ5r7dq1CAoKQnx8vPx3xNinH374AX/++Sf279+PTz/9VPn4119/HevXr8e6detw+fJlLFy4EDNmzMDff//d4LYQUdPSU9z+DkNEpGHCwsJkNkeU4x566CF5bcCAAXB1dZUZoPT0dOzbt0/5+FdeeUUGMyJgEUS26cUXX5SHyCy1bt0a586dkyW8ysxSy5YtcejQIQwcOFBmlsS/c+DAATz88MPyMStWrMDixYtx7do1mTkSnn76afl8e/bsQV5eHuzs7GQbRQBXad68eTL7JAIsIlJfzCwRkUbz9vZG37595RglQQQsR44cweOPP47Q0FD069evyuPF7cjISJSWljbo3w0ICFCeOzo6wtzcXBkoVV4TpTnhypUrKCgowJAhQ9CiRQvlsWnTJtleIlJvhqpuABFRQ4mxSQsWLMBnn30mS12enp4y6yMS5yK7dLvakun6+vp3Paa4uLjaxxoZGSnPxb9x++3Ka2VlZfK88qvIaImM1+3EWCoiUm/MLBGRxhPjhQwMDGQ5a+PGjZg7d64MVnx9fXH06NEqjxVjjDp06CAffyd7e3v5NTk5WXnt9sHe9SXaIYKiuLg4tGvXrsrh7u7e4OcnoqbFzBIRaTxR0po8eTKWLFmC7OxszJkzR15/+eWX0bNnT7z77rvyfrH2khiU/fnnn1f7PGKWWp8+feQYJDGW6fr163JgdkNZWlri3//+txzULbJM/fv3R05OjgzcRNtnz57d4H+DiJoOM0tEpDWluMzMTLlIpYeHh7wm1lj65Zdf8NNPP6FTp05488038c477yiDqeqIsU+i9NajRw+88MILeO+99xqlfSJgE//+8uXL5YD0YcOGYefOnXJAORGpN86GIyIiIqoFM0tEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERISa/T8ezoucFchGGAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "result = run_locally(flow)\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "9a956c9e", + "metadata": {}, + "source": [ + "## Load Workflow with pyiron_base" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "60e3a47c", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_base import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "2b5f8ac0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "create_function_job_5b061420d63d9ec78dec4ea199d17802\n", + "\n", + "create_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a9f0>\n", + "\n", + "\n", + "\n", + "volume_lst_bab5e4fda3f1e5f52078772393f532bd\n", + "\n", + "volume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a780>\n", + "\n", + "\n", + "\n", + "volume_lst_bab5e4fda3f1e5f52078772393f532bd->create_function_job_5b061420d63d9ec78dec4ea199d17802\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "0_660e411be80b9601df04a305c0b8d42c\n", + "\n", + "0=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a1e0>\n", + "\n", + "\n", + "\n", + "0_660e411be80b9601df04a305c0b8d42c->volume_lst_bab5e4fda3f1e5f52078772393f532bd\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_2e9abb255f1a31f7d29b4451ad422add\n", + "\n", + "working_directory=strain_0\n", + "\n", + "\n", + "\n", + "working_directory_2e9abb255f1a31f7d29b4451ad422add->0_660e411be80b9601df04a305c0b8d42c\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "0_e6ee3581c44e7854efead20f04471309\n", + "\n", + "0=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7939bb0>\n", + "\n", + "\n", + "\n", + "working_directory_2e9abb255f1a31f7d29b4451ad422add->0_e6ee3581c44e7854efead20f04471309\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "energy_lst_66d2789b6d3a5694711b89056d28c94e\n", + "\n", + "energy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a150>\n", + "\n", + "\n", + "\n", + "0_e6ee3581c44e7854efead20f04471309->energy_lst_66d2789b6d3a5694711b89056d28c94e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_1ae09ae858f19c8e60799472df8fb722\n", + "\n", + "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938ef0>\n", + "\n", + "\n", + "\n", + "input_dict_1ae09ae858f19c8e60799472df8fb722->0_660e411be80b9601df04a305c0b8d42c\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_1ae09ae858f19c8e60799472df8fb722->0_e6ee3581c44e7854efead20f04471309\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_5a1787d961459460ccaffe1e1d4ecccb\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938920>\n", + "\n", + "\n", + "\n", + "structure_5a1787d961459460ccaffe1e1d4ecccb->input_dict_1ae09ae858f19c8e60799472df8fb722\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_d174185e21e45d75662c968cd22e343f\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7917b60>\n", + "\n", + "\n", + "\n", + "structure_d174185e21e45d75662c968cd22e343f->structure_5a1787d961459460ccaffe1e1d4ecccb\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_f767dff1064c80db5f7485234890502b\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938e90>\n", + "\n", + "\n", + "\n", + "structure_d174185e21e45d75662c968cd22e343f->structure_f767dff1064c80db5f7485234890502b\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_ddec29d78e450302309468a205f853e0\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938b60>\n", + "\n", + "\n", + "\n", + "structure_d174185e21e45d75662c968cd22e343f->structure_ddec29d78e450302309468a205f853e0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_7058e2b0f9750c91bc4bfb196ef657c4\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938830>\n", + "\n", + "\n", + "\n", + "structure_d174185e21e45d75662c968cd22e343f->structure_7058e2b0f9750c91bc4bfb196ef657c4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_bd3567f1c4dea198450a9c5754169c6e\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938500>\n", + "\n", + "\n", + "\n", + "structure_d174185e21e45d75662c968cd22e343f->structure_bd3567f1c4dea198450a9c5754169c6e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_6ac5729accfaa2fc17b16aea0993239d\n", + "\n", + "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938c20>\n", + "\n", + "\n", + "\n", + "structure_f767dff1064c80db5f7485234890502b->input_dict_6ac5729accfaa2fc17b16aea0993239d\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_6f5f227e76a59bc3328c1589d19e76a8\n", + "\n", + "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c798e210>\n", + "\n", + "\n", + "\n", + "structure_ddec29d78e450302309468a205f853e0->input_dict_6f5f227e76a59bc3328c1589d19e76a8\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_6a9cf74e8db96e54fdfb0259b080fde5\n", + "\n", + "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7938ad0>\n", + "\n", + "\n", + "\n", + "structure_7058e2b0f9750c91bc4bfb196ef657c4->input_dict_6a9cf74e8db96e54fdfb0259b080fde5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_5c935f1e934238da77888607adb78f21\n", + "\n", + "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c79387a0>\n", + "\n", + "\n", + "\n", + "structure_bd3567f1c4dea198450a9c5754169c6e->input_dict_5c935f1e934238da77888607adb78f21\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_a17ade9a563d8dcadb655fb2e1c743a7\n", + "\n", + "working_directory=mini\n", + "\n", + "\n", + "\n", + "working_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_d174185e21e45d75662c968cd22e343f\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_dict_e4882b06f1d1d2787261039e2cadf144\n", + "\n", + "input_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7917b30>\n", + "\n", + "\n", + "\n", + "input_dict_e4882b06f1d1d2787261039e2cadf144->structure_d174185e21e45d75662c968cd22e343f\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_f05da6b1fa437561d105bdc15c0397dc\n", + "\n", + "structure=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7917cb0>\n", + "\n", + "\n", + "\n", + "structure_f05da6b1fa437561d105bdc15c0397dc->input_dict_e4882b06f1d1d2787261039e2cadf144\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "element_467734216d9bd2497ffd28d5cd6daba0\n", + "\n", + "element=Al\n", + "\n", + "\n", + "\n", + "element_467734216d9bd2497ffd28d5cd6daba0->structure_f05da6b1fa437561d105bdc15c0397dc\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "a_457b6d376c6fce696df148a385afa46d\n", + "\n", + "a=4.04\n", + "\n", + "\n", + "\n", + "a_457b6d376c6fce696df148a385afa46d->structure_f05da6b1fa437561d105bdc15c0397dc\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "cubic_bad787c53fa02a5559fe570238fdb23a\n", + "\n", + "cubic=True\n", + "\n", + "\n", + "\n", + "cubic_bad787c53fa02a5559fe570238fdb23a->structure_f05da6b1fa437561d105bdc15c0397dc\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_1ae09ae858f19c8e60799472df8fb722\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_e4882b06f1d1d2787261039e2cadf144\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_6ac5729accfaa2fc17b16aea0993239d\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_6f5f227e76a59bc3328c1589d19e76a8\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_6a9cf74e8db96e54fdfb0259b080fde5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "pseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_5c935f1e934238da77888607adb78f21\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "1_3f102cbfb29758610dc0341d9bfc5314\n", + "\n", + "1=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a1b0>\n", + "\n", + "\n", + "\n", + "input_dict_6ac5729accfaa2fc17b16aea0993239d->1_3f102cbfb29758610dc0341d9bfc5314\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "1_1aafcac616c31f340be5f72208a8c4a6\n", + "\n", + "1=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7939b80>\n", + "\n", + "\n", + "\n", + "input_dict_6ac5729accfaa2fc17b16aea0993239d->1_1aafcac616c31f340be5f72208a8c4a6\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "2_306ec52f73bd4cc0aa3c9ca487ebbd04\n", + "\n", + "2=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7939fd0>\n", + "\n", + "\n", + "\n", + "input_dict_6f5f227e76a59bc3328c1589d19e76a8->2_306ec52f73bd4cc0aa3c9ca487ebbd04\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "2_1d6711e273989bd3e65c553533c25350\n", + "\n", + "2=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c79396d0>\n", + "\n", + "\n", + "\n", + "input_dict_6f5f227e76a59bc3328c1589d19e76a8->2_1d6711e273989bd3e65c553533c25350\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "3_7da5e0a20fb71fd839016cb73b56e605\n", + "\n", + "3=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a330>\n", + "\n", + "\n", + "\n", + "input_dict_6a9cf74e8db96e54fdfb0259b080fde5->3_7da5e0a20fb71fd839016cb73b56e605\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "3_a0c6deb5c976cd0c5a3056ba4168a962\n", + "\n", + "3=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7939d00>\n", + "\n", + "\n", + "\n", + "input_dict_6a9cf74e8db96e54fdfb0259b080fde5->3_a0c6deb5c976cd0c5a3056ba4168a962\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "4_f1a7b8e82b6bf6190263e6e6d63b9ebf\n", + "\n", + "4=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c793a3f0>\n", + "\n", + "\n", + "\n", + "input_dict_5c935f1e934238da77888607adb78f21->4_f1a7b8e82b6bf6190263e6e6d63b9ebf\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "4_b415c675207adb05d16e428662ace723\n", + "\n", + "4=<pyiron_base.project.delayed.DelayedObject object at 0x7f54c7939dc0>\n", + "\n", + "\n", + "\n", + "input_dict_5c935f1e934238da77888607adb78f21->4_b415c675207adb05d16e428662ace723\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa\n", + "\n", + "kpts=[3, 3, 3]\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_1ae09ae858f19c8e60799472df8fb722\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_e4882b06f1d1d2787261039e2cadf144\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_6ac5729accfaa2fc17b16aea0993239d\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_6f5f227e76a59bc3328c1589d19e76a8\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_6a9cf74e8db96e54fdfb0259b080fde5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "kpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_5c935f1e934238da77888607adb78f21\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculation_77b75a01e65d83962d14fa8a882d6c34\n", + "\n", + "calculation=vc-relax\n", + "\n", + "\n", + "\n", + "calculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_e4882b06f1d1d2787261039e2cadf144\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9\n", + "\n", + "smearing=0.02\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_1ae09ae858f19c8e60799472df8fb722\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_e4882b06f1d1d2787261039e2cadf144\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_6ac5729accfaa2fc17b16aea0993239d\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_6f5f227e76a59bc3328c1589d19e76a8\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_6a9cf74e8db96e54fdfb0259b080fde5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "smearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_5c935f1e934238da77888607adb78f21\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_5a1787d961459460ccaffe1e1d4ecccb\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_f767dff1064c80db5f7485234890502b\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_ddec29d78e450302309468a205f853e0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_7058e2b0f9750c91bc4bfb196ef657c4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "strain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_bd3567f1c4dea198450a9c5754169c6e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculation_bc91e0ce7227762f507f47b85f2f0a83\n", + "\n", + "calculation=scf\n", + "\n", + "\n", + "\n", + "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_1ae09ae858f19c8e60799472df8fb722\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_6ac5729accfaa2fc17b16aea0993239d\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_6f5f227e76a59bc3328c1589d19e76a8\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_6a9cf74e8db96e54fdfb0259b080fde5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_5c935f1e934238da77888607adb78f21\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "1_3f102cbfb29758610dc0341d9bfc5314->volume_lst_bab5e4fda3f1e5f52078772393f532bd\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_5423d2cc67129a6d0383af6f347df5bd\n", + "\n", + "working_directory=strain_1\n", + "\n", + "\n", + "\n", + "working_directory_5423d2cc67129a6d0383af6f347df5bd->1_3f102cbfb29758610dc0341d9bfc5314\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_5423d2cc67129a6d0383af6f347df5bd->1_1aafcac616c31f340be5f72208a8c4a6\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "1_1aafcac616c31f340be5f72208a8c4a6->energy_lst_66d2789b6d3a5694711b89056d28c94e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "2_306ec52f73bd4cc0aa3c9ca487ebbd04->volume_lst_bab5e4fda3f1e5f52078772393f532bd\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_cc646e064ddfc4b2811aba3d86d27992\n", + "\n", + "working_directory=strain_2\n", + "\n", + "\n", + "\n", + "working_directory_cc646e064ddfc4b2811aba3d86d27992->2_306ec52f73bd4cc0aa3c9ca487ebbd04\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_cc646e064ddfc4b2811aba3d86d27992->2_1d6711e273989bd3e65c553533c25350\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "2_1d6711e273989bd3e65c553533c25350->energy_lst_66d2789b6d3a5694711b89056d28c94e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "3_7da5e0a20fb71fd839016cb73b56e605->volume_lst_bab5e4fda3f1e5f52078772393f532bd\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_e27768d53df6cd8dc245c52054ecf31f\n", + "\n", + "working_directory=strain_3\n", + "\n", + "\n", + "\n", + "working_directory_e27768d53df6cd8dc245c52054ecf31f->3_7da5e0a20fb71fd839016cb73b56e605\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_e27768d53df6cd8dc245c52054ecf31f->3_a0c6deb5c976cd0c5a3056ba4168a962\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "3_a0c6deb5c976cd0c5a3056ba4168a962->energy_lst_66d2789b6d3a5694711b89056d28c94e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "4_f1a7b8e82b6bf6190263e6e6d63b9ebf->volume_lst_bab5e4fda3f1e5f52078772393f532bd\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_72bba39b22d2b7ce154d37c7e8c658b7\n", + "\n", + "working_directory=strain_4\n", + "\n", + "\n", + "\n", + "working_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_f1a7b8e82b6bf6190263e6e6d63b9ebf\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "working_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_b415c675207adb05d16e428662ace723\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "4_b415c675207adb05d16e428662ace723->energy_lst_66d2789b6d3a5694711b89056d28c94e\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "energy_lst_66d2789b6d3a5694711b89056d28c94e->create_function_job_5b061420d63d9ec78dec4ea199d17802\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\n", + "delayed_object_lst[-1].draw()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "6a5b0297", + "metadata": {}, + "outputs": [], + "source": [ + "delayed_object_lst[0].input['a'] = 4.05" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "5a1666ae", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The job get_bulk_structure_2ca4aeae204ceaa28593c93054b07908 was saved and received the ID: 40\n", + "The job get_dict_1e47509b88d63a21fd421686554c8f4a was saved and received the ID: 41\n", + "The job calculate_qe_411e578f2700d09ba2df9a4c682b4582 was saved and received the ID: 42\n", + "The job generate_structures_7f140b9836b0bba16af81baf1b246241 was saved and received the ID: 43\n", + "The job get_dict_c58ae4a3f59bfb45975f3785a2ea7f39 was saved and received the ID: 44\n", + "The job calculate_qe_fe50ef8ac8518002303cd38ac9d6815a was saved and received the ID: 45\n", + "The job get_dict_15fbde13a9aabf52685fc04f66093040 was saved and received the ID: 46\n", + "The job calculate_qe_80b9c98a7807cac136aa34a89dde5b3c was saved and received the ID: 47\n", + "The job get_dict_63901158944acf473876b0bcffdfc90c was saved and received the ID: 48\n", + "The job calculate_qe_d20ea0f0eb2b5331fdae70cdb74b5b47 was saved and received the ID: 49\n", + "The job get_dict_0426b545b339ef96773c978a8d508c0b was saved and received the ID: 50\n", + "The job calculate_qe_0e46fbe7e87a5b5a8cadd21dad9584fc was saved and received the ID: 51\n", + "The job get_dict_cfd40a0a40679f9c358ca371dcf2f5c2 was saved and received the ID: 52\n", + "The job calculate_qe_ad9c11a3767907eb1b0532258092495c was saved and received the ID: 53\n", + "The job get_list_58b9234b924f260fdd0ca16332ed9a67 was saved and received the ID: 54\n", + "The job get_list_093dd62325e29744484ef602b97e825f was saved and received the ID: 55\n", + "The job plot_energy_volume_curve_9e2db727fd8ef415e376c937e44a8213 was saved and received the ID: 56\n" + ] + }, + { + "data": { + "image/png": "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m5ubIiQkRI5PqTzEuAxdfY3cSZvLcHXpD/G7IspT//3vf+VjRNlJjNU4cuSIQhf7Y8CAAXJG3KFDhxRRUVGK9evXy3FNn3/+uUIblZaWKjw8PORMwTvp0vvpvfqjWAffTxksabCdO3cqOnXqJAdpent7yzf424lBu2+99Zac8ioe8+CDD8pfcl3sj+joaDnmoLpDfBDo6mtEl4KluvbHN998o2jXrp0MCjp37qz47bffFLraH+LDb86cOQoXFxfZHx07dlSsWrWqxunjmm7v3r3yPSE8PPyu+3Tt/bS2/ojWwfdTPfEfVWe3iIiIiNQVxywRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRkU4TmwZ//PHHqm4GEakxBktEpLHGjBmDwYMHV3vf8ePHoaenh7NnzzZ7u4hIuzBYIiKN9cQTT+DgwYOIjY29675vv/0WXbp0Qbdu3VTSNiLSHgyWiEhjjR49Gg4ODtiwYUOV6/n5+fj5559lMLVt2zb4+fnBxMREltxWrVpV4/PFxMTIbFRISIjyWlZWlrx2+PBheVt8Fbf37t2Lrl27wszMDIMGDUJaWhp2794NHx8fWFlZYerUqbIdlcQ2nCtXrkSbNm3k93Tu3Blbt25tkn4hosbFYImINJahoSFmzZolg6Xb9wTfsmULioqKEBgYiMceewxTpkzBxYsXsXTpUrzxxht3BVf1IZ5r7dq1CAoKQnx8vPx3xNinH374AX/++Sf279+PTz/9VPn4119/HevXr8e6detw+fJlLFy4EDNmzMDff//d4LYQUdPSU9z+DkNEpGHCwsJkNkeU4x566CF5bcCAAXB1dZUZoPT0dOzbt0/5+FdeeUUGMyJgEUS26cUXX5SHyCy1bt0a586dkyW8ysxSy5YtcejQIQwcOFBmlsS/c+DAATz88MPyMStWrMDixYtx7do1mTkSnn76afl8e/bsQV5eHuzs7GQbRQBXad68eTL7JAIsIlJfzCwRkUbz9vZG37595RglQQQsR44cweOPP47Q0FD069evyuPF7cjISJSWljbo3w0ICFCeOzo6wtzcXBkoVV4TpTnhypUrKCgowJAhQ9CiRQvlsWnTJtleIlJvhqpuABFRQ4mxSQsWLMBnn30mS12enp4y6yMS5yK7dLvakun6+vp3Paa4uLjaxxoZGSnPxb9x++3Ka2VlZfK88qvIaImM1+3EWCoiUm/MLBGRxhPjhQwMDGQ5a+PGjZg7d64MVnx9fXH06NEqjxVjjDp06CAffyd7e3v5NTk5WXnt9sHe9SXaIYKiuLg4tGvXrsrh7u7e4OcnoqbFzBIRaTxR0po8eTKWLFmC7OxszJkzR15/+eWX0bNnT7z77rvyfrH2khiU/fnnn1f7PGKWWp8+feQYJDGW6fr163JgdkNZWlri3//+txzULbJM/fv3R05OjgzcRNtnz57d4H+DiJoOM0tEpDWluMzMTLlIpYeHh7wm1lj65Zdf8NNPP6FTp05488038c477yiDqeqIsU+i9NajRw+88MILeO+99xqlfSJgE//+8uXL5YD0YcOGYefOnXJAORGpN86GIyIiIqoFM0tEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERISa/T8ezoucFchGGAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "delayed_object_lst[-1].pull()" + ] + }, + { + "cell_type": "markdown", + "id": "406b0429e65b9760", + "metadata": {}, + "source": [ + "## Load Workflow with pyiron_workflow" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "1b45a453f593202f", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_workflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "97ef39ae859855ab", + "metadata": {}, + "outputs": [], + "source": [ + "wf = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "4368c6921b71e396", + "metadata": {}, + "outputs": [], + "source": [ + "wf.get_bulk_structure.inputs.a.value = 4.05" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "659ccc92-a4d9-4876-a63a-be5dac50e295", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qe\n", + "\n", + "executorlib_qe: Workflow\n", + "\n", + "clusterexecutorlib_qeInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_bulk_structure: get_bulk_structure\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculate_qe_0: calculate_qe\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structures\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "generate_structures: generate_structures\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculate_qe_1: calculate_qe\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculate_qe_2: calculate_qe\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculate_qe_3: calculate_qe\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculate_qe_4: calculate_qe\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calculate_qe_5: calculate_qe\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "plot_energy_volume_curve: plot_energy_volume_curve\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_dict_0: get_dict\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_dict_1: get_dict\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_dict_2: get_dict\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_dict_3: get_dict\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_dict_4: get_dict\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_dict_5: get_dict\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_list_0: get_list\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "get_list_1: get_list\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m6720263453336892414: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m5192631277149654622: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m849577779288197366: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_5951870909743653040: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m7836207314751032173: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_6433507487520335553: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m7869024876371549904: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m4218471151653974509: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m1085943981688640947: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m7250078437459878721: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_559636883763074885: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_3038824414599959243: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m1872070586173770857: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_6632549865328393813: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_8220875466878116434: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m4760082579177574284: GetItem\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_bulk_structure__element\n", + "\n", + "get_bulk_structure__element\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureInputselement\n", + "\n", + "element\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_bulk_structure__element->clusterexecutorlib_qeget_bulk_structureInputselement\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_bulk_structure__a\n", + "\n", + "get_bulk_structure__a\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureInputsa\n", + "\n", + "a\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_bulk_structure__a->clusterexecutorlib_qeget_bulk_structureInputsa\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_bulk_structure__cubic\n", + "\n", + "get_bulk_structure__cubic\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureInputscubic\n", + "\n", + "cubic\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_bulk_structure__cubic->clusterexecutorlib_qeget_bulk_structureInputscubic\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_0__working_directory\n", + "\n", + "calculate_qe_0__working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_0__working_directory->clusterexecutorlib_qecalculate_qe_0Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsgenerate_structures__strain_lst\n", + "\n", + "generate_structures__strain_lst\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresInputsstrain_lst\n", + "\n", + "strain_lst\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsgenerate_structures__strain_lst->clusterexecutorlib_qegenerate_structuresInputsstrain_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_1__working_directory\n", + "\n", + "calculate_qe_1__working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_1__working_directory->clusterexecutorlib_qecalculate_qe_1Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_2__working_directory\n", + "\n", + "calculate_qe_2__working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_2__working_directory->clusterexecutorlib_qecalculate_qe_2Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_3__working_directory\n", + "\n", + "calculate_qe_3__working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_3__working_directory->clusterexecutorlib_qecalculate_qe_3Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_4__working_directory\n", + "\n", + "calculate_qe_4__working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_4__working_directory->clusterexecutorlib_qecalculate_qe_4Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_5__working_directory\n", + "\n", + "calculate_qe_5__working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputscalculate_qe_5__working_directory->clusterexecutorlib_qecalculate_qe_5Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__pseudopotentials\n", + "\n", + "get_dict_0__pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__pseudopotentials->clusterexecutorlib_qeget_dict_0Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__kpts\n", + "\n", + "get_dict_0__kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__kpts->clusterexecutorlib_qeget_dict_0Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__calculation\n", + "\n", + "get_dict_0__calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__calculation->clusterexecutorlib_qeget_dict_0Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__smearing\n", + "\n", + "get_dict_0__smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_0__smearing->clusterexecutorlib_qeget_dict_0Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__pseudopotentials\n", + "\n", + "get_dict_1__pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__pseudopotentials->clusterexecutorlib_qeget_dict_1Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__kpts\n", + "\n", + "get_dict_1__kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__kpts->clusterexecutorlib_qeget_dict_1Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__calculation\n", + "\n", + "get_dict_1__calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__calculation->clusterexecutorlib_qeget_dict_1Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__smearing\n", + "\n", + "get_dict_1__smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_1__smearing->clusterexecutorlib_qeget_dict_1Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__pseudopotentials\n", + "\n", + "get_dict_2__pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__pseudopotentials->clusterexecutorlib_qeget_dict_2Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__kpts\n", + "\n", + "get_dict_2__kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__kpts->clusterexecutorlib_qeget_dict_2Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__calculation\n", + "\n", + "get_dict_2__calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__calculation->clusterexecutorlib_qeget_dict_2Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__smearing\n", + "\n", + "get_dict_2__smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_2__smearing->clusterexecutorlib_qeget_dict_2Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__pseudopotentials\n", + "\n", + "get_dict_3__pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__pseudopotentials->clusterexecutorlib_qeget_dict_3Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__kpts\n", + "\n", + "get_dict_3__kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__kpts->clusterexecutorlib_qeget_dict_3Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__calculation\n", + "\n", + "get_dict_3__calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__calculation->clusterexecutorlib_qeget_dict_3Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__smearing\n", + "\n", + "get_dict_3__smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_3__smearing->clusterexecutorlib_qeget_dict_3Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__pseudopotentials\n", + "\n", + "get_dict_4__pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__pseudopotentials->clusterexecutorlib_qeget_dict_4Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__kpts\n", + "\n", + "get_dict_4__kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__kpts->clusterexecutorlib_qeget_dict_4Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__calculation\n", + "\n", + "get_dict_4__calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__calculation->clusterexecutorlib_qeget_dict_4Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__smearing\n", + "\n", + "get_dict_4__smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_4__smearing->clusterexecutorlib_qeget_dict_4Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__pseudopotentials\n", + "\n", + "get_dict_5__pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__pseudopotentials->clusterexecutorlib_qeget_dict_5Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__kpts\n", + "\n", + "get_dict_5__kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__kpts->clusterexecutorlib_qeget_dict_5Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__calculation\n", + "\n", + "get_dict_5__calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__calculation->clusterexecutorlib_qeget_dict_5Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__smearing\n", + "\n", + "get_dict_5__smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsget_dict_5__smearing->clusterexecutorlib_qeget_dict_5Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m6720263453336892414__item\n", + "\n", + "injected_GetItem_m6720263453336892414__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m6720263453336892414__item->clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m5192631277149654622__item\n", + "\n", + "injected_GetItem_m5192631277149654622__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m5192631277149654622__item->clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m849577779288197366__item\n", + "\n", + "injected_GetItem_m849577779288197366__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m849577779288197366__item->clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_5951870909743653040__item\n", + "\n", + "injected_GetItem_5951870909743653040__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_5951870909743653040__item->clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m7836207314751032173__item\n", + "\n", + "injected_GetItem_m7836207314751032173__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m7836207314751032173__item->clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_6433507487520335553__item\n", + "\n", + "injected_GetItem_6433507487520335553__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_6433507487520335553__item->clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m7869024876371549904__item\n", + "\n", + "injected_GetItem_m7869024876371549904__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m7869024876371549904__item->clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m4218471151653974509__item\n", + "\n", + "injected_GetItem_m4218471151653974509__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m4218471151653974509__item->clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m1085943981688640947__item\n", + "\n", + "injected_GetItem_m1085943981688640947__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m1085943981688640947__item->clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m7250078437459878721__item\n", + "\n", + "injected_GetItem_m7250078437459878721__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m7250078437459878721__item->clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_559636883763074885__item\n", + "\n", + "injected_GetItem_559636883763074885__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_559636883763074885__item->clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_3038824414599959243__item\n", + "\n", + "injected_GetItem_3038824414599959243__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_3038824414599959243__item->clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m1872070586173770857__item\n", + "\n", + "injected_GetItem_m1872070586173770857__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m1872070586173770857__item->clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_6632549865328393813__item\n", + "\n", + "injected_GetItem_6632549865328393813__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_6632549865328393813__item->clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_8220875466878116434__item\n", + "\n", + "injected_GetItem_8220875466878116434__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_8220875466878116434__item->clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m4760082579177574284__item\n", + "\n", + "injected_GetItem_m4760082579177574284__item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeInputsinjected_GetItem_m4760082579177574284__item->clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n", + "\n", + "plot_energy_volume_curve__plot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureOutputsWithInjectionget_bulk_structure\n", + "\n", + "get_bulk_structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_bulk_structureOutputsWithInjectionget_bulk_structure->clusterexecutorlib_qeget_dict_0Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0\n", + "\n", + "calculate_qe_0\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0->clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresInputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectiongenerate_structures\n", + "\n", + "generate_structures\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1\n", + "\n", + "calculate_qe_1\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2\n", + "\n", + "calculate_qe_2\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3\n", + "\n", + "calculate_qe_3\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4\n", + "\n", + "calculate_qe_4\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5\n", + "\n", + "calculate_qe_5\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveInputsvolume_lst\n", + "\n", + "volume_lst\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveInputsenergy_lst\n", + "\n", + "energy_lst\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve\n", + "\n", + "plot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve->clusterexecutorlib_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0OutputsWithInjectionget_dict_0\n", + "\n", + "get_dict_0\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_0OutputsWithInjectionget_dict_0->clusterexecutorlib_qecalculate_qe_0Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1OutputsWithInjectionget_dict_1\n", + "\n", + "get_dict_1\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_1OutputsWithInjectionget_dict_1->clusterexecutorlib_qecalculate_qe_1Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2OutputsWithInjectionget_dict_2\n", + "\n", + "get_dict_2\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_2OutputsWithInjectionget_dict_2->clusterexecutorlib_qecalculate_qe_2Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3OutputsWithInjectionget_dict_3\n", + "\n", + "get_dict_3\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_3OutputsWithInjectionget_dict_3->clusterexecutorlib_qecalculate_qe_3Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4OutputsWithInjectionget_dict_4\n", + "\n", + "get_dict_4\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_4OutputsWithInjectionget_dict_4->clusterexecutorlib_qecalculate_qe_4Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5OutputsWithInjectionget_dict_5\n", + "\n", + "get_dict_5\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_dict_5OutputsWithInjectionget_dict_5->clusterexecutorlib_qecalculate_qe_5Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputss_0\n", + "\n", + "s_0\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputss_1\n", + "\n", + "s_1\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputss_2\n", + "\n", + "s_2\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputss_3\n", + "\n", + "s_3\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0Inputss_4\n", + "\n", + "s_4\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0OutputsWithInjectionget_list_0\n", + "\n", + "get_list_0\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_0OutputsWithInjectionget_list_0->clusterexecutorlib_qeplot_energy_volume_curveInputsvolume_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputss_0\n", + "\n", + "s_0\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputss_1\n", + "\n", + "s_1\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputss_2\n", + "\n", + "s_2\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputss_3\n", + "\n", + "s_3\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1Inputss_4\n", + "\n", + "s_4\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1OutputsWithInjectionget_list_1\n", + "\n", + "get_list_1\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeget_list_1OutputsWithInjectionget_list_1->clusterexecutorlib_qeplot_energy_volume_curveInputsenergy_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m6720263453336892414OutputsWithInjectiongetitem->clusterexecutorlib_qegenerate_structuresInputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m5192631277149654622OutputsWithInjectiongetitem->clusterexecutorlib_qeget_dict_1Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m849577779288197366OutputsWithInjectiongetitem->clusterexecutorlib_qeget_dict_2Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_5951870909743653040OutputsWithInjectiongetitem->clusterexecutorlib_qeget_dict_3Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7836207314751032173OutputsWithInjectiongetitem->clusterexecutorlib_qeget_dict_4Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6433507487520335553OutputsWithInjectiongetitem->clusterexecutorlib_qeget_dict_5Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7869024876371549904OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_0Inputss_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4218471151653974509OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_0Inputss_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1085943981688640947OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_0Inputss_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m7250078437459878721OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_0Inputss_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_559636883763074885OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_0Inputss_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_3038824414599959243OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_1Inputss_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m1872070586173770857OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_1Inputss_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_6632549865328393813OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_1Inputss_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_8220875466878116434OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_1Inputss_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clusterexecutorlib_qeinjected_GetItem_m4760082579177574284OutputsWithInjectiongetitem->clusterexecutorlib_qeget_list_1Inputss_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.draw(size=(10,10))" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "1007f60c-23eb-4a28-a5c7-ea0c0909be38", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'plot_energy_volume_curve__plot_energy_volume_curve': None}" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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m5ubIiQkRI5PqTzEuAxdfY3cSZvLcHXpD/G7IspT//3vf+VjRNlJjNU4cuSIQhf7Y8CAAXJG3KFDhxRRUVGK9evXy3FNn3/+uUIblZaWKjw8PORMwTvp0vvpvfqjWAffTxksabCdO3cqOnXqJAdpent7yzf424lBu2+99Zac8ioe8+CDD8pfcl3sj+joaDnmoLpDfBDo6mtEl4KluvbHN998o2jXrp0MCjp37qz47bffFLraH+LDb86cOQoXFxfZHx07dlSsWrWqxunjmm7v3r3yPSE8PPyu+3Tt/bS2/ojWwfdTPfEfVWe3iIiIiNQVxywRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRERER1YLBEhEREVEtGCwRkU4TmwZ//PHHqm4GEakxBktEpLHGjBmDwYMHV3vf8ePHoaenh7NnzzZ7u4hIuzBYIiKN9cQTT+DgwYOIjY29675vv/0WXbp0Qbdu3VTSNiLSHgyWiEhjjR49Gg4ODtiwYUOV6/n5+fj5559lMLVt2zb4+fnBxMREltxWrVpV4/PFxMTIbFRISIjyWlZWlrx2+PBheVt8Fbf37t2Lrl27wszMDIMGDUJaWhp2794NHx8fWFlZYerUqbIdlcQ2nCtXrkSbNm3k93Tu3Blbt25tkn4hosbFYImINJahoSFmzZolg6Xb9wTfsmULioqKEBgYiMceewxTpkzBxYsXsXTpUrzxxht3BVf1IZ5r7dq1CAoKQnx8vPx3xNinH374AX/++Sf279+PTz/9VPn4119/HevXr8e6detw+fJlLFy4EDNmzMDff//d4LYQUdPSU9z+DkNEpGHCwsJkNkeU4x566CF5bcCAAXB1dZUZoPT0dOzbt0/5+FdeeUUGMyJgEUS26cUXX5SHyCy1bt0a586dkyW8ysxSy5YtcejQIQwcOFBmlsS/c+DAATz88MPyMStWrMDixYtx7do1mTkSnn76afl8e/bsQV5eHuzs7GQbRQBXad68eTL7JAIsIlJfzCwRkUbz9vZG37595RglQQQsR44cweOPP47Q0FD069evyuPF7cjISJSWljbo3w0ICFCeOzo6wtzcXBkoVV4TpTnhypUrKCgowJAhQ9CiRQvlsWnTJtleIlJvhqpuABFRQ4mxSQsWLMBnn30mS12enp4y6yMS5yK7dLvakun6+vp3Paa4uLjaxxoZGSnPxb9x++3Ka2VlZfK88qvIaImM1+3EWCoiUm/MLBGRxhPjhQwMDGQ5a+PGjZg7d64MVnx9fXH06NEqjxVjjDp06CAffyd7e3v5NTk5WXnt9sHe9SXaIYKiuLg4tGvXrsrh7u7e4OcnoqbFzBIRaTxR0po8eTKWLFmC7OxszJkzR15/+eWX0bNnT7z77rvyfrH2khiU/fnnn1f7PGKWWp8+feQYJDGW6fr163JgdkNZWlri3//+txzULbJM/fv3R05OjgzcRNtnz57d4H+DiJoOM0tEpDWluMzMTLlIpYeHh7wm1lj65Zdf8NNPP6FTp05488038c477yiDqeqIsU+i9NajRw+88MILeO+99xqlfSJgE//+8uXL5YD0YcOGYefOnXJAORGpN86GIyIiIqoFM0tEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERFQLBktEREREtWCwRERERISa/T8ezoucFchGGAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wf.run()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5022eb03-b714-409d-b82b-cada385b351d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}