From 3bdaee621937228f199c21d87d208dbb02996b73 Mon Sep 17 00:00:00 2001 From: jan-janssen Date: Fri, 23 May 2025 10:02:57 +0200 Subject: [PATCH 01/29] Implement Python Workflow Definition in pyiron_workflow --- .github/workflows/pipeline.yml | 1 + binder/environment.yml | 1 + .../arithmetic/pyiron_workflow.ipynb | 920 ++++++++++++++++++ .../pyiron_workflow.py | 160 +++ 4 files changed, 1082 insertions(+) create mode 100644 example_workflows/arithmetic/pyiron_workflow.ipynb create mode 100644 python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 24afdc7..c86fe67 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -133,6 +133,7 @@ jobs: papermill cwl.ipynb cwl_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" papermill universal_workflow.ipynb universal_workflow_out.ipynb -k "python3" documentation: diff --git a/binder/environment.yml b/binder/environment.yml index a5957e1..1df1cb5 100644 --- a/binder/environment.yml +++ b/binder/environment.yml @@ -8,6 +8,7 @@ dependencies: - httpcore =1.0.7 - jobflow =0.1.19 - pyiron_base =0.12.0 +- pyiron_workflow =0.13.0 - pygraphviz =1.14 - aiida-workgraph =0.5.2 - conda_subprocess =0.0.7 diff --git a/example_workflows/arithmetic/pyiron_workflow.ipynb b/example_workflows/arithmetic/pyiron_workflow.ipynb new file mode 100644 index 0000000..2dd96a5 --- /dev/null +++ b/example_workflows/arithmetic/pyiron_workflow.ipynb @@ -0,0 +1,920 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9db99131-e5ef-49a9-93f6-13c44782c119", + "metadata": {}, + "source": [ + "# pyiron_workflow" + ] + }, + { + "cell_type": "markdown", + "id": "d16df60e-1359-4d4c-bb95-2b994860d04a", + "metadata": {}, + "source": [ + "## Define workflow in pyiron_workflow" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e19826e4-3540-4ea0-ba83-566e818ab6e3", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_workflow import write_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f0d54cc1-3603-4c6e-a715-852a8ef1545f", + "metadata": {}, + "outputs": [], + "source": [ + "from pyiron_workflow import Workflow, to_function_node" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9fa01739-812c-4188-b7af-320b4890c963", + "metadata": {}, + "outputs": [], + "source": [ + "from workflow import (\n", + " get_prod_and_div as _get_prod_and_div, \n", + " get_sum as _get_sum,\n", + " get_square as _get_square,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8b236cc-d0ff-4a53-b01a-ecbb74f68b0f", + "metadata": {}, + "outputs": [], + "source": [ + "workflow_json_filename = \"pyiron_workflow_arithmetic.json\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "99037759-4d9e-43b2-8b04-341f2698bbe7", + "metadata": {}, + "outputs": [], + "source": [ + "get_prod_and_div = to_function_node(\"get_prod_and_div\", _get_prod_and_div, \"get_prod_and_div\")\n", + "get_sum = to_function_node(\"get_sum\", _get_sum, \"get_sum\")\n", + "get_square = to_function_node(\"get_square\", _get_square, \"get_square\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "523a3561-315a-4345-a356-bd46774cc7dc", + "metadata": {}, + "outputs": [], + "source": [ + "wf = Workflow(\"my_workflow\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "92a67ce5-9c73-4018-8e70-ed95789a592e", + "metadata": {}, + "outputs": [], + "source": [ + "wf.x = 1\n", + "wf.y = 2\n", + "wf.prod_and_div = get_prod_and_div(x=wf.x, y=wf.y)\n", + "wf.tmp_sum = get_sum(x=wf.prod_and_div[\"prod\"], y=wf.prod_and_div[\"div\"])\n", + "wf.square_result = get_square(x=wf.tmp_sum)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "bafebfbe-72de-407c-b376-6fce6cbb665e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflow\n", + "\n", + "my_workflow: Workflow\n", + "\n", + "clustermy_workflowInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowprod_and_div\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "prod_and_div: get_prod_and_div\n", + "\n", + "\n", + "clustermy_workflowprod_and_divInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowprod_and_divOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m277194796397263432: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m7247062725966739531: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowtmp_sum\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "tmp_sum: get_sum\n", + "\n", + "\n", + "clustermy_workflowtmp_sumInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowtmp_sumOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowsquare_result\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "square_result: get_square\n", + "\n", + "\n", + "clustermy_workflowsquare_resultInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowsquare_resultOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsprod_and_div__x\n", + "\n", + "prod_and_div__x\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divInputsx\n", + "\n", + "x\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsprod_and_div__x->clustermy_workflowprod_and_divInputsx\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsprod_and_div__y\n", + "\n", + "prod_and_div__y\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divInputsy\n", + "\n", + "y\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsprod_and_div__y->clustermy_workflowprod_and_divInputsy\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m277194796397263432__item\n", + "\n", + "injected_GetItem_m277194796397263432__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m277194796397263432__item->clustermy_workflowinjected_GetItem_m277194796397263432Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m7247062725966739531__item\n", + "\n", + "injected_GetItem_m7247062725966739531__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m7247062725966739531__item->clustermy_workflowinjected_GetItem_m7247062725966739531Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionsquare_result__get_square\n", + "\n", + "square_result__get_square\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divOutputsWithInjectionget_prod_and_div\n", + "\n", + "get_prod_and_div\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divOutputsWithInjectionget_prod_and_div->clustermy_workflowinjected_GetItem_m277194796397263432Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowprod_and_divOutputsWithInjectionget_prod_and_div->clustermy_workflowinjected_GetItem_m7247062725966739531Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumInputsx\n", + "\n", + "x\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m277194796397263432OutputsWithInjectiongetitem->clustermy_workflowtmp_sumInputsx\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumInputsy\n", + "\n", + "y\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7247062725966739531OutputsWithInjectiongetitem->clustermy_workflowtmp_sumInputsy\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumOutputsWithInjectionget_sum\n", + "\n", + "get_sum\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultInputsx\n", + "\n", + "x\n", + "\n", + "\n", + "\n", + "clustermy_workflowtmp_sumOutputsWithInjectionget_sum->clustermy_workflowsquare_resultInputsx\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultOutputsWithInjectionget_square\n", + "\n", + "get_square\n", + "\n", + "\n", + "\n", + "clustermy_workflowsquare_resultOutputsWithInjectionget_square->clustermy_workflowOutputsWithInjectionsquare_result__get_square\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.draw(size=(10,10))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f140ec87-085c-4433-93cb-379226781bd3", + "metadata": {}, + "outputs": [], + "source": [ + "write_workflow_json(graph_as_dict=wf.graph_as_dict, file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c61b9a68-d1cd-4949-97b6-00451ba850b7", + "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", + " \"name\": \"x\",\n", + " \"value\": 1\n", + " },\n", + " {\n", + " \"id\": 4,\n", + " \"type\": \"input\",\n", + " \"name\": \"y\",\n", + " \"value\": 2\n", + " },\n", + " {\n", + " \"id\": 5,\n", + " \"type\": \"output\",\n", + " \"name\": \"result\"\n", + " }\n", + " ],\n", + " \"edges\": [\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"y\",\n", + " \"source\": 0,\n", + " \"sourcePort\": \"div\"\n", + " },\n", + " {\n", + " \"target\": 1,\n", + " \"targetPort\": \"x\",\n", + " \"source\": 0,\n", + " \"sourcePort\": \"prod\"\n", + " },\n", + " {\n", + " \"target\": 2,\n", + " \"targetPort\": \"x\",\n", + " \"source\": 1,\n", + " \"sourcePort\": \"get_sum\"\n", + " },\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\": 5,\n", + " \"targetPort\": null,\n", + " \"source\": 2,\n", + " \"sourcePort\": null\n", + " }\n", + " ]\n", + "}" + ] + } + ], + "source": [ + "!cat workflow.json" + ] + }, + { + "cell_type": "markdown", + "id": "1681d449-0266-4da4-8d87-40a055cf3149", + "metadata": {}, + "source": [ + "## Load Workflow with aiida" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41b41ac3-7880-48dd-824e-7176187b8734", + "metadata": {}, + "outputs": [], + "source": [ + "from aiida import load_profile\n", + "\n", + "load_profile()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6112a23-cdde-4346-88af-295f463940c5", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.aiida import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "db6d30b6-2b42-4c07-b319-b6700e3c319b", + "metadata": {}, + "outputs": [], + "source": [ + "wg = load_workflow_json(file_name=workflow_json_filename)\n", + "wg" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "022066b4-21b3-41c6-b0ab-f40661fcf957", + "metadata": {}, + "outputs": [], + "source": [ + "wg.run()" + ] + }, + { + "cell_type": "markdown", + "id": "bac61097-e666-443b-9446-4ebb9a3e6b5f", + "metadata": {}, + "source": [ + "# Load Workflow with jobflow" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63df1efd-9417-4146-a88e-cde161962b9e", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.jobflow import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6506e6cc-842c-4899-8382-696466d63a1b", + "metadata": {}, + "outputs": [], + "source": [ + "from jobflow.managers.local import run_locally" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eed9ca1c-ad8d-440a-97f8-97b9d3d45eb0", + "metadata": {}, + "outputs": [], + "source": [ + "flow = load_workflow_json(file_name=workflow_json_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21c2303c-1118-4d50-9d99-6ec71653be02", + "metadata": {}, + "outputs": [], + "source": [ + "result = run_locally(flow)\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "f26c9650-649f-436d-8d19-b2cd75cf6488", + "metadata": {}, + "source": [ + "# Load Workflow with pyiron_base" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ada4861-0e5a-4baf-9e16-42b7c238558b", + "metadata": {}, + "outputs": [], + "source": [ + "from python_workflow_definition.pyiron_base import load_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ac2fd45-e88a-4d12-b4e3-b23212729730", + "metadata": {}, + "outputs": [], + "source": [ + "delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\n", + "delayed_object_lst[-1].draw()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8811199-2c2d-4613-be74-cc00508d97c4", + "metadata": {}, + "outputs": [], + "source": [ + "delayed_object_lst[-1].pull()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py new file mode 100644 index 0000000..0501f7f --- /dev/null +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -0,0 +1,160 @@ +from inspect import isfunction + +import numpy as np + +from python_workflow_definition.models import PythonWorkflowDefinitionWorkflow +from python_workflow_definition.shared import ( + update_node_names, + set_result_node, + NODES_LABEL, + EDGES_LABEL, + SOURCE_LABEL, + SOURCE_PORT_LABEL, + TARGET_LABEL, + TARGET_PORT_LABEL, + VERSION_NUMBER, + VERSION_LABEL, +) + + +def get_linked_nodes(graph_dict): + nodes_dict = {} + node_mapping_dict = {} + input_dict = {} + for i, [k, v] in enumerate(graph_dict["nodes"].items()): + nodes_dict[i] = v.node_function + node_mapping_dict[k] = i + input_dict[k] = { + con.full_label: con.value + for con in v.inputs.channel_dict.to_list() + if len(con.connections) == 0 + } + return nodes_dict, node_mapping_dict, input_dict + + + + +def extend_nodes_dict(nodes_dict, input_dict): + i = len(nodes_dict) + nodes_links_dict = {} + for val_dict in input_dict.values(): + for k, v in val_dict.items(): + if v not in nodes_dict.values(): + nodes_dict[i] = v + nodes_links_dict[k] = i + i += 1 + else: + nodes_links_dict[k] = {tv:tk for tk, tv in nodes_dict.items()}[v] + return nodes_links_dict + + + + +def get_edges(graph_dict, node_mapping_dict, nodes_links_dict): + edges_lst = [] + for link in list(graph_dict["edges"]["data"].keys()): + source_combo, target_combo = link + target, target_handle = target_combo.split(".") + source, source_handle = source_combo.split(".") + edges_lst.append({TARGET_LABEL: node_mapping_dict[target], TARGET_PORT_LABEL: target_handle, SOURCE_LABEL: node_mapping_dict[source], SOURCE_PORT_LABEL: source_handle}) + + for k, v in nodes_links_dict.items(): + target, target_handle = k.split(".") + edges_lst.append({TARGET_LABEL: node_mapping_dict[target], TARGET_PORT_LABEL: target_handle, SOURCE_LABEL: v, SOURCE_PORT_LABEL: None}) + return edges_lst + + +def write_workflow_json( + graph_as_dict: dict, file_name: str = "workflow.json" +): + nodes_dict, node_mapping_dict, input_dict = get_linked_nodes(graph_dict=graph_as_dict) + nodes_links_dict = extend_nodes_dict(nodes_dict=nodes_dict, input_dict=input_dict) + edges_lst = get_edges( + graph_dict=graph_as_dict, + node_mapping_dict=node_mapping_dict, + nodes_links_dict=nodes_links_dict, + ) + + pyiron_workflow_modules = {} + for k, v in nodes_dict.items(): + if isfunction(v) and "pyiron_workflow" in v.__module__: + pyiron_workflow_modules[k] = v + + target_dict = {} + for edge in edges_lst: + for k in pyiron_workflow_modules.keys(): + if k == edge[TARGET_LABEL]: + if k not in target_dict: + target_dict[k] = [] + target_dict[k].append(edge) + + source_dict = {} + for edge in edges_lst: + for k in pyiron_workflow_modules.keys(): + if k == edge[SOURCE_LABEL]: + if k not in source_dict: + source_dict[k] = [] + source_dict[k].append(edge) + + edge_new_lst, nodes_to_delete = [], [] + for k in target_dict.keys(): + source, sourcehandle = None, None + for edge in target_dict[k]: + if edge[SOURCE_PORT_LABEL] is None: + sourcehandle = nodes_dict[edge[SOURCE_LABEL]] + nodes_to_delete.append(edge[SOURCE_LABEL]) + else: + source = edge[SOURCE_LABEL] + edge_new_lst.append({ + SOURCE_LABEL: source, + SOURCE_PORT_LABEL: sourcehandle, + TARGET_LABEL: source_dict[k][-1][TARGET_LABEL], + TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL], + }) + + nodes_to_skip = nodes_to_delete + list(pyiron_workflow_modules.keys()) + nodes_new_dict = {k: v for k, v in nodes_dict.items() if k not in nodes_to_skip} + + nodes_store_lst = [] + for k, v in enumerate(nodes_new_dict.values()): + if isfunction(v): + mod = v.__module__ + if mod == "python_workflow_definition.pyiron_workflow": + mod = "python_workflow_definition.shared" + nodes_store_lst.append( + {"id": k, "type": "function", "value": mod + "." + v.__name__} + ) + elif isinstance(v, np.ndarray): + nodes_store_lst.append({"id": k, "type": "input", "value": v.tolist()}) + else: + nodes_store_lst.append({"id": k, "type": "input", "value": v}) + + for edge in edges_lst: + if edge[TARGET_LABEL] not in nodes_to_skip and edge[SOURCE_LABEL] not in nodes_to_skip: + edge_new_lst.append(edge) + + nodes_updated_dict, mapping_dict = {}, {} + i = 0 + for k, v in nodes_new_dict.items(): + nodes_updated_dict[i] = v + mapping_dict[k] = i + i += 1 + + edge_updated_lst = [] + for edge in edge_new_lst: + edge_updated_lst.append( + {SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], + TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL]} + ) + + PythonWorkflowDefinitionWorkflow( + **set_result_node( + workflow_dict=update_node_names( + workflow_dict={ + VERSION_LABEL: VERSION_NUMBER, + NODES_LABEL: nodes_store_lst, + EDGES_LABEL: edge_updated_lst, + } + ) + ) + ).dump_json_file(file_name=file_name, indent=2) From fbbcc089d89802a976e5fc679bb199c3c87c1e76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Fri, 23 May 2025 10:05:34 +0200 Subject: [PATCH 02/29] black formatting --- .../pyiron_workflow.py | 63 ++++++++++++------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 0501f7f..93074ed 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -25,15 +25,13 @@ def get_linked_nodes(graph_dict): nodes_dict[i] = v.node_function node_mapping_dict[k] = i input_dict[k] = { - con.full_label: con.value - for con in v.inputs.channel_dict.to_list() + con.full_label: con.value + for con in v.inputs.channel_dict.to_list() if len(con.connections) == 0 } return nodes_dict, node_mapping_dict, input_dict - - def extend_nodes_dict(nodes_dict, input_dict): i = len(nodes_dict) nodes_links_dict = {} @@ -44,30 +42,42 @@ def extend_nodes_dict(nodes_dict, input_dict): nodes_links_dict[k] = i i += 1 else: - nodes_links_dict[k] = {tv:tk for tk, tv in nodes_dict.items()}[v] + nodes_links_dict[k] = {tv: tk for tk, tv in nodes_dict.items()}[v] return nodes_links_dict - - def get_edges(graph_dict, node_mapping_dict, nodes_links_dict): edges_lst = [] for link in list(graph_dict["edges"]["data"].keys()): source_combo, target_combo = link target, target_handle = target_combo.split(".") source, source_handle = source_combo.split(".") - edges_lst.append({TARGET_LABEL: node_mapping_dict[target], TARGET_PORT_LABEL: target_handle, SOURCE_LABEL: node_mapping_dict[source], SOURCE_PORT_LABEL: source_handle}) + edges_lst.append( + { + TARGET_LABEL: node_mapping_dict[target], + TARGET_PORT_LABEL: target_handle, + SOURCE_LABEL: node_mapping_dict[source], + SOURCE_PORT_LABEL: source_handle, + } + ) for k, v in nodes_links_dict.items(): target, target_handle = k.split(".") - edges_lst.append({TARGET_LABEL: node_mapping_dict[target], TARGET_PORT_LABEL: target_handle, SOURCE_LABEL: v, SOURCE_PORT_LABEL: None}) + edges_lst.append( + { + TARGET_LABEL: node_mapping_dict[target], + TARGET_PORT_LABEL: target_handle, + SOURCE_LABEL: v, + SOURCE_PORT_LABEL: None, + } + ) return edges_lst -def write_workflow_json( - graph_as_dict: dict, file_name: str = "workflow.json" -): - nodes_dict, node_mapping_dict, input_dict = get_linked_nodes(graph_dict=graph_as_dict) +def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): + nodes_dict, node_mapping_dict, input_dict = get_linked_nodes( + graph_dict=graph_as_dict + ) nodes_links_dict = extend_nodes_dict(nodes_dict=nodes_dict, input_dict=input_dict) edges_lst = get_edges( graph_dict=graph_as_dict, @@ -105,12 +115,14 @@ def write_workflow_json( nodes_to_delete.append(edge[SOURCE_LABEL]) else: source = edge[SOURCE_LABEL] - edge_new_lst.append({ - SOURCE_LABEL: source, - SOURCE_PORT_LABEL: sourcehandle, - TARGET_LABEL: source_dict[k][-1][TARGET_LABEL], - TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL], - }) + edge_new_lst.append( + { + SOURCE_LABEL: source, + SOURCE_PORT_LABEL: sourcehandle, + TARGET_LABEL: source_dict[k][-1][TARGET_LABEL], + TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL], + } + ) nodes_to_skip = nodes_to_delete + list(pyiron_workflow_modules.keys()) nodes_new_dict = {k: v for k, v in nodes_dict.items() if k not in nodes_to_skip} @@ -130,7 +142,10 @@ def write_workflow_json( nodes_store_lst.append({"id": k, "type": "input", "value": v}) for edge in edges_lst: - if edge[TARGET_LABEL] not in nodes_to_skip and edge[SOURCE_LABEL] not in nodes_to_skip: + if ( + edge[TARGET_LABEL] not in nodes_to_skip + and edge[SOURCE_LABEL] not in nodes_to_skip + ): edge_new_lst.append(edge) nodes_updated_dict, mapping_dict = {}, {} @@ -143,8 +158,12 @@ def write_workflow_json( edge_updated_lst = [] for edge in edge_new_lst: edge_updated_lst.append( - {SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], - TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL]} + { + SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], + TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + } ) PythonWorkflowDefinitionWorkflow( From 1df9b1920d0a791cb9b448227797f556c786a87d Mon Sep 17 00:00:00 2001 From: jan-janssen Date: Fri, 23 May 2025 10:28:43 +0200 Subject: [PATCH 03/29] bug fix --- .../pyiron_workflow.py | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 93074ed..3f3d9a4 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -157,14 +157,25 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): edge_updated_lst = [] for edge in edge_new_lst: - edge_updated_lst.append( - { - SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], - SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], - TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], - TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], - } - ) + source_node = nodes_new_dict[edge[SOURCE_LABEL]] + if isfunction(source_node) and source_node.__name__ == edge[SOURCE_PORT_LABEL]: + edge_updated_lst.append( + { + SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: None, + TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + } + ) + else: + edge_updated_lst.append( + { + SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], + TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + } + ) PythonWorkflowDefinitionWorkflow( **set_result_node( From 2bc578bad4db6ad127c2af0313b954dd03930193 Mon Sep 17 00:00:00 2001 From: jan-janssen Date: Fri, 23 May 2025 11:10:33 +0200 Subject: [PATCH 04/29] add function to load workflow from JSOn - not working --- .../pyiron_workflow.py | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 3f3d9a4..f8a7003 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -1,11 +1,16 @@ from inspect import isfunction +from importlib import import_module +from typing import Optional import numpy as np +from pyiron_workflow import function_node, Workflow from python_workflow_definition.models import PythonWorkflowDefinitionWorkflow from python_workflow_definition.shared import ( + convert_nodes_list_to_dict, update_node_names, set_result_node, + remove_result, NODES_LABEL, EDGES_LABEL, SOURCE_LABEL, @@ -74,6 +79,76 @@ def get_edges(graph_dict, node_mapping_dict, nodes_links_dict): return edges_lst +def create_input_nodes(nodes_dict, edges_lst): + node_conversion_dict = { + ed[SOURCE_LABEL]: ed[TARGET_PORT_LABEL] + for ed in edges_lst if ed[SOURCE_PORT_LABEL] is None + } + nodes_to_create_dict = { + v: nodes_dict[k] + for k, v in node_conversion_dict.items() + } + return nodes_to_create_dict, node_conversion_dict + + +def set_input_nodes(workflow, nodes_to_create_dict): + for k, v in nodes_to_create_dict.items(): + workflow.__setattr__(k, v) + return workflow + + +def get_source_handles(edges_lst): + source_handle_dict = {} + for ed in edges_lst: + if ed[SOURCE_LABEL] not in source_handle_dict.keys(): + source_handle_dict[ed[SOURCE_LABEL]] = [ed[SOURCE_PORT_LABEL]] + else: + source_handle_dict[ed[SOURCE_LABEL]].append(ed[SOURCE_PORT_LABEL]) + return source_handle_dict + + +def get_function_nodes(nodes_dict, source_handle_dict): + function_dict = {} + for k, v in nodes_dict.items(): + if isfunction(v): + function_dict[k] = {"node_function": v} + return function_dict + + +def get_kwargs(lst): + return {t[TARGET_PORT_LABEL]: {SOURCE_LABEL: t[SOURCE_LABEL], SOURCE_PORT_LABEL: t[SOURCE_PORT_LABEL]} for t in lst} + + +def group_edges(edges_lst): + edges_sorted_lst = sorted(edges_lst, key=lambda x: x[TARGET_LABEL], reverse=True) + total_dict = {} + tmp_lst = [] + target_id = edges_sorted_lst[0][TARGET_LABEL] + for ed in edges_sorted_lst: + if target_id == ed[TARGET_LABEL]: + tmp_lst.append(ed) + else: + total_dict[target_id] = get_kwargs(lst=tmp_lst) + target_id = ed[TARGET_LABEL] + tmp_lst = [ed] + total_dict[target_id] = get_kwargs(lst=tmp_lst) + return total_dict + + +def build_workflow(workflow, function_dict, total_dict, node_conversion_dict): + for k, v in function_dict.items(): + kwargs_link_dict = total_dict[k] + kwargs_dict = {} + for kw, vw in kwargs_link_dict.items(): + if vw[SOURCE_LABEL] in node_conversion_dict.keys(): + kwargs_dict[kw] = workflow.__getattribute__(node_conversion_dict[vw[SOURCE_LABEL]]) + else: + kwargs_dict[kw] = workflow.__getattr__("tmp_" + str(vw[SOURCE_LABEL])).__getitem__(vw[SOURCE_PORT_LABEL]) + v.update(kwargs_dict) + workflow.__setattr__("tmp_" + str(k), function_node(**v, validate_output_labels=False)) + return workflow, "tmp_" + str(k) + + def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): nodes_dict, node_mapping_dict, input_dict = get_linked_nodes( graph_dict=graph_as_dict @@ -188,3 +263,38 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): ) ) ).dump_json_file(file_name=file_name, indent=2) + + +def load_workflow_json(file_name: str, workflow: Optional[Workflow] = None): + content = remove_result( + workflow_dict=PythonWorkflowDefinitionWorkflow.load_json_file( + file_name=file_name + ) + ) + edges_lst = content[EDGES_LABEL] + + nodes_new_dict = {} + for k, v in convert_nodes_list_to_dict(nodes_list=content[NODES_LABEL]).items(): + if isinstance(v, str) and "." in v: + p, m = v.rsplit('.', 1) + mod = import_module(p) + nodes_new_dict[int(k)] = getattr(mod, m) + else: + nodes_new_dict[int(k)] = v + + if workflow is None: + workflow = Workflow(file_name.split(".")[0]) + + nodes_to_create_dict, node_conversion_dict = create_input_nodes(nodes_dict=nodes_new_dict, edges_lst=edges_lst) + wf = set_input_nodes(workflow=workflow, nodes_to_create_dict=nodes_to_create_dict) + + source_handle_dict = get_source_handles(edges_lst=edges_lst) + function_dict = get_function_nodes(nodes_dict=nodes_new_dict, source_handle_dict=source_handle_dict) + total_dict = group_edges(edges_lst=edges_lst) + + return build_workflow( + workflow=wf, + function_dict=function_dict, + total_dict=total_dict, + node_conversion_dict=node_conversion_dict, + ) \ No newline at end of file From 55a0764bfea467f6b53ba72257bdbd669d63912f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Fri, 23 May 2025 11:11:14 +0200 Subject: [PATCH 05/29] black formatting --- .../pyiron_workflow.py | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index f8a7003..1756b93 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -82,12 +82,10 @@ def get_edges(graph_dict, node_mapping_dict, nodes_links_dict): def create_input_nodes(nodes_dict, edges_lst): node_conversion_dict = { ed[SOURCE_LABEL]: ed[TARGET_PORT_LABEL] - for ed in edges_lst if ed[SOURCE_PORT_LABEL] is None - } - nodes_to_create_dict = { - v: nodes_dict[k] - for k, v in node_conversion_dict.items() + for ed in edges_lst + if ed[SOURCE_PORT_LABEL] is None } + nodes_to_create_dict = {v: nodes_dict[k] for k, v in node_conversion_dict.items()} return nodes_to_create_dict, node_conversion_dict @@ -99,7 +97,7 @@ def set_input_nodes(workflow, nodes_to_create_dict): def get_source_handles(edges_lst): source_handle_dict = {} - for ed in edges_lst: + for ed in edges_lst: if ed[SOURCE_LABEL] not in source_handle_dict.keys(): source_handle_dict[ed[SOURCE_LABEL]] = [ed[SOURCE_PORT_LABEL]] else: @@ -116,7 +114,13 @@ def get_function_nodes(nodes_dict, source_handle_dict): def get_kwargs(lst): - return {t[TARGET_PORT_LABEL]: {SOURCE_LABEL: t[SOURCE_LABEL], SOURCE_PORT_LABEL: t[SOURCE_PORT_LABEL]} for t in lst} + return { + t[TARGET_PORT_LABEL]: { + SOURCE_LABEL: t[SOURCE_LABEL], + SOURCE_PORT_LABEL: t[SOURCE_PORT_LABEL], + } + for t in lst + } def group_edges(edges_lst): @@ -141,11 +145,17 @@ def build_workflow(workflow, function_dict, total_dict, node_conversion_dict): kwargs_dict = {} for kw, vw in kwargs_link_dict.items(): if vw[SOURCE_LABEL] in node_conversion_dict.keys(): - kwargs_dict[kw] = workflow.__getattribute__(node_conversion_dict[vw[SOURCE_LABEL]]) - else: - kwargs_dict[kw] = workflow.__getattr__("tmp_" + str(vw[SOURCE_LABEL])).__getitem__(vw[SOURCE_PORT_LABEL]) + kwargs_dict[kw] = workflow.__getattribute__( + node_conversion_dict[vw[SOURCE_LABEL]] + ) + else: + kwargs_dict[kw] = workflow.__getattr__( + "tmp_" + str(vw[SOURCE_LABEL]) + ).__getitem__(vw[SOURCE_PORT_LABEL]) v.update(kwargs_dict) - workflow.__setattr__("tmp_" + str(k), function_node(**v, validate_output_labels=False)) + workflow.__setattr__( + "tmp_" + str(k), function_node(**v, validate_output_labels=False) + ) return workflow, "tmp_" + str(k) @@ -276,7 +286,7 @@ def load_workflow_json(file_name: str, workflow: Optional[Workflow] = None): nodes_new_dict = {} for k, v in convert_nodes_list_to_dict(nodes_list=content[NODES_LABEL]).items(): if isinstance(v, str) and "." in v: - p, m = v.rsplit('.', 1) + p, m = v.rsplit(".", 1) mod = import_module(p) nodes_new_dict[int(k)] = getattr(mod, m) else: @@ -285,11 +295,15 @@ def load_workflow_json(file_name: str, workflow: Optional[Workflow] = None): if workflow is None: workflow = Workflow(file_name.split(".")[0]) - nodes_to_create_dict, node_conversion_dict = create_input_nodes(nodes_dict=nodes_new_dict, edges_lst=edges_lst) + nodes_to_create_dict, node_conversion_dict = create_input_nodes( + nodes_dict=nodes_new_dict, edges_lst=edges_lst + ) wf = set_input_nodes(workflow=workflow, nodes_to_create_dict=nodes_to_create_dict) source_handle_dict = get_source_handles(edges_lst=edges_lst) - function_dict = get_function_nodes(nodes_dict=nodes_new_dict, source_handle_dict=source_handle_dict) + function_dict = get_function_nodes( + nodes_dict=nodes_new_dict, source_handle_dict=source_handle_dict + ) total_dict = group_edges(edges_lst=edges_lst) return build_workflow( @@ -297,4 +311,4 @@ def load_workflow_json(file_name: str, workflow: Optional[Workflow] = None): function_dict=function_dict, total_dict=total_dict, node_conversion_dict=node_conversion_dict, - ) \ No newline at end of file + ) From 98300486748629c829e2266271b8ac32664bad3e Mon Sep 17 00:00:00 2001 From: liamhuber Date: Fri, 23 May 2025 12:07:52 -0700 Subject: [PATCH 06/29] Add json-to-Workfow function Signed-off-by: liamhuber --- .../pyiron_workflow.py | 62 ++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 1756b93..197666b 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -1,9 +1,10 @@ from inspect import isfunction from importlib import import_module -from typing import Optional +from typing import Any, Optional import numpy as np from pyiron_workflow import function_node, Workflow +from pyiron_workflow.api import Function from python_workflow_definition.models import PythonWorkflowDefinitionWorkflow from python_workflow_definition.shared import ( @@ -312,3 +313,62 @@ def load_workflow_json(file_name: str, workflow: Optional[Workflow] = None): total_dict=total_dict, node_conversion_dict=node_conversion_dict, ) + + +def import_from_string(library_path: str) -> Any: + # Copied from bagofholding + split_path = library_path.split(".", 1) + if len(split_path) == 1: + module_name, path = split_path[0], "" + else: + module_name, path = split_path + obj = import_module(module_name) + for k in path.split("."): + obj = getattr(obj, k) + return obj + + +def build_function_dag_workflow(file_name: str) -> Workflow: + content = remove_result( + PythonWorkflowDefinitionWorkflow.load_json_file(file_name="workflow.json") + ) + + input_values: dict[int, object] = ( + {} + ) # Type is actually more restrictive, must be jsonifyable object + nodes: dict[int, Function] = {} + wf = Workflow(file_name.split(".")[0]) + for node_dict in content[NODES_LABEL]: + if node_dict["type"] == "function": + fnc = import_from_string(node_dict["value"]) + n = function_node( + fnc, + output_labels=fnc.__name__ # Strictly force single-output + ) + nodes[node_dict["id"]] = n + wf.add_child(n) + elif node_dict["type"] == "input": + input_values[node_dict["id"]] = node_dict["value"] + + for edge_dict in content[EDGES_LABEL]: + target_id = edge_dict["target"] + target_port = edge_dict["targetPort"] + source_id = edge_dict["source"] + source_port = edge_dict["sourcePort"] + + if source_port is None: + if source_id in input_values.keys(): # Parent input value + upstream = input_values[source_id] + else: # Single-output sibling + upstream = nodes[source_id] + else: # Dictionary-output sibling + injected_attribute_access = nodes[source_id].__getitem__(source_port) + upstream = injected_attribute_access + downstream = nodes[target_id] + setattr( + downstream.inputs, target_port, upstream + ) # Exploit input panel magic + # Warning: edge setup routine is bespoke for an environment where all nodes return + # a single value or a dictionary + + return wf From 038bc85d1579e119679421595232a186bae5bf98 Mon Sep 17 00:00:00 2001 From: Liam Huber Date: Fri, 23 May 2025 12:20:24 -0700 Subject: [PATCH 07/29] Update python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py --- .../src/python_workflow_definition/pyiron_workflow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 197666b..2347550 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -330,7 +330,7 @@ def import_from_string(library_path: str) -> Any: def build_function_dag_workflow(file_name: str) -> Workflow: content = remove_result( - PythonWorkflowDefinitionWorkflow.load_json_file(file_name="workflow.json") + PythonWorkflowDefinitionWorkflow.load_json_file(file_name=file_name) ) input_values: dict[int, object] = ( From 9739b47c586dcd7ce5ce1fe5cb08d64c2f875fd3 Mon Sep 17 00:00:00 2001 From: jan-janssen Date: Sat, 24 May 2025 10:20:49 +0200 Subject: [PATCH 08/29] merge Liam's changes --- .../pyiron_workflow.py | 124 +----------------- 1 file changed, 2 insertions(+), 122 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 2347550..f135bcd 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -1,6 +1,6 @@ from inspect import isfunction from importlib import import_module -from typing import Any, Optional +from typing import Any import numpy as np from pyiron_workflow import function_node, Workflow @@ -8,7 +8,6 @@ from python_workflow_definition.models import PythonWorkflowDefinitionWorkflow from python_workflow_definition.shared import ( - convert_nodes_list_to_dict, update_node_names, set_result_node, remove_result, @@ -80,86 +79,6 @@ def get_edges(graph_dict, node_mapping_dict, nodes_links_dict): return edges_lst -def create_input_nodes(nodes_dict, edges_lst): - node_conversion_dict = { - ed[SOURCE_LABEL]: ed[TARGET_PORT_LABEL] - for ed in edges_lst - if ed[SOURCE_PORT_LABEL] is None - } - nodes_to_create_dict = {v: nodes_dict[k] for k, v in node_conversion_dict.items()} - return nodes_to_create_dict, node_conversion_dict - - -def set_input_nodes(workflow, nodes_to_create_dict): - for k, v in nodes_to_create_dict.items(): - workflow.__setattr__(k, v) - return workflow - - -def get_source_handles(edges_lst): - source_handle_dict = {} - for ed in edges_lst: - if ed[SOURCE_LABEL] not in source_handle_dict.keys(): - source_handle_dict[ed[SOURCE_LABEL]] = [ed[SOURCE_PORT_LABEL]] - else: - source_handle_dict[ed[SOURCE_LABEL]].append(ed[SOURCE_PORT_LABEL]) - return source_handle_dict - - -def get_function_nodes(nodes_dict, source_handle_dict): - function_dict = {} - for k, v in nodes_dict.items(): - if isfunction(v): - function_dict[k] = {"node_function": v} - return function_dict - - -def get_kwargs(lst): - return { - t[TARGET_PORT_LABEL]: { - SOURCE_LABEL: t[SOURCE_LABEL], - SOURCE_PORT_LABEL: t[SOURCE_PORT_LABEL], - } - for t in lst - } - - -def group_edges(edges_lst): - edges_sorted_lst = sorted(edges_lst, key=lambda x: x[TARGET_LABEL], reverse=True) - total_dict = {} - tmp_lst = [] - target_id = edges_sorted_lst[0][TARGET_LABEL] - for ed in edges_sorted_lst: - if target_id == ed[TARGET_LABEL]: - tmp_lst.append(ed) - else: - total_dict[target_id] = get_kwargs(lst=tmp_lst) - target_id = ed[TARGET_LABEL] - tmp_lst = [ed] - total_dict[target_id] = get_kwargs(lst=tmp_lst) - return total_dict - - -def build_workflow(workflow, function_dict, total_dict, node_conversion_dict): - for k, v in function_dict.items(): - kwargs_link_dict = total_dict[k] - kwargs_dict = {} - for kw, vw in kwargs_link_dict.items(): - if vw[SOURCE_LABEL] in node_conversion_dict.keys(): - kwargs_dict[kw] = workflow.__getattribute__( - node_conversion_dict[vw[SOURCE_LABEL]] - ) - else: - kwargs_dict[kw] = workflow.__getattr__( - "tmp_" + str(vw[SOURCE_LABEL]) - ).__getitem__(vw[SOURCE_PORT_LABEL]) - v.update(kwargs_dict) - workflow.__setattr__( - "tmp_" + str(k), function_node(**v, validate_output_labels=False) - ) - return workflow, "tmp_" + str(k) - - def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): nodes_dict, node_mapping_dict, input_dict = get_linked_nodes( graph_dict=graph_as_dict @@ -276,45 +195,6 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): ).dump_json_file(file_name=file_name, indent=2) -def load_workflow_json(file_name: str, workflow: Optional[Workflow] = None): - content = remove_result( - workflow_dict=PythonWorkflowDefinitionWorkflow.load_json_file( - file_name=file_name - ) - ) - edges_lst = content[EDGES_LABEL] - - nodes_new_dict = {} - for k, v in convert_nodes_list_to_dict(nodes_list=content[NODES_LABEL]).items(): - if isinstance(v, str) and "." in v: - p, m = v.rsplit(".", 1) - mod = import_module(p) - nodes_new_dict[int(k)] = getattr(mod, m) - else: - nodes_new_dict[int(k)] = v - - if workflow is None: - workflow = Workflow(file_name.split(".")[0]) - - nodes_to_create_dict, node_conversion_dict = create_input_nodes( - nodes_dict=nodes_new_dict, edges_lst=edges_lst - ) - wf = set_input_nodes(workflow=workflow, nodes_to_create_dict=nodes_to_create_dict) - - source_handle_dict = get_source_handles(edges_lst=edges_lst) - function_dict = get_function_nodes( - nodes_dict=nodes_new_dict, source_handle_dict=source_handle_dict - ) - total_dict = group_edges(edges_lst=edges_lst) - - return build_workflow( - workflow=wf, - function_dict=function_dict, - total_dict=total_dict, - node_conversion_dict=node_conversion_dict, - ) - - def import_from_string(library_path: str) -> Any: # Copied from bagofholding split_path = library_path.split(".", 1) @@ -328,7 +208,7 @@ def import_from_string(library_path: str) -> Any: return obj -def build_function_dag_workflow(file_name: str) -> Workflow: +def load_workflow_json(file_name: str) -> Workflow: content = remove_result( PythonWorkflowDefinitionWorkflow.load_json_file(file_name=file_name) ) From 602fa703e04d124cfe1b6be6b04b9b408f4624e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 10:23:25 +0200 Subject: [PATCH 09/29] black formatting --- .../src/python_workflow_definition/pyiron_workflow.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index f135bcd..5566313 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -222,8 +222,7 @@ def load_workflow_json(file_name: str) -> Workflow: if node_dict["type"] == "function": fnc = import_from_string(node_dict["value"]) n = function_node( - fnc, - output_labels=fnc.__name__ # Strictly force single-output + fnc, output_labels=fnc.__name__ # Strictly force single-output ) nodes[node_dict["id"]] = n wf.add_child(n) @@ -245,9 +244,7 @@ def load_workflow_json(file_name: str) -> Workflow: injected_attribute_access = nodes[source_id].__getitem__(source_port) upstream = injected_attribute_access downstream = nodes[target_id] - setattr( - downstream.inputs, target_port, upstream - ) # Exploit input panel magic + setattr(downstream.inputs, target_port, upstream) # Exploit input panel magic # Warning: edge setup routine is bespoke for an environment where all nodes return # a single value or a dictionary From d743beab90d77a4ac90e44c427293ceb7fd2a1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 10:30:13 +0200 Subject: [PATCH 10/29] update notebooks --- example_workflows/arithmetic/aiida.ipynb | 33 ++++++++++++++ example_workflows/arithmetic/jobflow.ipynb | 44 ++++++++++++++----- .../arithmetic/pyiron_base.ipynb | 38 +++++++++++++++- .../arithmetic/universal_workflow.ipynb | 33 ++++++++++++++ 4 files changed, 136 insertions(+), 12 deletions(-) diff --git a/example_workflows/arithmetic/aiida.ipynb b/example_workflows/arithmetic/aiida.ipynb index c95e15e..743e787 100644 --- a/example_workflows/arithmetic/aiida.ipynb +++ b/example_workflows/arithmetic/aiida.ipynb @@ -232,6 +232,39 @@ } ], "execution_count": 15 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()" } ] } diff --git a/example_workflows/arithmetic/jobflow.ipynb b/example_workflows/arithmetic/jobflow.ipynb index afe56ae..3ff3b1c 100644 --- a/example_workflows/arithmetic/jobflow.ipynb +++ b/example_workflows/arithmetic/jobflow.ipynb @@ -369,18 +369,42 @@ } }, { - "id": "c199b28f3c0399cc", + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow", + "id": "7da4733bfeffee63" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", + "id": "6c87661996ff840b" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)", + "id": "33b1e9408924f9c0" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))", + "id": "df63b2963a0d90a5" + }, + { + "metadata": {}, "cell_type": "code", - "source": "", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - }, - "trusted": true - }, "outputs": [], - "execution_count": null + "execution_count": null, + "source": "wf.run()", + "id": "bf110395454bd694" } ] } diff --git a/example_workflows/arithmetic/pyiron_base.ipynb b/example_workflows/arithmetic/pyiron_base.ipynb index 1fea0cd..18742f2 100644 --- a/example_workflows/arithmetic/pyiron_base.ipynb +++ b/example_workflows/arithmetic/pyiron_base.ipynb @@ -274,15 +274,49 @@ ], "execution_count": 18 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow", + "id": "406fd07dd4bd8006" + }, { "id": "cf76f305-24de-45a7-be8e-cfe45cd6458e", "cell_type": "code", - "source": "", + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", "metadata": { - "trusted": true + "trusted": true, + "ExecuteTime": { + "end_time": "2025-05-24T08:25:33.797570Z", + "start_time": "2025-05-24T08:25:33.771214Z" + } }, "outputs": [], "execution_count": null + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)", + "id": "5b442611457aa5a8" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))", + "id": "2ca33c8590a54866" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()", + "id": "d36522a1c315b7f5" } ] } diff --git a/example_workflows/arithmetic/universal_workflow.ipynb b/example_workflows/arithmetic/universal_workflow.ipynb index 60d0ab2..a7f2528 100644 --- a/example_workflows/arithmetic/universal_workflow.ipynb +++ b/example_workflows/arithmetic/universal_workflow.ipynb @@ -288,6 +288,39 @@ ], "execution_count": 17 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()" + }, { "cell_type": "markdown", "source": "## Python", From 81b7df731ea4cfafac361856b97278b3196af054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 10:33:27 +0200 Subject: [PATCH 11/29] fix file name --- example_workflows/arithmetic/universal_workflow.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example_workflows/arithmetic/universal_workflow.ipynb b/example_workflows/arithmetic/universal_workflow.ipynb index a7f2528..a8cfc73 100644 --- a/example_workflows/arithmetic/universal_workflow.ipynb +++ b/example_workflows/arithmetic/universal_workflow.ipynb @@ -305,7 +305,7 @@ "cell_type": "code", "outputs": [], "execution_count": null, - "source": "wf = load_workflow_json(file_name=workflow_json_filename)" + "source": "wf = load_workflow_json(file_name=\"workflow.json\")" }, { "metadata": {}, From 78ae48b296f65256f45c3dc072706f94cd5968c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 10:48:57 +0200 Subject: [PATCH 12/29] Add pyiron_workflow to all universal notebooks --- .../nfdi/universal_workflow.ipynb | 37 ++++++++++++++++++- .../quantum_espresso/universal_workflow.ipynb | 33 +++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/example_workflows/nfdi/universal_workflow.ipynb b/example_workflows/nfdi/universal_workflow.ipynb index 1efe4fe..5c1d889 100644 --- a/example_workflows/nfdi/universal_workflow.ipynb +++ b/example_workflows/nfdi/universal_workflow.ipynb @@ -289,9 +289,42 @@ "execution_count": 17 }, { + "metadata": {}, "cell_type": "markdown", - "source": "## Python", - "metadata": {} + "source": "## Load Workflow with pyiron_workflow" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=\"workflow.json\")" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()" + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Python" }, { "cell_type": "code", diff --git a/example_workflows/quantum_espresso/universal_workflow.ipynb b/example_workflows/quantum_espresso/universal_workflow.ipynb index 42453c4..12568d2 100644 --- a/example_workflows/quantum_espresso/universal_workflow.ipynb +++ b/example_workflows/quantum_espresso/universal_workflow.ipynb @@ -431,6 +431,39 @@ ], "execution_count": 17 }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=\"workflow.json\")" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()" + }, { "cell_type": "markdown", "source": "## Python", From 4188e24e5efa6340e5a76be546732f6e17538403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 10:56:49 +0200 Subject: [PATCH 13/29] update notebooks for other workflow frameworks --- example_workflows/nfdi/aiida.ipynb | 38 +++++++++++++++++++ example_workflows/nfdi/jobflow.ipynb | 38 +++++++++++++++++++ example_workflows/nfdi/pyiron_base.ipynb | 38 +++++++++++++++++++ .../quantum_espresso/aiida.ipynb | 34 ++++++++++++++--- .../quantum_espresso/jobflow.ipynb | 34 ++++++++++++++--- .../quantum_espresso/pyiron_base.ipynb | 38 +++++++++++++++++++ 6 files changed, 210 insertions(+), 10 deletions(-) diff --git a/example_workflows/nfdi/aiida.ipynb b/example_workflows/nfdi/aiida.ipynb index 8b25fa2..30378ca 100644 --- a/example_workflows/nfdi/aiida.ipynb +++ b/example_workflows/nfdi/aiida.ipynb @@ -355,6 +355,44 @@ } ], "execution_count": 24 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow", + "id": "afaf2bc0b3a491ca" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", + "id": "6172b410eb776fc4" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)", + "id": "668fe64b18b4d604" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))", + "id": "8c4fd72394841ffa" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()", + "id": "c1427e3ce0716f64" } ] } diff --git a/example_workflows/nfdi/jobflow.ipynb b/example_workflows/nfdi/jobflow.ipynb index 69c8916..2cd73f2 100644 --- a/example_workflows/nfdi/jobflow.ipynb +++ b/example_workflows/nfdi/jobflow.ipynb @@ -327,6 +327,44 @@ } ], "execution_count": 22 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow", + "id": "8e73fa07cebd7b72" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", + "id": "aa99fbd94b03a869" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)", + "id": "728b8684fee475b5" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))", + "id": "7b814f0f74f0b15a" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()", + "id": "447506cdca5080e6" } ] } diff --git a/example_workflows/nfdi/pyiron_base.ipynb b/example_workflows/nfdi/pyiron_base.ipynb index 99c9a1c..f4feda6 100644 --- a/example_workflows/nfdi/pyiron_base.ipynb +++ b/example_workflows/nfdi/pyiron_base.ipynb @@ -312,6 +312,44 @@ } ], "execution_count": 22 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow", + "id": "385acbf585763632" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", + "id": "927d0118cc4edfba" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)", + "id": "50055483ca2c9909" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))", + "id": "7d25a578c431e0f5" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()", + "id": "fff9513c4a127a96" } ] } diff --git a/example_workflows/quantum_espresso/aiida.ipynb b/example_workflows/quantum_espresso/aiida.ipynb index 6504617..a5c7184 100644 --- a/example_workflows/quantum_espresso/aiida.ipynb +++ b/example_workflows/quantum_espresso/aiida.ipynb @@ -462,13 +462,37 @@ "execution_count": 25 }, { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))" + }, + { + "metadata": {}, "cell_type": "code", - "source": "", - "metadata": { - "trusted": true - }, "outputs": [], - "execution_count": null + "execution_count": null, + "source": "wf.run()" } ] } diff --git a/example_workflows/quantum_espresso/jobflow.ipynb b/example_workflows/quantum_espresso/jobflow.ipynb index 442b711..b4dddf6 100644 --- a/example_workflows/quantum_espresso/jobflow.ipynb +++ b/example_workflows/quantum_espresso/jobflow.ipynb @@ -444,13 +444,37 @@ "execution_count": 25 }, { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))" + }, + { + "metadata": {}, "cell_type": "code", - "source": "", - "metadata": { - "trusted": true - }, "outputs": [], - "execution_count": null + "execution_count": null, + "source": "wf.run()" } ] } diff --git a/example_workflows/quantum_espresso/pyiron_base.ipynb b/example_workflows/quantum_espresso/pyiron_base.ipynb index ef34b5c..e524f6c 100644 --- a/example_workflows/quantum_espresso/pyiron_base.ipynb +++ b/example_workflows/quantum_espresso/pyiron_base.ipynb @@ -382,6 +382,44 @@ } ], "execution_count": 22 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "## Load Workflow with pyiron_workflow", + "id": "406b0429e65b9760" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", + "id": "1b45a453f593202f" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf = load_workflow_json(file_name=workflow_json_filename)", + "id": "97ef39ae859855ab" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.draw(size=(10,10))", + "id": "4368c6921b71e396" + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "wf.run()", + "id": "b9130e7566a72f27" } ] } From 264b43da44b4e9f978ff8f3bf5da2c046764893b Mon Sep 17 00:00:00 2001 From: jan-janssen Date: Sat, 24 May 2025 11:22:38 +0200 Subject: [PATCH 14/29] fix reuse of functions --- .../src/python_workflow_definition/pyiron_workflow.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 5566313..31a0615 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -1,3 +1,4 @@ +from collections import Counter from inspect import isfunction from importlib import import_module from typing import Any @@ -217,12 +218,19 @@ def load_workflow_json(file_name: str) -> Workflow: {} ) # Type is actually more restrictive, must be jsonifyable object nodes: dict[int, Function] = {} + total_counter_dict = Counter([n["value"] for n in content[NODES_LABEL] if n["type"] == "function"]) + counter_dict = {k: -1 for k in total_counter_dict.keys()} wf = Workflow(file_name.split(".")[0]) for node_dict in content[NODES_LABEL]: if node_dict["type"] == "function": fnc = import_from_string(node_dict["value"]) + if total_counter_dict[node_dict["value"]] > 1: + counter_dict[node_dict["value"]] += 1 + name = fnc.__name__ + "_" + str(counter_dict[node_dict["value"]]) + else: + name = fnc.__name__ n = function_node( - fnc, output_labels=fnc.__name__ # Strictly force single-output + fnc, output_labels=name # Strictly force single-output ) nodes[node_dict["id"]] = n wf.add_child(n) From 0fd2a9af54c27d1a8eb24d9e638410acb35017fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 11:23:08 +0200 Subject: [PATCH 15/29] black formatting --- .../src/python_workflow_definition/pyiron_workflow.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 31a0615..f634f6e 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -218,7 +218,9 @@ def load_workflow_json(file_name: str) -> Workflow: {} ) # Type is actually more restrictive, must be jsonifyable object nodes: dict[int, Function] = {} - total_counter_dict = Counter([n["value"] for n in content[NODES_LABEL] if n["type"] == "function"]) + total_counter_dict = Counter( + [n["value"] for n in content[NODES_LABEL] if n["type"] == "function"] + ) counter_dict = {k: -1 for k in total_counter_dict.keys()} wf = Workflow(file_name.split(".")[0]) for node_dict in content[NODES_LABEL]: @@ -229,9 +231,7 @@ def load_workflow_json(file_name: str) -> Workflow: name = fnc.__name__ + "_" + str(counter_dict[node_dict["value"]]) else: name = fnc.__name__ - n = function_node( - fnc, output_labels=name # Strictly force single-output - ) + n = function_node(fnc, output_labels=name) # Strictly force single-output nodes[node_dict["id"]] = n wf.add_child(n) elif node_dict["type"] == "input": From 09a5db0777281ea82daae7c9946023f71148d19e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sat, 24 May 2025 11:32:53 +0200 Subject: [PATCH 16/29] Add NFDI example --- .github/workflows/pipeline.yml | 1 + example_workflows/nfdi/pyiron_workflow.ipynb | 1 + 2 files changed, 2 insertions(+) create mode 100644 example_workflows/nfdi/pyiron_workflow.ipynb diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index c86fe67..755ec26 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -71,6 +71,7 @@ jobs: papermill cwl.ipynb cwl_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" papermill universal_workflow.ipynb universal_workflow_out.ipynb -k "python3" quantumespresso: diff --git a/example_workflows/nfdi/pyiron_workflow.ipynb b/example_workflows/nfdi/pyiron_workflow.ipynb new file mode 100644 index 0000000..db1df09 --- /dev/null +++ b/example_workflows/nfdi/pyiron_workflow.ipynb @@ -0,0 +1 @@ +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.12.8","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"106ded66-d202-46ac-82b0-2755ca309bdd","cell_type":"markdown","source":"# pyiron\n\nhttps://github.com/BAMresearch/NFDI4IngScientificWorkflowRequirements","metadata":{}},{"id":"91dd48ea-aa7e-4937-a68e-59fc5017eb1e","cell_type":"markdown","source":"## Define workflow with pyiron_workflow","metadata":{}},{"id":"2c9622f5-ab7e-460e-b8e4-8d21413eda77","cell_type":"code","source":"import os","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"d265bb5aa6af79d6","cell_type":"code","source":"from workflow import (\n generate_mesh as _generate_mesh, \n convert_to_xdmf as _convert_to_xdmf,\n poisson as _poisson,\n plot_over_line as _plot_over_line,\n substitute_macros as _substitute_macros,\n compile_paper as _compile_paper,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"2dced28725813fc1","cell_type":"code","source":"from pyiron_workflow import Workflow, to_function_node\n\nfrom python_workflow_definition.pyiron_workflow import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"549ecf27-88ef-4e77-8bd4-b616cfdda2e4","cell_type":"code","source":"generate_mesh = to_function_node(\"generate_mesh\", _generate_mesh, \"generate_mesh\")\nconvert_to_xdmf = to_function_node(\"convert_to_xdmf\", _convert_to_xdmf, \"convert_to_xdmf\")\npoisson = to_function_node(\"poisson\", _poisson, \"poisson\")\nplot_over_line = to_function_node(\"plot_over_line\", _plot_over_line, \"plot_over_line\")\nsubstitute_macros = to_function_node(\"substitute_macros\", _substitute_macros, \"substitute_macros\")\ncompile_paper = to_function_node(\"compile_paper\", _compile_paper, \"compile_paper\")","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"3a75428e-18c7-49cf-8256-23cff58b9d6e","cell_type":"code","source":"wf = Workflow(\"my_workflow\")","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"8d911f98-3b80-457f-a0f4-3cb37ebf1691","cell_type":"code","source":"wf.domain_size = 2.0","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"c6ea980b-6761-4191-8407-7b1f78a4c3ea","cell_type":"code","source":"wf.source_directory = os.path.abspath(os.path.join(os.curdir, \"source\"))","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"71d411b6-cbec-489e-99e3-ba71680bcb5b","cell_type":"code","source":"wf.gmsh_output_file = generate_mesh(\n domain_size=wf.domain_size,\n source_directory=wf.source_directory,\n)","metadata":{"tags":[],"trusted":true},"outputs":[],"execution_count":8},{"id":"1d0d9804-f250-48b3-a5d0-a546d520f79b","cell_type":"code","source":"wf.meshio_output_dict = convert_to_xdmf(\n gmsh_output_file=wf.gmsh_output_file,\n)","metadata":{"tags":[],"trusted":true},"outputs":[],"execution_count":9},{"id":"7b69bcff-e2b1-4d4a-b62c-6a1c86eeb590","cell_type":"code","source":"wf.poisson_dict = poisson(\n meshio_output_xdmf=wf.meshio_output_dict[\"xdmf_file\"], \n meshio_output_h5=wf.meshio_output_dict[\"h5_file\"],\n source_directory=wf.source_directory,\n)","metadata":{"tags":[],"trusted":true},"outputs":[],"execution_count":10},{"id":"3c4a29b0-eb1e-490a-8be0-e03cfff15e0a","cell_type":"code","source":"wf.pvbatch_output_file = plot_over_line(\n poisson_output_pvd_file=wf.poisson_dict[\"pvd_file\"], \n poisson_output_vtu_file=wf.poisson_dict[\"vtu_file\"],\n source_directory=wf.source_directory,\n)","metadata":{"tags":[],"trusted":true},"outputs":[],"execution_count":11},{"id":"a0a4c233-322d-4723-9627-62ca2487bfa9","cell_type":"code","source":"wf.macros_tex_file = substitute_macros( \n pvbatch_output_file=wf.pvbatch_output_file, \n ndofs=wf.poisson_dict[\"numdofs\"], \n domain_size=wf.domain_size,\n source_directory=wf.source_directory,\n)","metadata":{"tags":[],"trusted":true},"outputs":[],"execution_count":12},{"id":"c281408f-e63d-4380-a7e6-c595d49fbb8f","cell_type":"code","source":"wf.paper_output = compile_paper(\n macros_tex=wf.macros_tex_file, \n plot_file=wf.pvbatch_output_file,\n source_directory=wf.source_directory,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"id":"db4f1e15-3710-4e24-abc2-0fef417043e8","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":14,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclustermy_workflow\n\nmy_workflow: Workflow\n\nclustermy_workflowInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowgmsh_output_file\n\n\n\n\n\n\n\ngmsh_output_file: generate_mesh\n\n\nclustermy_workflowgmsh_output_fileInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowgmsh_output_fileOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowmeshio_output_dict\n\n\n\n\n\n\n\nmeshio_output_dict: convert_to_xdmf\n\n\nclustermy_workflowmeshio_output_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowmeshio_output_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366\n\n\n\n\n\n\n\ninjected_GetItem_m7197572853956972366: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092\n\n\n\n\n\n\n\ninjected_GetItem_5401042856615209092: GetItem\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowpoisson_dict\n\n\n\n\n\n\n\npoisson_dict: poisson\n\n\nclustermy_workflowpoisson_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowpoisson_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609\n\n\n\n\n\n\n\ninjected_GetItem_5839915180513303609: GetItem\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100\n\n\n\n\n\n\n\ninjected_GetItem_m3497348724979863100: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowpvbatch_output_file\n\n\n\n\n\n\n\npvbatch_output_file: plot_over_line\n\n\nclustermy_workflowpvbatch_output_fileInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowpvbatch_output_fileOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458\n\n\n\n\n\n\n\ninjected_GetItem_m6105838930489235458: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowmacros_tex_file\n\n\n\n\n\n\n\nmacros_tex_file: substitute_macros\n\n\nclustermy_workflowmacros_tex_fileInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowmacros_tex_fileOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowpaper_output\n\n\n\n\n\n\n\npaper_output: compile_paper\n\n\nclustermy_workflowpaper_outputInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowpaper_outputOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclustermy_workflowInputsrun\n\nrun\n\n\n\nclustermy_workflowOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowInputsgmsh_output_file__domain_size\n\ngmsh_output_file__domain_size: float\n\n\n\nclustermy_workflowgmsh_output_fileInputsdomain_size\n\ndomain_size: float\n\n\n\nclustermy_workflowInputsgmsh_output_file__domain_size->clustermy_workflowgmsh_output_fileInputsdomain_size\n\n\n\n\n\n\nclustermy_workflowInputsgmsh_output_file__source_directory\n\ngmsh_output_file__source_directory: str\n\n\n\nclustermy_workflowgmsh_output_fileInputssource_directory\n\nsource_directory: str\n\n\n\nclustermy_workflowInputsgmsh_output_file__source_directory->clustermy_workflowgmsh_output_fileInputssource_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7197572853956972366__item\n\ninjected_GetItem_m7197572853956972366__item\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7197572853956972366__item->clustermy_workflowinjected_GetItem_m7197572853956972366Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_5401042856615209092__item\n\ninjected_GetItem_5401042856615209092__item\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_5401042856615209092__item->clustermy_workflowinjected_GetItem_5401042856615209092Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputspoisson_dict__source_directory\n\npoisson_dict__source_directory: str\n\n\n\nclustermy_workflowpoisson_dictInputssource_directory\n\nsource_directory: str\n\n\n\nclustermy_workflowInputspoisson_dict__source_directory->clustermy_workflowpoisson_dictInputssource_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_5839915180513303609__item\n\ninjected_GetItem_5839915180513303609__item\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_5839915180513303609__item->clustermy_workflowinjected_GetItem_5839915180513303609Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3497348724979863100__item\n\ninjected_GetItem_m3497348724979863100__item\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3497348724979863100__item->clustermy_workflowinjected_GetItem_m3497348724979863100Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputspvbatch_output_file__source_directory\n\npvbatch_output_file__source_directory: str\n\n\n\nclustermy_workflowpvbatch_output_fileInputssource_directory\n\nsource_directory: str\n\n\n\nclustermy_workflowInputspvbatch_output_file__source_directory->clustermy_workflowpvbatch_output_fileInputssource_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6105838930489235458__item\n\ninjected_GetItem_m6105838930489235458__item\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6105838930489235458__item->clustermy_workflowinjected_GetItem_m6105838930489235458Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsmacros_tex_file__domain_size\n\nmacros_tex_file__domain_size: float\n\n\n\nclustermy_workflowmacros_tex_fileInputsdomain_size\n\ndomain_size: float\n\n\n\nclustermy_workflowInputsmacros_tex_file__domain_size->clustermy_workflowmacros_tex_fileInputsdomain_size\n\n\n\n\n\n\nclustermy_workflowInputsmacros_tex_file__source_directory\n\nmacros_tex_file__source_directory: str\n\n\n\nclustermy_workflowmacros_tex_fileInputssource_directory\n\nsource_directory: str\n\n\n\nclustermy_workflowInputsmacros_tex_file__source_directory->clustermy_workflowmacros_tex_fileInputssource_directory\n\n\n\n\n\n\nclustermy_workflowInputspaper_output__source_directory\n\npaper_output__source_directory: str\n\n\n\nclustermy_workflowpaper_outputInputssource_directory\n\nsource_directory: str\n\n\n\nclustermy_workflowInputspaper_output__source_directory->clustermy_workflowpaper_outputInputssource_directory\n\n\n\n\n\n\nclustermy_workflowOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowOutputsWithInjectionpaper_output__compile_paper\n\npaper_output__compile_paper: str\n\n\n\nclustermy_workflowgmsh_output_fileInputsrun\n\nrun\n\n\n\nclustermy_workflowgmsh_output_fileOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowgmsh_output_fileInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowgmsh_output_fileOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowgmsh_output_fileOutputsWithInjectiongenerate_mesh\n\ngenerate_mesh: str\n\n\n\nclustermy_workflowmeshio_output_dictInputsgmsh_output_file\n\ngmsh_output_file: str\n\n\n\nclustermy_workflowgmsh_output_fileOutputsWithInjectiongenerate_mesh->clustermy_workflowmeshio_output_dictInputsgmsh_output_file\n\n\n\n\n\n\nclustermy_workflowmeshio_output_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowmeshio_output_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowmeshio_output_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowmeshio_output_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowmeshio_output_dictOutputsWithInjectionconvert_to_xdmf\n\nconvert_to_xdmf: dict\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366Inputsobj\n\nobj\n\n\n\nclustermy_workflowmeshio_output_dictOutputsWithInjectionconvert_to_xdmf->clustermy_workflowinjected_GetItem_m7197572853956972366Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092Inputsobj\n\nobj\n\n\n\nclustermy_workflowmeshio_output_dictOutputsWithInjectionconvert_to_xdmf->clustermy_workflowinjected_GetItem_5401042856615209092Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowpoisson_dictInputsmeshio_output_xdmf\n\nmeshio_output_xdmf: str\n\n\n\nclustermy_workflowinjected_GetItem_m7197572853956972366OutputsWithInjectiongetitem->clustermy_workflowpoisson_dictInputsmeshio_output_xdmf\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowpoisson_dictInputsmeshio_output_h5\n\nmeshio_output_h5: str\n\n\n\nclustermy_workflowinjected_GetItem_5401042856615209092OutputsWithInjectiongetitem->clustermy_workflowpoisson_dictInputsmeshio_output_h5\n\n\n\n\n\n\nclustermy_workflowpoisson_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowpoisson_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowpoisson_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowpoisson_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowpoisson_dictOutputsWithInjectionpoisson\n\npoisson: dict\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609Inputsobj\n\nobj\n\n\n\nclustermy_workflowpoisson_dictOutputsWithInjectionpoisson->clustermy_workflowinjected_GetItem_5839915180513303609Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100Inputsobj\n\nobj\n\n\n\nclustermy_workflowpoisson_dictOutputsWithInjectionpoisson->clustermy_workflowinjected_GetItem_m3497348724979863100Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458Inputsobj\n\nobj\n\n\n\nclustermy_workflowpoisson_dictOutputsWithInjectionpoisson->clustermy_workflowinjected_GetItem_m6105838930489235458Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowpvbatch_output_fileInputspoisson_output_pvd_file\n\npoisson_output_pvd_file: str\n\n\n\nclustermy_workflowinjected_GetItem_5839915180513303609OutputsWithInjectiongetitem->clustermy_workflowpvbatch_output_fileInputspoisson_output_pvd_file\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowpvbatch_output_fileInputspoisson_output_vtu_file\n\npoisson_output_vtu_file: str\n\n\n\nclustermy_workflowinjected_GetItem_m3497348724979863100OutputsWithInjectiongetitem->clustermy_workflowpvbatch_output_fileInputspoisson_output_vtu_file\n\n\n\n\n\n\nclustermy_workflowpvbatch_output_fileInputsrun\n\nrun\n\n\n\nclustermy_workflowpvbatch_output_fileOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowpvbatch_output_fileInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowpvbatch_output_fileOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowpvbatch_output_fileOutputsWithInjectionplot_over_line\n\nplot_over_line: str\n\n\n\nclustermy_workflowmacros_tex_fileInputspvbatch_output_file\n\npvbatch_output_file: str\n\n\n\nclustermy_workflowpvbatch_output_fileOutputsWithInjectionplot_over_line->clustermy_workflowmacros_tex_fileInputspvbatch_output_file\n\n\n\n\n\n\nclustermy_workflowpaper_outputInputsplot_file\n\nplot_file: str\n\n\n\nclustermy_workflowpvbatch_output_fileOutputsWithInjectionplot_over_line->clustermy_workflowpaper_outputInputsplot_file\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowmacros_tex_fileInputsndofs\n\nndofs: int\n\n\n\nclustermy_workflowinjected_GetItem_m6105838930489235458OutputsWithInjectiongetitem->clustermy_workflowmacros_tex_fileInputsndofs\n\n\n\n\n\n\nclustermy_workflowmacros_tex_fileInputsrun\n\nrun\n\n\n\nclustermy_workflowmacros_tex_fileOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowmacros_tex_fileInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowmacros_tex_fileOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowmacros_tex_fileOutputsWithInjectionsubstitute_macros\n\nsubstitute_macros: str\n\n\n\nclustermy_workflowpaper_outputInputsmacros_tex\n\nmacros_tex: str\n\n\n\nclustermy_workflowmacros_tex_fileOutputsWithInjectionsubstitute_macros->clustermy_workflowpaper_outputInputsmacros_tex\n\n\n\n\n\n\nclustermy_workflowpaper_outputInputsrun\n\nrun\n\n\n\nclustermy_workflowpaper_outputOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowpaper_outputInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowpaper_outputOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowpaper_outputOutputsWithInjectioncompile_paper\n\ncompile_paper: str\n\n\n\nclustermy_workflowpaper_outputOutputsWithInjectioncompile_paper->clustermy_workflowOutputsWithInjectionpaper_output__compile_paper\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":14},{"id":"63f29646-3846-4a97-a033-20e9df0ac214","cell_type":"code","source":"workflow_json_filename = \"pyiron_workflow_nfdi.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"id":"f62111ba-9271-4987-9c7e-3b1c9f9eae7a","cell_type":"code","source":"write_workflow_json(graph_as_dict=wf.graph_as_dict, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"id":"d789971e-8f41-45fa-832a-11fd72dea96e","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"a6e85e89-5d7a-40eb-809c-ac44974e3fd7","cell_type":"code","source":"from aiida import load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":17,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":17},{"id":"3de84fb7-b01b-4541-868a-92e881eb6e77","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"id":"b33f5528-10cd-47c8-8723-622902978859","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)\nwg","metadata":{"trusted":true},"outputs":[{"execution_count":19,"output_type":"execute_result","data":{"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":1,"model_id":"6641ced7603742b8b28900587d764b7c"}},"metadata":{}}],"execution_count":19},{"id":"15282ca1-d339-40e7-ad68-8a7613ed08da","cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"05/24/2025 09:30:18 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_mesh1\n05/24/2025 09:30:20 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|update_task_state]: Task: generate_mesh1, type: PyFunction, finished.\n05/24/2025 09:30:20 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: convert_to_xdmf2\n05/24/2025 09:30:22 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|update_task_state]: Task: convert_to_xdmf2, type: PyFunction, finished.\n05/24/2025 09:30:22 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: poisson3\n05/24/2025 09:30:30 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|update_task_state]: Task: poisson3, type: PyFunction, finished.\n05/24/2025 09:30:30 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_over_line4\n05/24/2025 09:30:33 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|update_task_state]: Task: plot_over_line4, type: PyFunction, finished.\n05/24/2025 09:30:33 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: substitute_macros5\n05/24/2025 09:30:34 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|update_task_state]: Task: substitute_macros5, type: PyFunction, finished.\n05/24/2025 09:30:34 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: compile_paper6\n05/24/2025 09:30:50 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|update_task_state]: Task: compile_paper6, type: PyFunction, finished.\n05/24/2025 09:30:50 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n05/24/2025 09:30:50 AM <282> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [3|WorkGraphEngine|finalize]: Finalize workgraph.\n"}],"execution_count":20},{"id":"55dc8d12-dfe6-4465-a368-b7e590ae6800","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"dff46eb8-e0e7-49bb-8c40-0db2df133124","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":21},{"id":"6a189459-84e4-4738-ada1-37ee8c65b2ab","cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":22},{"id":"6e7f3614-c971-4e2d-83f0-96f0d0fc04de","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":23},{"id":"2d87ed45-f5d9-403f-a03a-26be4a47a3ef","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-05-24 09:31:15,165 INFO Started executing jobs locally\n2025-05-24 09:31:15,364 INFO Starting job - generate_mesh (4cc4e3d9-39aa-4c20-a047-a029b6812d61)\n2025-05-24 09:31:16,480 INFO Finished job - generate_mesh (4cc4e3d9-39aa-4c20-a047-a029b6812d61)\n2025-05-24 09:31:16,481 INFO Starting job - convert_to_xdmf (8527c563-c0b1-4ae5-a6c3-00ae25ad2508)\n2025-05-24 09:31:17,834 INFO Finished job - convert_to_xdmf (8527c563-c0b1-4ae5-a6c3-00ae25ad2508)\n2025-05-24 09:31:17,836 INFO Starting job - poisson (58b31d24-51f9-4b9a-ac3e-88a7f01a09ad)\n2025-05-24 09:31:20,318 INFO Finished job - poisson (58b31d24-51f9-4b9a-ac3e-88a7f01a09ad)\n2025-05-24 09:31:20,318 INFO Starting job - plot_over_line (b095dc38-f858-4c34-876c-df8f8b851a5f)\n2025-05-24 09:31:21,717 INFO Finished job - plot_over_line (b095dc38-f858-4c34-876c-df8f8b851a5f)\n2025-05-24 09:31:21,718 INFO Starting job - substitute_macros (656e820d-20d5-4665-bb8a-43807ed6b2e9)\n2025-05-24 09:31:22,542 INFO Finished job - substitute_macros (656e820d-20d5-4665-bb8a-43807ed6b2e9)\n2025-05-24 09:31:22,543 INFO Starting job - compile_paper (52de4e6d-7574-401b-bcdb-ae6c298cc6b9)\n2025-05-24 09:31:24,556 INFO Finished job - compile_paper (52de4e6d-7574-401b-bcdb-ae6c298cc6b9)\n2025-05-24 09:31:24,557 INFO Finished executing jobs locally\n"},{"execution_count":24,"output_type":"execute_result","data":{"text/plain":"{'4cc4e3d9-39aa-4c20-a047-a029b6812d61': {1: Response(output='/home/jovyan/example_workflows/nfdi/preprocessing/square.msh', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/nfdi'))},\n '8527c563-c0b1-4ae5-a6c3-00ae25ad2508': {1: Response(output={'xdmf_file': '/home/jovyan/example_workflows/nfdi/preprocessing/square.xdmf', 'h5_file': '/home/jovyan/example_workflows/nfdi/preprocessing/square.h5'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/nfdi'))},\n '58b31d24-51f9-4b9a-ac3e-88a7f01a09ad': {1: Response(output={'numdofs': 357, 'pvd_file': '/home/jovyan/example_workflows/nfdi/processing/poisson.pvd', 'vtu_file': '/home/jovyan/example_workflows/nfdi/processing/poisson000000.vtu'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/nfdi'))},\n 'b095dc38-f858-4c34-876c-df8f8b851a5f': {1: Response(output='/home/jovyan/example_workflows/nfdi/postprocessing/plotoverline.csv', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/nfdi'))},\n '656e820d-20d5-4665-bb8a-43807ed6b2e9': {1: Response(output='/home/jovyan/example_workflows/nfdi/postprocessing/macros.tex', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/nfdi'))},\n '52de4e6d-7574-401b-bcdb-ae6c298cc6b9': {1: Response(output='/home/jovyan/example_workflows/nfdi/postprocessing/paper.pdf', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/nfdi'))}}"},"metadata":{}}],"execution_count":24},{"id":"ebd3248b-ff75-40bf-a488-b5e338342671","cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"id":"c7e1047f-0d42-4777-911d-ab405396401a","cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":25},{"id":"6aeba274-10d3-4e79-8ee4-4d870f163939","cell_type":"code","source":"delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\ndelayed_object_lst[-1].draw()","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_ba0bf2668d8f7b42ff717c2cb79b5920\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d9280>\n\n\n\nplot_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\nplot_file=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d8da0>\n\n\n\nplot_file_5007b1d67345934b2ffcdeaaad6ea2ab->create_function_job_ba0bf2668d8f7b42ff717c2cb79b5920\n\n\n\n\n\npoisson_output_vtu_file_51141ca0ec0a07922807865d8a067793\n\npoisson_output_vtu_file=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d8a40>\n\n\n\npoisson_output_vtu_file_51141ca0ec0a07922807865d8a067793->plot_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\n\n\n\n\npvbatch_output_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\npvbatch_output_file=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d8da0>\n\n\n\npoisson_output_vtu_file_51141ca0ec0a07922807865d8a067793->pvbatch_output_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\n\n\n\n\nmacros_tex_02d82cedf90ad323f7eef57ddf383160\n\nmacros_tex=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d9070>\n\n\n\npvbatch_output_file_5007b1d67345934b2ffcdeaaad6ea2ab->macros_tex_02d82cedf90ad323f7eef57ddf383160\n\n\n\n\n\nmeshio_output_h5_0af06cb14e9ddc7585647c44e4d4ef88\n\nmeshio_output_h5=<pyiron_base.project.delayed.DelayedObject object at 0x76dba3cb2600>\n\n\n\nmeshio_output_h5_0af06cb14e9ddc7585647c44e4d4ef88->poisson_output_vtu_file_51141ca0ec0a07922807865d8a067793\n\n\n\n\n\npoisson_output_pvd_file_0440a581658dfd1533b4c5d08eaf8513\n\npoisson_output_pvd_file=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d8a10>\n\n\n\nmeshio_output_h5_0af06cb14e9ddc7585647c44e4d4ef88->poisson_output_pvd_file_0440a581658dfd1533b4c5d08eaf8513\n\n\n\n\n\nndofs_ac7427db28c0527371c0e9b27a57024b\n\nndofs=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d8e30>\n\n\n\nmeshio_output_h5_0af06cb14e9ddc7585647c44e4d4ef88->ndofs_ac7427db28c0527371c0e9b27a57024b\n\n\n\n\n\npoisson_output_pvd_file_0440a581658dfd1533b4c5d08eaf8513->plot_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\n\n\n\n\npoisson_output_pvd_file_0440a581658dfd1533b4c5d08eaf8513->pvbatch_output_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\n\n\n\n\nndofs_ac7427db28c0527371c0e9b27a57024b->macros_tex_02d82cedf90ad323f7eef57ddf383160\n\n\n\n\n\ngmsh_output_file_6ef41eb684984daa8337ee65c2aa9f18\n\ngmsh_output_file=<pyiron_base.project.delayed.DelayedObject object at 0x76dba89319d0>\n\n\n\ngmsh_output_file_6ef41eb684984daa8337ee65c2aa9f18->meshio_output_h5_0af06cb14e9ddc7585647c44e4d4ef88\n\n\n\n\n\nmeshio_output_xdmf_c383e7d9f83d7cdc8ae04ebf9c264173\n\nmeshio_output_xdmf=<pyiron_base.project.delayed.DelayedObject object at 0x76dba30d8710>\n\n\n\ngmsh_output_file_6ef41eb684984daa8337ee65c2aa9f18->meshio_output_xdmf_c383e7d9f83d7cdc8ae04ebf9c264173\n\n\n\n\n\nmeshio_output_xdmf_c383e7d9f83d7cdc8ae04ebf9c264173->poisson_output_vtu_file_51141ca0ec0a07922807865d8a067793\n\n\n\n\n\nmeshio_output_xdmf_c383e7d9f83d7cdc8ae04ebf9c264173->poisson_output_pvd_file_0440a581658dfd1533b4c5d08eaf8513\n\n\n\n\n\nmeshio_output_xdmf_c383e7d9f83d7cdc8ae04ebf9c264173->ndofs_ac7427db28c0527371c0e9b27a57024b\n\n\n\n\n\ndomain_size_f12a7f1986b9dd058dfc666dbe230b20\n\ndomain_size=2.0\n\n\n\ndomain_size_f12a7f1986b9dd058dfc666dbe230b20->gmsh_output_file_6ef41eb684984daa8337ee65c2aa9f18\n\n\n\n\n\ndomain_size_f12a7f1986b9dd058dfc666dbe230b20->macros_tex_02d82cedf90ad323f7eef57ddf383160\n\n\n\n\n\nmacros_tex_02d82cedf90ad323f7eef57ddf383160->create_function_job_ba0bf2668d8f7b42ff717c2cb79b5920\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696\n\nsource_directory=/home/jovyan/example_workflows/nfdi/source\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->create_function_job_ba0bf2668d8f7b42ff717c2cb79b5920\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->plot_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->poisson_output_vtu_file_51141ca0ec0a07922807865d8a067793\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->pvbatch_output_file_5007b1d67345934b2ffcdeaaad6ea2ab\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->poisson_output_pvd_file_0440a581658dfd1533b4c5d08eaf8513\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->ndofs_ac7427db28c0527371c0e9b27a57024b\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->gmsh_output_file_6ef41eb684984daa8337ee65c2aa9f18\n\n\n\n\n\nsource_directory_053958014e7cd4a4df22cfa51c9fc696->macros_tex_02d82cedf90ad323f7eef57ddf383160\n\n\n\n\n"},"metadata":{}}],"execution_count":26},{"id":"ea92c7ad-afef-423c-b8fa-9d24c1267c73","cell_type":"code","source":"delayed_object_lst[-1].pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job generate_mesh_47725c16637f799ac042e47468005db3 was saved and received the ID: 1\nThe job convert_to_xdmf_d6a46eb9a4ec352aa996e783ec3c785f was saved and received the ID: 2\nThe job poisson_3c147fc86db87cf0c0f94bda333f8cd8 was saved and received the ID: 3\nThe job plot_over_line_ef50933291910dadcc8311924971e127 was saved and received the ID: 4\nThe job substitute_macros_63766eafd6b1980c7832dd8c9a97c96e was saved and received the ID: 5\nThe job compile_paper_128d1d58374953c00e95b8de62cbb10b was saved and received the ID: 6\n"},{"execution_count":27,"output_type":"execute_result","data":{"text/plain":"'/home/jovyan/example_workflows/nfdi/postprocessing/paper.pdf'"},"metadata":{}}],"execution_count":27},{"id":"32287743-e59a-467c-92fe-8586f199e36e","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file From f72e7f164b9e9928074aa95bd2c950101cb626d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 07:27:11 +0200 Subject: [PATCH 17/29] dynamic get_dict() function --- .../pyiron_workflow.py | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index f634f6e..8972825 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -4,7 +4,7 @@ from typing import Any import numpy as np -from pyiron_workflow import function_node, Workflow +from pyiron_workflow import as_function_node, function_node, Workflow from pyiron_workflow.api import Function from python_workflow_definition.models import PythonWorkflowDefinitionWorkflow @@ -209,6 +209,15 @@ def import_from_string(library_path: str) -> Any: return obj +def generate_function(args_of_lst): + lines = "def get_dict(" + ", ".join(args_of_lst) + "):\n" + lines += " return {\n" + for parameter in args_of_lst: + lines += ' "' + parameter + '": ' + parameter + ",\n" + lines += " }" + return lines + + def load_workflow_json(file_name: str) -> Workflow: content = remove_result( PythonWorkflowDefinitionWorkflow.load_json_file(file_name=file_name) @@ -225,7 +234,19 @@ def load_workflow_json(file_name: str) -> Workflow: wf = Workflow(file_name.split(".")[0]) for node_dict in content[NODES_LABEL]: if node_dict["type"] == "function": - fnc = import_from_string(node_dict["value"]) + if node_dict["value"] == "python_workflow_definition.shared.get_dict": + exec( + generate_function( + args_of_lst=[ + edge[TARGET_PORT_LABEL] + for edge in content[EDGES_LABEL] + if edge[TARGET_LABEL] == node_dict["value"] + ] + ) + ) + fnc = eval("get_dict") + else: + fnc = import_from_string(node_dict["value"]) if total_counter_dict[node_dict["value"]] > 1: counter_dict[node_dict["value"]] += 1 name = fnc.__name__ + "_" + str(counter_dict[node_dict["value"]]) @@ -238,10 +259,10 @@ def load_workflow_json(file_name: str) -> Workflow: input_values[node_dict["id"]] = node_dict["value"] for edge_dict in content[EDGES_LABEL]: - target_id = edge_dict["target"] - target_port = edge_dict["targetPort"] - source_id = edge_dict["source"] - source_port = edge_dict["sourcePort"] + target_id = edge_dict[TARGET_LABEL] + target_port = edge_dict[TARGET_PORT_LABEL] + source_id = edge_dict[SOURCE_LABEL] + source_port = edge_dict[SOURCE_PORT_LABEL] if source_port is None: if source_id in input_values.keys(): # Parent input value From f0894f1a4f0c975b052fd00a19ceb3782b980a75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 07:37:39 +0200 Subject: [PATCH 18/29] dynamic get_list() function --- .../pyiron_workflow.py | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 8972825..b5fcac7 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -209,7 +209,7 @@ def import_from_string(library_path: str) -> Any: return obj -def generate_function(args_of_lst): +def generate_get_dict_function(args_of_lst): lines = "def get_dict(" + ", ".join(args_of_lst) + "):\n" lines += " return {\n" for parameter in args_of_lst: @@ -218,6 +218,15 @@ def generate_function(args_of_lst): return lines +def generate_get_list_function(args_of_lst): + lines = "def get_list(" + ", ".join(args_of_lst) + "):\n" + lines += " return [\n" + for parameter in args_of_lst: + lines += " " + parameter + ",\n" + lines += " ]" + return lines + + def load_workflow_json(file_name: str) -> Workflow: content = remove_result( PythonWorkflowDefinitionWorkflow.load_json_file(file_name=file_name) @@ -236,15 +245,26 @@ def load_workflow_json(file_name: str) -> Workflow: if node_dict["type"] == "function": if node_dict["value"] == "python_workflow_definition.shared.get_dict": exec( - generate_function( + generate_get_dict_function( args_of_lst=[ edge[TARGET_PORT_LABEL] for edge in content[EDGES_LABEL] - if edge[TARGET_LABEL] == node_dict["value"] + if edge[TARGET_LABEL] == node_dict["id"] ] ) ) fnc = eval("get_dict") + elif node_dict["value"] == "python_workflow_definition.shared.get_list": + exec( + generate_get_list_function( + args_of_lst=[ + edge[TARGET_PORT_LABEL] + for edge in content[EDGES_LABEL] + if edge[TARGET_LABEL] == node_dict["id"] + ] + ) + ) + fnc = eval("get_list") else: fnc = import_from_string(node_dict["value"]) if total_counter_dict[node_dict["value"]] > 1: From c0272624eaa45345919a9358cc7f160217e909c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 07:52:18 +0200 Subject: [PATCH 19/29] add s_ to input parameters --- .../src/python_workflow_definition/pyiron_workflow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index b5fcac7..410443e 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -258,7 +258,7 @@ def load_workflow_json(file_name: str) -> Workflow: exec( generate_get_list_function( args_of_lst=[ - edge[TARGET_PORT_LABEL] + "s_" + edge[TARGET_PORT_LABEL] for edge in content[EDGES_LABEL] if edge[TARGET_LABEL] == node_dict["id"] ] From 39b9d56c22fea7c08dd5940a5c6220f10661a509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 08:07:03 +0200 Subject: [PATCH 20/29] uniquue child names --- .../src/python_workflow_definition/pyiron_workflow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 410443e..1e1c7eb 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -274,7 +274,7 @@ def load_workflow_json(file_name: str) -> Workflow: name = fnc.__name__ n = function_node(fnc, output_labels=name) # Strictly force single-output nodes[node_dict["id"]] = n - wf.add_child(n) + wf.add_child(child=n, label=name) elif node_dict["type"] == "input": input_values[node_dict["id"]] = node_dict["value"] From 1b245ae49616f5089db8e12cd62a38bb91d372c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 08:13:45 +0200 Subject: [PATCH 21/29] silence validation --- .../src/python_workflow_definition/pyiron_workflow.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 1e1c7eb..abbf1a0 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -272,7 +272,9 @@ def load_workflow_json(file_name: str) -> Workflow: name = fnc.__name__ + "_" + str(counter_dict[node_dict["value"]]) else: name = fnc.__name__ - n = function_node(fnc, output_labels=name) # Strictly force single-output + n = function_node( + fnc, output_labels=name, validate_output_labels=False + ) # Strictly force single-output nodes[node_dict["id"]] = n wf.add_child(child=n, label=name) elif node_dict["type"] == "input": From 613db098742b815be29bb53319c83181ce5d5b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 08:38:33 +0200 Subject: [PATCH 22/29] handle special case of get_list() --- .../python_workflow_definition/pyiron_workflow.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index abbf1a0..fad00e4 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -241,6 +241,9 @@ def load_workflow_json(file_name: str) -> Workflow: ) counter_dict = {k: -1 for k in total_counter_dict.keys()} wf = Workflow(file_name.split(".")[0]) + nodes_look_up_dict = { + node["id"]: node["value"] for node in content[NODES_LABEL] + } for node_dict in content[NODES_LABEL]: if node_dict["type"] == "function": if node_dict["value"] == "python_workflow_definition.shared.get_dict": @@ -295,8 +298,11 @@ def load_workflow_json(file_name: str) -> Workflow: injected_attribute_access = nodes[source_id].__getitem__(source_port) upstream = injected_attribute_access downstream = nodes[target_id] - setattr(downstream.inputs, target_port, upstream) # Exploit input panel magic - # Warning: edge setup routine is bespoke for an environment where all nodes return - # a single value or a dictionary + if nodes_look_up_dict[target_id] == "python_workflow_definition.shared.get_list": + setattr(downstream.inputs, "s_" + target_port, upstream) + else: + setattr(downstream.inputs, target_port, upstream) # Exploit input panel magic + # Warning: edge setup routine is bespoke for an environment where all nodes return + # a single value or a dictionary return wf From e80d591c6b55a27bbfb516533a75365a294c978a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jan=C3=9Fen?= Date: Sun, 25 May 2025 08:39:37 +0200 Subject: [PATCH 23/29] black formatting --- .../python_workflow_definition/pyiron_workflow.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index fad00e4..9b500b1 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -241,9 +241,7 @@ def load_workflow_json(file_name: str) -> Workflow: ) counter_dict = {k: -1 for k in total_counter_dict.keys()} wf = Workflow(file_name.split(".")[0]) - nodes_look_up_dict = { - node["id"]: node["value"] for node in content[NODES_LABEL] - } + nodes_look_up_dict = {node["id"]: node["value"] for node in content[NODES_LABEL]} for node_dict in content[NODES_LABEL]: if node_dict["type"] == "function": if node_dict["value"] == "python_workflow_definition.shared.get_dict": @@ -298,10 +296,15 @@ def load_workflow_json(file_name: str) -> Workflow: injected_attribute_access = nodes[source_id].__getitem__(source_port) upstream = injected_attribute_access downstream = nodes[target_id] - if nodes_look_up_dict[target_id] == "python_workflow_definition.shared.get_list": + if ( + nodes_look_up_dict[target_id] + == "python_workflow_definition.shared.get_list" + ): setattr(downstream.inputs, "s_" + target_port, upstream) else: - setattr(downstream.inputs, target_port, upstream) # Exploit input panel magic + setattr( + downstream.inputs, target_port, upstream + ) # Exploit input panel magic # Warning: edge setup routine is bespoke for an environment where all nodes return # a single value or a dictionary From a127e65b332a9c37ecaa5f8c379a32ddfe511b0b Mon Sep 17 00:00:00 2001 From: jan-janssen Date: Sun, 25 May 2025 11:20:17 +0200 Subject: [PATCH 24/29] test quantum espresso export --- .github/workflows/pipeline.yml | 1 + .../quantum_espresso/pyiron_workflow.ipynb | 4469 +++++++++++++++++ 2 files changed, 4470 insertions(+) create mode 100644 example_workflows/quantum_espresso/pyiron_workflow.ipynb diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 755ec26..4bbd8e6 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -106,6 +106,7 @@ jobs: papermill cwl.ipynb cwl_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" papermill universal_workflow.ipynb universal_workflow_out.ipynb -k "python3" arithmetic: diff --git a/example_workflows/quantum_espresso/pyiron_workflow.ipynb b/example_workflows/quantum_espresso/pyiron_workflow.ipynb new file mode 100644 index 0000000..12ba732 --- /dev/null +++ b/example_workflows/quantum_espresso/pyiron_workflow.ipynb @@ -0,0 +1,4469 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "760acc89-8c02-4bc9-a8f6-2572506b7085", + "metadata": {}, + "source": [ + "# Import and node definition" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "44aa8e82-2d78-4015-a56d-cd487aefc48f", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from pyiron_workflow import Workflow, to_function_node, as_function_node\n", + "from pyiron_workflow.api import inputs_to_dict\n", + "from python_workflow_definition.pyiron_base import write_workflow_json" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "341dab17-b329-42eb-a485-2f9326a048e9", + "metadata": {}, + "outputs": [], + "source": [ + "from workflow import (\n", + " calculate_qe as _calculate_qe, \n", + " generate_structures as _generate_structures, \n", + " get_bulk_structure as _get_bulk_structure, \n", + " plot_energy_volume_curve as _plot_energy_volume_curve,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "729a1a3a-8377-4148-9b3c-a4a866f9c4ec", + "metadata": {}, + "outputs": [], + "source": [ + "@as_function_node\n", + "def get_values_from_dict(input_dict):\n", + " return list(input_dict.values())" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "6c2711ec-25f8-4ecd-9b9a-d9af1ec81316", + "metadata": {}, + "outputs": [], + "source": [ + "workflow_json_filename = \"pyiron_workflow_qe.json\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "3e1492bc-49bd-4f9c-9703-582a5a60579b", + "metadata": {}, + "outputs": [], + "source": [ + "calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\n", + "generate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\n", + "get_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\n", + "plot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)" + ] + }, + { + "cell_type": "markdown", + "id": "f8fcdc17-446c-4caa-9089-6f1ee1baa65a", + "metadata": {}, + "source": [ + "# Build the structure \n", + "Everything works as expected. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7", + "metadata": {}, + "outputs": [], + "source": [ + "wf = Workflow(\"my_workflow\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "62268668-7f09-4fee-99d2-c770b4e558d9", + "metadata": {}, + "outputs": [], + "source": [ + "wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b2ea76b0-f79b-461f-8126-7bac3bda4422", + "metadata": {}, + "outputs": [], + "source": [ + "wf.element = \"Al\"\n", + "wf.a = 4.04\n", + "wf.cubic = True\n", + "wf.structure = get_bulk_structure(\n", + " element=wf.element,\n", + " a=wf.a,\n", + " cubic=wf.cubic,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "df1d978c-3d65-4957-951b-205d71ac9410", + "metadata": {}, + "source": [ + "# Setting up the first Quantum ESPRESSO simulation\n", + "The use of the inputs_to_dict() function is not clear: https://github.com/pyiron/pyiron_workflow/issues/648" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "4963bb5f-dc41-4964-ae98-14ed3f9fb8bd", + "metadata": {}, + "outputs": [], + "source": [ + "wf.input_generator_0 = inputs_to_dict(input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "01bc824f-c990-448c-a4da-1ff8b519e720", + "metadata": {}, + "outputs": [], + "source": [ + "wf.working_directory_0 = \"mini\"\n", + "wf.input_dict_0 = wf.input_generator_0(\n", + " structure=wf.structure,\n", + " pseudopotentials=wf.pseudopotentials,\n", + " kpts=(3, 3, 3),\n", + " calculation=\"vc-relax\",\n", + " smearing=0.02,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "95d168a1-48db-434a-b17d-abea6c1633f5", + "metadata": {}, + "outputs": [], + "source": [ + "wf.calc_mini = calculate_qe(\n", + " working_directory=wf.working_directory_0,\n", + " input_dict=wf.input_dict_0,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "ade13785-6a6e-4306-af4a-0e5aaf3f481f", + "metadata": {}, + "source": [ + "# Strain the relaxed structure " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "fbfb0107-278d-4209-883c-8c0543c5c240", + "metadata": {}, + "outputs": [], + "source": [ + "number_of_strains = 5\n", + "wf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\n", + "wf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n", + " structure=wf.calc_mini[\"structure\"],\n", + " strain_lst=wf.strain_lst,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "54b52092-2ab9-416f-bb8d-1caf95e08322", + "metadata": {}, + "source": [ + "# Static calculation for each strained structure\n", + "When accessing the strained structure for the first time, the initial structure optimization is executed even though this is not intended. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "956184d1-887a-4632-9311-b917fb5d7370", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "step 1\n", + "step 2\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "step 3\n", + "step 4\n", + "step 1\n", + "step 2\n", + "step 3\n", + "step 4\n", + "step 1\n", + "step 2\n", + "step 3\n", + "step 4\n", + "step 1\n", + "step 2\n", + "step 3\n", + "step 4\n", + "step 1\n", + "step 2\n", + "step 3\n", + "step 4\n" + ] + } + ], + "source": [ + "job_strain_lst = []\n", + "for i in range(number_of_strains):\n", + " print(\"step 1\")\n", + " setattr(wf, \"input_generator_\" + str(i+1), inputs_to_dict(input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"]))\n", + " print(\"step 2\")\n", + " setattr(wf, \"input_dict_\" + str(i+1), getattr(wf, \"input_generator_\" + str(i+1))(\n", + " structure=wf.structure_lst[\"s_\" + str(i)],\n", + " pseudopotentials=wf.pseudopotentials,\n", + " kpts=(3, 3, 3),\n", + " calculation=\"scf\",\n", + " smearing=0.02,\n", + " ))\n", + " print(\"step 3\")\n", + " setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n", + " working_directory=\"strain_\" + str(i),\n", + " input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n", + " ))\n", + " print(\"step 4\")\n", + " job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))" + ] + }, + { + "cell_type": "markdown", + "id": "d55214aa-afc2-4a52-adf9-8b4fe4b2e778", + "metadata": {}, + "source": [ + "# Collect results\n", + "Again the corresponding calculations get executed during the inputs_to_dict() stage." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "a0643f87-98f1-440e-9f0d-8cf316a69f0f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collect volume\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", + "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", + "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", + "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", + "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "collect energy\n" + ] + } + ], + "source": [ + "input_lst = [\"s_0\", \"s_1\", \"s_2\", \"s_3\", \"s_4\"]\n", + "print(\"collect volume\")\n", + "wf.volume_collector = inputs_to_dict(input_specification=input_lst)\n", + "wf.volume_dict = wf.volume_collector(\n", + " s_0=wf.calc_strain_0[\"volume\"],\n", + " s_1=wf.calc_strain_1[\"volume\"],\n", + " s_2=wf.calc_strain_2[\"volume\"],\n", + " s_3=wf.calc_strain_3[\"volume\"],\n", + " s_4=wf.calc_strain_4[\"volume\"],\n", + ")\n", + "print(\"collect energy\")\n", + "wf.energy_collector = inputs_to_dict(input_specification=input_lst)\n", + "wf.energy_dict = wf.energy_collector(\n", + " s_0=wf.calc_strain_0[\"energy\"],\n", + " s_1=wf.calc_strain_1[\"energy\"],\n", + " s_2=wf.calc_strain_2[\"energy\"],\n", + " s_3=wf.calc_strain_3[\"energy\"],\n", + " s_4=wf.calc_strain_4[\"energy\"],\n", + ")\n", + "wf.volume_lst = get_values_from_dict(\n", + " input_dict=wf.volume_dict\n", + ")\n", + "wf.energy_lst = get_values_from_dict(\n", + " input_dict=wf.energy_dict\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "df973942-ac5e-4f87-bf18-fd56ae0f527c", + "metadata": {}, + "source": [ + "# Plot results" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "96808641-c9e4-4d57-9f9c-8b1a9c1b1356", + "metadata": {}, + "outputs": [], + "source": [ + "wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)" + ] + }, + { + "cell_type": "markdown", + "id": "f85532fe-6f81-4194-a6b1-a6897f982432", + "metadata": {}, + "source": [ + "# Visualize Workflow" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "45f45321-dc88-4936-b1e2-6813e0bb63a0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflow\n", + "\n", + "my_workflow: Workflow\n", + "\n", + "clustermy_workflowInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure: get_bulk_structure\n", + "\n", + "\n", + "clustermy_workflowstructureInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowstructureOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_generator_0: InputsToDict1365555566900590814\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowcalc_mini\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calc_mini: calculate_qe\n", + "\n", + "\n", + "clustermy_workflowcalc_miniInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowcalc_miniOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_2121732433224592438: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowstructure_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "structure_lst: generate_structures\n", + "\n", + "\n", + "clustermy_workflowstructure_lstInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_generator_1: InputsToDict1365555566900590814\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_831302368360736343: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calc_strain_0: calculate_qe\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_generator_2: InputsToDict1365555566900590814\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m7206950132378112467: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calc_strain_1: calculate_qe\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_generator_3: InputsToDict1365555566900590814\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_3010464615144454563: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calc_strain_2: calculate_qe\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_generator_4: InputsToDict1365555566900590814\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_6398663130157726460: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calc_strain_3: calculate_qe\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "input_generator_5: InputsToDict1365555566900590814\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_4050008228617879629: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "calc_strain_4: calculate_qe\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowvolume_collector\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "volume_collector: InputsToDict3841241579688015087\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_7356370571618912530: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_6606372179995747352: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m4159712036009065970: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m8197230119920071064: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_2576097111653382576: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowenergy_collector\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "energy_collector: InputsToDict3841241579688015087\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_2081340579488490851: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m4142946373780503697: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m1333376181937535422: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_m5720641638564052623: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "injected_GetItem_6218974934812881568: GetItem\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568Inputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowvolume_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "volume_lst: get_values_from_dict\n", + "\n", + "\n", + "clustermy_workflowvolume_lstInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowvolume_lstOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowenergy_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "energy_lst: get_values_from_dict\n", + "\n", + "\n", + "clustermy_workflowenergy_lstInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowenergy_lstOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "clustermy_workflowplot\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "plot: plot_energy_volume_curve\n", + "\n", + "\n", + "clustermy_workflowplotInputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Inputs\n", + "\n", + "\n", + "clustermy_workflowplotOutputsWithInjection\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OutputsWithInjection\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure__element\n", + "\n", + "structure__element\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureInputselement\n", + "\n", + "element\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure__a\n", + "\n", + "structure__a\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureInputsa\n", + "\n", + "a\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure__cubic\n", + "\n", + "structure__cubic\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureInputscubic\n", + "\n", + "cubic\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__pseudopotentials\n", + "\n", + "input_generator_0__pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__pseudopotentials->clustermy_workflowinput_generator_0Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__kpts\n", + "\n", + "input_generator_0__kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__kpts->clustermy_workflowinput_generator_0Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__calculation\n", + "\n", + "input_generator_0__calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__calculation->clustermy_workflowinput_generator_0Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__smearing\n", + "\n", + "input_generator_0__smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_0__smearing->clustermy_workflowinput_generator_0Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_mini__working_directory\n", + "\n", + "calc_mini__working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniInputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_mini__input_dict\n", + "\n", + "calc_mini__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniInputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_mini__input_dict->clustermy_workflowcalc_miniInputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_2121732433224592438__item\n", + "\n", + "injected_GetItem_2121732433224592438__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_2121732433224592438__item->clustermy_workflowinjected_GetItem_2121732433224592438Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure_lst__strain_lst\n", + "\n", + "structure_lst__strain_lst\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstInputsstrain_lst\n", + "\n", + "strain_lst\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__pseudopotentials\n", + "\n", + "input_generator_1__pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__pseudopotentials->clustermy_workflowinput_generator_1Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__kpts\n", + "\n", + "input_generator_1__kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__kpts->clustermy_workflowinput_generator_1Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__calculation\n", + "\n", + "input_generator_1__calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__calculation->clustermy_workflowinput_generator_1Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__smearing\n", + "\n", + "input_generator_1__smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_1__smearing->clustermy_workflowinput_generator_1Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_831302368360736343__item\n", + "\n", + "injected_GetItem_831302368360736343__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_831302368360736343__item->clustermy_workflowinjected_GetItem_831302368360736343Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_0__working_directory\n", + "\n", + "calc_strain_0__working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_0__input_dict\n", + "\n", + "calc_strain_0__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_0__input_dict->clustermy_workflowcalc_strain_0Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__pseudopotentials\n", + "\n", + "input_generator_2__pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__pseudopotentials->clustermy_workflowinput_generator_2Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__kpts\n", + "\n", + "input_generator_2__kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__kpts->clustermy_workflowinput_generator_2Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__calculation\n", + "\n", + "input_generator_2__calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__calculation->clustermy_workflowinput_generator_2Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__smearing\n", + "\n", + "input_generator_2__smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_2__smearing->clustermy_workflowinput_generator_2Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m7206950132378112467__item\n", + "\n", + "injected_GetItem_m7206950132378112467__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m7206950132378112467__item->clustermy_workflowinjected_GetItem_m7206950132378112467Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_1__working_directory\n", + "\n", + "calc_strain_1__working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_1__input_dict\n", + "\n", + "calc_strain_1__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_1__input_dict->clustermy_workflowcalc_strain_1Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__pseudopotentials\n", + "\n", + "input_generator_3__pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__pseudopotentials->clustermy_workflowinput_generator_3Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__kpts\n", + "\n", + "input_generator_3__kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__kpts->clustermy_workflowinput_generator_3Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__calculation\n", + "\n", + "input_generator_3__calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__calculation->clustermy_workflowinput_generator_3Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__smearing\n", + "\n", + "input_generator_3__smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_3__smearing->clustermy_workflowinput_generator_3Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_3010464615144454563__item\n", + "\n", + "injected_GetItem_3010464615144454563__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_3010464615144454563__item->clustermy_workflowinjected_GetItem_3010464615144454563Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_2__working_directory\n", + "\n", + "calc_strain_2__working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_2__input_dict\n", + "\n", + "calc_strain_2__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_2__input_dict->clustermy_workflowcalc_strain_2Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__pseudopotentials\n", + "\n", + "input_generator_4__pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__pseudopotentials->clustermy_workflowinput_generator_4Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__kpts\n", + "\n", + "input_generator_4__kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__kpts->clustermy_workflowinput_generator_4Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__calculation\n", + "\n", + "input_generator_4__calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__calculation->clustermy_workflowinput_generator_4Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__smearing\n", + "\n", + "input_generator_4__smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_4__smearing->clustermy_workflowinput_generator_4Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_6398663130157726460__item\n", + "\n", + "injected_GetItem_6398663130157726460__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_6398663130157726460__item->clustermy_workflowinjected_GetItem_6398663130157726460Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_3__working_directory\n", + "\n", + "calc_strain_3__working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_3__input_dict\n", + "\n", + "calc_strain_3__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_3__input_dict->clustermy_workflowcalc_strain_3Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__pseudopotentials\n", + "\n", + "input_generator_5__pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputspseudopotentials\n", + "\n", + "pseudopotentials\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__pseudopotentials->clustermy_workflowinput_generator_5Inputspseudopotentials\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__kpts\n", + "\n", + "input_generator_5__kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputskpts\n", + "\n", + "kpts\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__kpts->clustermy_workflowinput_generator_5Inputskpts\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__calculation\n", + "\n", + "input_generator_5__calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputscalculation\n", + "\n", + "calculation\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__calculation->clustermy_workflowinput_generator_5Inputscalculation\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__smearing\n", + "\n", + "input_generator_5__smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputssmearing\n", + "\n", + "smearing\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinput_generator_5__smearing->clustermy_workflowinput_generator_5Inputssmearing\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_4050008228617879629__item\n", + "\n", + "injected_GetItem_4050008228617879629__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_4050008228617879629__item->clustermy_workflowinjected_GetItem_4050008228617879629Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_4__working_directory\n", + "\n", + "calc_strain_4__working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4Inputsworking_directory\n", + "\n", + "working_directory\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_4__input_dict\n", + "\n", + "calc_strain_4__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4Inputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputscalc_strain_4__input_dict->clustermy_workflowcalc_strain_4Inputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_7356370571618912530__item\n", + "\n", + "injected_GetItem_7356370571618912530__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_7356370571618912530__item->clustermy_workflowinjected_GetItem_7356370571618912530Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_6606372179995747352__item\n", + "\n", + "injected_GetItem_6606372179995747352__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_6606372179995747352__item->clustermy_workflowinjected_GetItem_6606372179995747352Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m4159712036009065970__item\n", + "\n", + "injected_GetItem_m4159712036009065970__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m4159712036009065970__item->clustermy_workflowinjected_GetItem_m4159712036009065970Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m8197230119920071064__item\n", + "\n", + "injected_GetItem_m8197230119920071064__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m8197230119920071064__item->clustermy_workflowinjected_GetItem_m8197230119920071064Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_2576097111653382576__item\n", + "\n", + "injected_GetItem_2576097111653382576__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_2576097111653382576__item->clustermy_workflowinjected_GetItem_2576097111653382576Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_2081340579488490851__item\n", + "\n", + "injected_GetItem_2081340579488490851__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_2081340579488490851__item->clustermy_workflowinjected_GetItem_2081340579488490851Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m4142946373780503697__item\n", + "\n", + "injected_GetItem_m4142946373780503697__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m4142946373780503697__item->clustermy_workflowinjected_GetItem_m4142946373780503697Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m1333376181937535422__item\n", + "\n", + "injected_GetItem_m1333376181937535422__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m1333376181937535422__item->clustermy_workflowinjected_GetItem_m1333376181937535422Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m5720641638564052623__item\n", + "\n", + "injected_GetItem_m5720641638564052623__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_m5720641638564052623__item->clustermy_workflowinjected_GetItem_m5720641638564052623Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_6218974934812881568__item\n", + "\n", + "injected_GetItem_6218974934812881568__item\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568Inputsitem\n", + "\n", + "item\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsinjected_GetItem_6218974934812881568__item->clustermy_workflowinjected_GetItem_6218974934812881568Inputsitem\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsvolume_lst__input_dict\n", + "\n", + "volume_lst__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstInputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsvolume_lst__input_dict->clustermy_workflowvolume_lstInputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsenergy_lst__input_dict\n", + "\n", + "energy_lst__input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstInputsinput_dict\n", + "\n", + "input_dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowInputsenergy_lst__input_dict->clustermy_workflowenergy_lstInputsinput_dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectioninput_generator_0__dict\n", + "\n", + "input_generator_0__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectioninput_generator_1__dict\n", + "\n", + "input_generator_1__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectioninput_generator_2__dict\n", + "\n", + "input_generator_2__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectioninput_generator_3__dict\n", + "\n", + "input_generator_3__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectioninput_generator_4__dict\n", + "\n", + "input_generator_4__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectioninput_generator_5__dict\n", + "\n", + "input_generator_5__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionvolume_collector__dict\n", + "\n", + "volume_collector__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionenergy_collector__dict\n", + "\n", + "energy_collector__dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n", + "\n", + "plot__plot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n", + "\n", + "get_bulk_structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_generator_0Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0OutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_0OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_0__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n", + "\n", + "calculate_qe\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2121732433224592438Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstInputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n", + "\n", + "generate_structures\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_831302368360736343Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7206950132378112467Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_3010464615144454563Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_6398663130157726460Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_4050008228617879629Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1OutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_1OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_1__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectiongetitem->clustermy_workflowinput_generator_1Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n", + "\n", + "calculate_qe\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7356370571618912530Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2081340579488490851Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2OutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_2OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_2__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectiongetitem->clustermy_workflowinput_generator_2Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n", + "\n", + "calculate_qe\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6606372179995747352Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4142946373780503697Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3OutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_3OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_3__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectiongetitem->clustermy_workflowinput_generator_3Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n", + "\n", + "calculate_qe\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4159712036009065970Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m1333376181937535422Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4OutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_4OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_4__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectiongetitem->clustermy_workflowinput_generator_4Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n", + "\n", + "calculate_qe\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m8197230119920071064Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m5720641638564052623Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5Inputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5OutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowinput_generator_5OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_5__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectiongetitem->clustermy_workflowinput_generator_5Inputsstructure\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n", + "\n", + "calculate_qe\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2576097111653382576Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568Inputsobj\n", + "\n", + "obj\n", + "\n", + "\n", + "\n", + "clustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6218974934812881568Inputsobj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputss_0\n", + "\n", + "s_0\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputss_1\n", + "\n", + "s_1\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputss_2\n", + "\n", + "s_2\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputss_3\n", + "\n", + "s_3\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorInputss_4\n", + "\n", + "s_4\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorOutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_collectorOutputsWithInjectiondict->clustermy_workflowOutputsWithInjectionvolume_collector__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputss_0\n", + "\n", + "s_0\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputss_1\n", + "\n", + "s_1\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputss_2\n", + "\n", + "s_2\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputss_3\n", + "\n", + "s_3\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorInputss_4\n", + "\n", + "s_4\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorOutputsWithInjectiondict\n", + "\n", + "dict: dict\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_collectorOutputsWithInjectiondict->clustermy_workflowOutputsWithInjectionenergy_collector__dict\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_0\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_1\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_2\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_3\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568Inputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568Inputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectiongetitem\n", + "\n", + "getitem\n", + "\n", + "\n", + "\n", + "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_4\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())\n", + "\n", + "list(input_dict.values())\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotInputsvolume_lst\n", + "\n", + "volume_lst\n", + "\n", + "\n", + "\n", + "clustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsvolume_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())\n", + "\n", + "list(input_dict.values())\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotInputsenergy_lst\n", + "\n", + "energy_lst\n", + "\n", + "\n", + "\n", + "clustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsenergy_lst\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotOutputsWithInjectionran\n", + "\n", + "ran\n", + "\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotOutputsWithInjectionfailed\n", + "\n", + "failed\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n", + "\n", + "plot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "clustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.draw(size=(10,10))" + ] + }, + { + "cell_type": "markdown", + "id": "fef7107a-5af3-4434-ae4c-a8d45e1d9b61", + "metadata": {}, + "source": [ + "# Final execution" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "cc089d38-2a37-4033-ad49-65ba22d5c564", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'input_generator_0__dict': {'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.04, 0.0, 0.0], [0.0, 4.04, 0.0], [0.0, 0.0, 4.04]], \"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.02, 2.02], [2.02, 0.0, 2.02], [2.02, 2.02, 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\": []}',\n", + " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", + " 'kpts': (3, 3, 3),\n", + " 'calculation': 'vc-relax',\n", + " 'smearing': 0.02},\n", + " 'input_generator_1__dict': {'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.9055986264548013, 0.0, 0.0], [0.0, 3.9055986264548013, 0.0], [0.0, 0.0, 3.9055986264548013]], \"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.9527993132273997, 1.9527993132273997], [1.9527993132273997, 0.0, 1.9527993132273997], [1.9527993132273997, 1.9527993132273997, 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\": []}',\n", + " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", + " 'kpts': (3, 3, 3),\n", + " 'calculation': 'scf',\n", + " 'smearing': 0.02},\n", + " 'input_generator_2__dict': {'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.9766250256920435, 0.0, 0.0], [0.0, 3.9766250256920435, 0.0], [0.0, 0.0, 3.9766250256920435]], \"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.9883125128460208, 1.9883125128460208], [1.9883125128460208, 0.0, 1.9883125128460208], [1.9883125128460208, 1.9883125128460208, 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\": []}',\n", + " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", + " 'kpts': (3, 3, 3),\n", + " 'calculation': 'scf',\n", + " 'smearing': 0.02},\n", + " 'input_generator_3__dict': {'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.045201002443034, 0.0, 0.0], [0.0, 4.045201002443034, 0.0], [0.0, 0.0, 4.045201002443034]], \"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.022600501221516, 2.022600501221516], [2.022600501221516, 0.0, 2.022600501221516], [2.022600501221516, 2.022600501221516, 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\": []}',\n", + " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", + " 'kpts': (3, 3, 3),\n", + " 'calculation': 'scf',\n", + " 'smearing': 0.02},\n", + " 'input_generator_4__dict': {'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.111527561466893, 0.0, 0.0], [0.0, 4.111527561466893, 0.0], [0.0, 0.0, 4.111527561466893]], \"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.0557637807334457, 2.0557637807334457], [2.0557637807334457, 0.0, 2.0557637807334457], [2.0557637807334457, 2.0557637807334457, 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\": []}',\n", + " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", + " 'kpts': (3, 3, 3),\n", + " 'calculation': 'scf',\n", + " 'smearing': 0.02},\n", + " 'input_generator_5__dict': {'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.175780557846108, 0.0, 0.0], [0.0, 4.175780557846108, 0.0], [0.0, 0.0, 4.175780557846108]], \"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.087890278923053, 2.087890278923053], [2.087890278923053, 0.0, 2.087890278923053], [2.087890278923053, 2.087890278923053, 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\": []}',\n", + " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", + " 'kpts': (3, 3, 3),\n", + " 'calculation': 'scf',\n", + " 'smearing': 0.02},\n", + " 'volume_collector__dict': {'s_0': 59.57483145145856,\n", + " 's_1': 62.884544309872865,\n", + " 's_2': 66.19425716828721,\n", + " 's_3': 69.50397002670157,\n", + " 's_4': 72.81368288511631},\n", + " 'energy_collector__dict': {'s_0': -1074.845158948895,\n", + " 's_1': -1074.9158838021476,\n", + " 's_2': -1074.9365252211035,\n", + " 's_3': -1074.919508024681,\n", + " 's_4': -1074.8741964554818},\n", + " 'plot__plot_energy_volume_curve': None}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/pJREFUeJzt3Xlc1HXix/HXcIPioCIgiuANeN+itlneeWSHdlJaudWuHWZWdrr1M+2w2rbt2LbU7lIzbVNcLe1Q8QYvxBMvDg8QFLnn+/sDZSMREWG+M/B+Ph7z2Gb4fof3fJdm3n2+n/l8LYZhGIiIiIhImVzMDiAiIiLiyFSWRERERMqhsiQiIiJSDpUlERERkXKoLImIiIiUQ2VJREREpBwqSyIiIiLlUFkSERERKYfKkoiIiEg5VJZEREREyqGyZJLp06fTp08ffHx88PPzq9A+hmEwbdo0goOD8fb2pn///uzYsaPk50lJSVgsljJv8+bNu+D58vLy6Ny5MxaLhbi4uMvK/95779GxY0fq1atHvXr1iIqKYunSpZf1HCIiIs5AZckk+fn5jBkzhgcffLDC+7z66qu88cYbvPPOO2zYsIGgoCAGDRrE6dOnAQgJCSElJaXU7W9/+xt16tRh2LBhFzzfE088QXBwcKXyN23alJkzZ7Jx40Y2btzItddey/XXX1+qvImIiNQIhphq9uzZhtVqveR2NpvNCAoKMmbOnFnyWG5urmG1Wo3333//ovt17tzZuOeeey54fMmSJUZ4eLixY8cOAzC2bNlS6uc7duwwhg0bZtSpU8cICAgw7rzzTuP48ePlZqxfv77x73//+5KvRURExJloZMlJHDhwgNTUVAYPHlzymKenJ1dffTVr1qwpc59NmzYRFxfHvffeW+rxtLQ0JkyYwKeffoqPj88F+6WkpHD11VfTuXNnNm7cSExMDGlpaYwdO7bM31NUVMRXX31FdnY2UVFRV/AqRUREHI+b2QGkYlJTUwEIDAws9XhgYCAHDx4sc5+PPvqIiIgI+vTpU/KYYRiMGzeOBx54gO7du5OUlHTBfu+99x5du3bl5ZdfLnns448/JiQkhN27d9OmTRsAtm3bRlRUFLm5udStW5eFCxcSGRl5pS9VRETEoWhkqQpNmzbtohOsz982btx4Rb/DYrGUum8YxgWPAeTk5PDFF19cMKr0j3/8g6ysLKZOnXrR37Fp0yZWrlxJ3bp1S27h4eEA7Nu3r2S7tm3bEhcXR2xsLA8++CB33303O3fuvJKXJyIi4nA0slSFJk6cyK233lruNmFhYZV67qCgIKB4hKlx48Yljx87duyC0SaA+fPnc/bsWe66665Sj//000/Exsbi6elZ6vHu3btzxx13MHfuXGw2GyNHjuSVV1654Hl//7s9PDxo1apVyf4bNmzg73//Ox988EGlXqOIiIgjUlmqQv7+/vj7+1fLczdv3pygoCCWL19Oly5dgOJv1P38889llpqPPvqIUaNG0ahRo1KPv/322/zf//1fyf3k5GSGDBnC119/Ta9evQDo2rUrCxYsICwsDDe3iv+JGIZBXl5eZV6eiIiIw1JZMsmhQ4dIT0/n0KFDFBUVlaxz1KpVK+rWrQtAeHg4M2bM4IYbbsBisfDoo4/y8ssv07p1a1q3bs3LL7+Mj48Pt99+e6nn3rt3L7/88gtLliy54Pc2a9as1P3zv6tly5Y0bdoUgL/+9a98+OGH3HbbbUyZMgV/f3/27t3LV199xYcffoirqytPP/00w4YNIyQkhNOnT/PVV1+xatUqYmJiqvpQiYiImEplySTPP/88c+fOLbl/frRo5cqV9O/fH4DExEQyMzNLtnniiSfIycnhL3/5CxkZGfTq1Yv//ve/+Pr6lnrujz/+mCZNmpT65tzlCA4OZvXq1Tz55JMMGTKEvLw8QkNDGTp0KC4uxdPc0tLSiI6OJiUlBavVSseOHYmJiWHQoEGV+p0iIiKOymIYhmF2CBERERFHpW/DiYiIiJRDZUlERESkHJqzVAVsNhvJycn4+vqWueaRiIiIOB7DMDh9+jTBwcElc3LLorJUBZKTkwkJCTE7hoiIiFTC4cOHS74RXhaVpSpw/ttohw8fpl69eianERERkYrIysoiJCTkgm+V/5HKUhU4f+qtXr16KksiIiJO5lJTaDTBW0RERKQcKksiIiIi5VBZEhERESmHypKIiIhIOVSWRERERMqhsiQiIiJSDpUlERERkXKoLImIiIiUQ2VJREREpBwqSyIiIiLlUFkSERERKYfKkoiIiEg5VJYcmGEYrNt/kpz8IrOjiIiI1FoqSw7swc82c8u/Ylm45ajZUURERGotlSUH1j2sPgBz1hzAMAyT04iIiNROKksObGyPEOp4uLI77Qyr9540O46IiEitpLLkwOp5uXNzt6YAzF59wOQ0IiIitZPKkoO7u08YAD8lHiPpRLa5YURERGohlSUH16JRXa5p2wjDgDlrksyOIyIiUuuoLDmB8X2bAzB/0xFO5xaYnEZERKR2UVlyAle19qdVQF3O5BUyb+MRs+OIiIjUKipLTsBisTDu3NyluWuTKLJpGQERERF7UVlyEjd2bUI9LzcOnjzLyl3HzI4jIiJSa6gsOQkfDzdu69kMgNlrtIyAiIiIvagsOZHoqFBcLLB670kSU0+bHUdERKRWUFlyIk3r+zCkXRBQfAkUERERqX4qS07m/DIC324+SkZ2vslpREREaj6VJSfTI6w+7YLrkVdo48sNh8yOIyIiUuOpLDkZi8VSMrr06dqDFBTZTE4kIiJSs6ksOaGRnRrjX9eDlMxclu1INTuOiIhIjaay5IQ83Vy5vVcoALNXJ5kbRkREpIZTWXJSd/ZuhrurhU0HM9h65JTZcURERGoslSUnFeDrxYiOwQDM0eiSiIhItVFZcmLnrxf3/dZkjp3ONTeMiIhIDaWy5MQ6hfjRtZkfBUUGn8dqGQEREZHqoLLk5M4vI/D5uoPkFRaZnEZERKTmUVlyckPbBxFUz4sTZ/L5T3yK2XFERERqHJUlJ+fu6kJ01LllBNYcwDAMkxOJiIjULCpLNcDtPZvh6ebC9qNZbDyYYXYcERGRGkVlqQaoX8eDG7o0AWD26gMmpxEREalZVJZqiHF9wwBYtiONo6dyzA0jIiJSg6gs1RDhQfXo07IhRTaDT9YmmR1HRESkxlBZqkHOLyPw1frDnM0vNDmNiIhIzaCyVINcGx5AswY+ZOYUsHDLUbPjiIiI1AgqSzWIq4uFu89dAmXO6iQtIyAiIlIFVJZqmDHdm1LHw5U9x87w294TZscRERFxeipLNUw9L3fGdA8BYPbqJHPDiIiI1AAqSzXQ3X3CsFjgp13HOHAi2+w4IiIiTk1lqQZq7l+Ha9oGADB3TZK5YURERJycylINNf7cIpXzNh4mK7fA3DAiIiJOTGWphurXyp/WAXXJzi9i3sYjZscRERFxWipLNZTFYim5BMrcNUkU2bSMgIiISGWoLNVgN3ZpitXbnUPpZ/lp1zGz44iIiDgllaUazNvDlVt7nl9G4IDJaURERJyTylINd1dUGC4WWLPvJLtSs8yOIyIi4nRUlmq4Jn7eDGkXBGgZARERkcpQWaoFxvdtDsC3m4+SkZ1vchoRERHnorJUC/QIq0+74HrkFdr4csMhs+OIiIg4FZWlWsBisZSMLn269iAFRTaTE4mIiDgPlaVaYmSnxvjX9SAlM5dlO1LNjiMiIuI0VJZqCU83V27vFQrA7NVJ5oYRERFxIipLtcidvZvh7mph08EMth45ZXYcERERp6CyVIsE+HoxomMwoNElERGRilJZqmXGn7te3H+2JnMsK9fcMCIiIk7AacpSRkYG0dHRWK1WrFYr0dHRnDp1qtx9zpw5w8SJE2natCne3t5ERETw3nvvXbDd2rVrufbaa6lTpw5+fn7079+fnJycanol5urY1I9uofUpKDL4bJ2WERAREbkUpylLt99+O3FxccTExBATE0NcXBzR0dHl7jNp0iRiYmL47LPPSEhIYNKkSTz00EMsWrSoZJu1a9cydOhQBg8ezPr169mwYQMTJ07ExcVpDs1lOz+69MW6g+QVFpkbRkRExMFZDMMwzA5xKQkJCURGRhIbG0uvXr0AiI2NJSoqil27dtG2bdsy92vfvj233HILzz33XMlj3bp147rrruOll14CoHfv3gwaNKjkfmVkZWVhtVrJzMykXr16lX4eeykosvGnV1eSkpnL62M6cXO3pmZHEhERsbuKfn47xfDJ2rVrsVqtJUUJikuO1WplzZo1F92vX79+LF68mKNHj2IYBitXrmT37t0MGTIEgGPHjrFu3ToCAgLo06cPgYGBXH311fz222/V/prM5O7qQnTU+WUEDuAEfVlERMQ0TlGWUlNTCQgIuODxgIAAUlMvvsDi22+/TWRkJE2bNsXDw4OhQ4fy7rvv0q9fPwD2798PwLRp05gwYQIxMTF07dqVAQMGsGfPnos+b15eHllZWaVuzua2Hs3wcndhR3IWG5IyzI4jIiLisEwtS9OmTcNisZR727hxI1B8yY4/MgyjzMfPe/vtt4mNjWXx4sVs2rSJWbNm8Ze//IUVK1YAYLMVX/bj/vvvZ/z48XTp0oU333yTtm3b8vHHH1/0eWfMmFEy0dxqtRISEnIlh8EU9et4cEOXJkDx6JKIiIiUzc3MXz5x4kRuvfXWcrcJCwtj69atpKWlXfCz48ePExgYWOZ+OTk5PP300yxcuJDhw4cD0LFjR+Li4nj99dcZOHAgjRs3BiAyMrLUvhERERw6dPFvik2dOpXHHnus5H5WVpZTFqZxfZrz5frDLNuRypGMszSt72N2JBEREYdjalny9/fH39//kttFRUWRmZnJ+vXr6dmzJwDr1q0jMzOTPn36lLlPQUEBBQUFF3yrzdXVtWREKSwsjODgYBITE0tts3v3boYNG3bRPJ6ennh6el4yt6NrG+RL31YNWb33JJ+uPcjU6yLMjiQiIuJwnGLOUkREBEOHDmXChAnExsYSGxvLhAkTGDFiRKlvwoWHh7Nw4UIA6tWrx9VXX82UKVNYtWoVBw4cYM6cOXzyySfccMMNQPGpvSlTpvD2228zf/589u7dy3PPPceuXbu49957TXmt9ja+T3MAvlx/iLP5hSanERERcTymjixdjs8//5yHH36YwYMHAzBq1CjeeeedUtskJiaSmZlZcv+rr75i6tSp3HHHHaSnpxMaGsr06dN54IEHSrZ59NFHyc3NZdKkSaSnp9OpUyeWL19Oy5Yt7fPCTHZteAChDX04ePIs324+yp29Q82OJCIi4lCcYp0lR+ds6yz90ce/HeDF/+ykVUBdlk/6U7mT5kVERGqKGrXOklSvMd2bUtfTjb3HzvDrnhNmxxEREXEoKkuCr5d7ySreWkZARESkNJUlAeDuPmFYLLAy8TgHTmSbHUdERMRhqCwJAM3963BN2+JV0ueuSTI3jIiIiANRWZIS4/uGATBv42GycgvMDSMiIuIgVJakRL9W/rQOqEt2fhHzNh4xO46IiIhDUFmSEhaLhXHnRpfmrkmiyKZVJURERFSWpJQbuzTF6u3OofSz/LTrmNlxRERETKeyJKV4e7hya8/iiwJrGQERERGVJSnDXVFhuLpYWLPvJLtSs8yOIyIiYiqVJblAEz9vhrQLBGDO6iRzw4iIiJhMZUnKNL5vcwAWbjlKena+yWlERETMo7IkZeoeWp/2TeqRV2jjy/WHzI4jIiJiGpUlKZPFYmF8n+LRpU/XHqSgyGZyIhEREXOoLMlFjejUGP+6nqRm5RKzPdXsOCIiIqZQWZKL8nRz5Y5ezQAtIyAiIrWXypKU647ezXB3tbD50CniD58yO46IiIjdqSxJuQJ8vRjZMRjQ6JKIiNROKktySeeXEfhhWwrHsnJNTiMiImJfKktySR2aWukeWp+CIoPPYg+aHUdERMSuVJakQs6PLn2+7hC5BUUmpxEREbEflSWpkCHtAgm2enEyO5/v45PNjiMiImI3KktSIW6uLkRHhQEwe3UShmGYG0hERMROVJakwm7tEYKXuws7U7JYfyDd7DgiIiJ2obIkFVa/jgc3dGkCFI8uiYiI1AYqS3JZxp27Xtx/d6ZyJOOsyWlERESqn8qSXJa2Qb70bdUQm1F8gV0REZGaTmVJLtv4c6NLX64/xNn8QpPTiIiIVC+VJbls14YHENrQh6zcQr7dfNTsOCIiItVKZUkum4uLhbvPLSMwZ42WERARkZpNZUkqZUz3ptT1dGPvsTP8uueE2XFERESqjcqSVIqvlzs3d2sKwOzVB0xOIyIiUn1UlqTSxvUJw2KBlYnH2X/8jNlxREREqoXKklRamH8drm0bAMDcNUnmhhEREakmKktyRcb3LV5GYP6mI2TlFpicRkREpOqpLMkV6duqIW0C65KdX8Q3Gw6bHUdERKTKqSzJFbFYLCWXQJm7Nokim5YREBGRmkVlSa7YDV2a4OfjzuH0HH5MSDM7joiISJVSWZIr5u3hyq09mgEwe3WSuWFERESqmMqSVIm7okJxdbGwdv9JElKyzI4jIiJSZVSWpEoE+3kztF0QAHM0uiQiIjWIypJUmfF9wwD4Lu4o6dn55oYRERGpIipLUmW6hdanQxMreYU2vlx/yOw4IiIiVUJlSaqMxWIpGV36dO1BCops5gYSERGpAipLUqWGd2yMf11PUrNyWbo91ew4IiLi5A6dPMuHv+w3dR0/lSWpUp5urtzR6/wyAgdMTiMiIs7MZjN4fF4805ckMP2HBNNyqCxJlbujdzPcXS1sOXSKuMOnzI4jIiJO6uPVB1iflI6Phyvj+oSZlkNlSapcgK8XIzsGAxpdEhGRytl3/AyvLUsE4JnhETRr6GNaFpUlqRbj+xZfL+6HrSmkZeWanEZERJxJYZGNyd/Ek1do46rW/tzes5mpeVSWpFp0aGqle2h9Cm0Gn8ceNDuOiIg4kX/9up+4w6fw9XTjlZs6YrFYTM2jsiTV5vzo0ufrDpFbUGRyGhERcQaJqad5a/keAJ4fGUmwn7fJiVSWpBoNaRdIsNWLk9n5fB+fbHYcERFxcAVFNh77Jo78IhsDwgO4uVtTsyMBKktSjdxcXYiOCgNg9uokDMO8NTJERMTxvfPTXnYkZ+Hn486MGzuYfvrtPJUlqVa39QzBy92FnSlZrD+QbnYcERFxUNuPZvLPlXsBePH69gTU8zI50f+oLEm18vPx4IYuxcOos1cnmRtGREQcUl5hEY99E0ehzeC6DkGM7NjY7EilqCxJtTt/vbj/7kzlcPpZc8OIiIjDeWvFHnannaFhHQ9eur69w5x+O09lSapdm0Bf+rXyx2bAp1pGQEREfmfzoQw++HkfANNv6EDDup4mJ7qQypLYxfnRpa/WH+JsfqG5YURExCHk5Bfx+Dfx2Ay4oUsThrYPMjtSmVSWxC6uaRtAWEMfsnILWbD5qNlxRETEAby2LJH9J7IJrOfJtJHtzI5zUSpLYhcuLhbuPncRxDmrD2CzaRkBEZHabN3+k8xeU3z90Jk3dcTq425yootTWRK7ublbU+p6urHveDa/7j1hdhwRETFJdl4hj8+PxzDglu4hXNM2wOxI5VJZErvx9XJnTPfzywgcMDmNiIiYZcbSBA6n59DEz5tnR0SYHeeSVJbErsb1CcNigVWJx9l3/IzZcURExM5+3XOcz2IPAfDqzR3x9XLc02/nOU1ZysjIIDo6GqvVitVqJTo6mlOnTpW7z5kzZ5g4cSJNmzbF29ubiIgI3nvvvVLbpKamEh0dTVBQEHXq1KFr167Mnz+/Gl9J7RbasA4DwouHW+euSTI3jIiI2FVWbgFPzN8KwF1RofRt5W9yoopxmrJ0++23ExcXR0xMDDExMcTFxREdHV3uPpMmTSImJobPPvuMhIQEJk2axEMPPcSiRYtKtomOjiYxMZHFixezbds2brzxRm655Ra2bNlS3S+p1hrftzkA8zcdITOnwOQ0IiJiLy99v5OUzFxCG/rw1LBws+NUmFOUpYSEBGJiYvj3v/9NVFQUUVFRfPjhh/znP/8hMTHxovutXbuWu+++m/79+xMWFsaf//xnOnXqxMaNG0tt89BDD9GzZ09atGjBs88+i5+fH5s3b7bHS6uV+rRsSJvAupzNL2LexsNmxxERETv4MSGNeZuOYLHA62M64ePhZnakCnOKsrR27VqsViu9evUqeax3795YrVbWrFlz0f369evH4sWLOXr0KIZhsHLlSnbv3s2QIUNKbfP111+Tnp6OzWbjq6++Ii8vj/79+1/0efPy8sjKyip1k4qzWCyM61M8ujRnTRJFWkZARKRGO3U2n6e+3QbAvX2b0yOsgcmJLo9TlKXU1FQCAi78WmFAQACpqakX3e/tt98mMjKSpk2b4uHhwdChQ3n33Xfp169fyTZff/01hYWFNGzYEE9PT+6//34WLlxIy5YtL/q8M2bMKJk7ZbVaCQkJubIXWAvd0KUJfj7uHMnIYUVCmtlxRESkGr2weAfHT+fRslEdHh/S1uw4l83UsjRt2jQsFku5t/OnzMq6qJ5hGOVebO/tt98mNjaWxYsXs2nTJmbNmsVf/vIXVqxYUbLNs88+S0ZGBitWrGDjxo089thjjBkzhm3btl30eadOnUpmZmbJ7fBhnUq6XN4ertzaoxmgZQRERGqypdtSWBSXjIsFZo3tjJe7q9mRLpvFMAzTzoGcOHGCEyfKX5wwLCyML774gscee+yCb7/5+fnx5ptvMn78+Av2y8nJwWq1snDhQoYPH17y+H333ceRI0eIiYlh3759tGrViu3bt9Ou3f+WWR84cCCtWrXi/fffr9DryMrKwmq1kpmZSb169Sq0j0DyqRyuenUlRTaDpY9cRURjHTsRkZrkxJk8Br/5C+nZ+fz1mpZMGeJYk7or+vlt6uwqf39//P0v/bXBqKgoMjMzWb9+PT179gRg3bp1ZGZm0qdPnzL3KSgooKCgABeX0oNnrq6u2Gw2AM6ePQtQ7jZSfYL9vBnaLogftqUwe/UBXr25k9mRRESkihiGwbMLt5OenU94kC8PD2htdqRKc4o5SxEREQwdOpQJEyYQGxtLbGwsEyZMYMSIEbRt+79zn+Hh4SxcuBCAevXqcfXVVzNlyhRWrVrFgQMHmDNnDp988gk33HBDyfatWrXi/vvvZ/369ezbt49Zs2axfPlyRo8ebcZLrXXG9w0D4Lu4ZNKz880NIyIiVWZxfDIxO1Jxc7Ewa2wnPN2c7/TbeU5RlgA+//xzOnTowODBgxk8eDAdO3bk008/LbVNYmIimZmZJfe/+uorevTowR133EFkZCQzZ85k+vTpPPDAAwC4u7uzZMkSGjVqxMiRI+nYsSOffPIJc+fO5brrrrPr66utuoXWp0MTK/mFNr5cf8jsOCIiUgXSsnJ5ftEOAB66tjXtgq0mJ7oyps5Zqik0Z+nKfLv5CI99E09QPS9+ffIa3F2dpsOLiMgfGIbBPXM2sDLxOB2aWPn2L30c9n29op/fjpleapXhHRvjX9eT1Kxclm6/+FIQIiLi+OZtPMLKxON4uLowa2wnhy1Kl8P5X4E4PU83V+7srWUERESc3dFTObz4n50APDa4DW0CfU1OVDVUlsQh3NErFA9XF7YcOkXc4VNmxxERkctkGAZPzt/KmbxCujbzY8JVLcyOVGVUlsQhNPL1ZESnxoBGl0REnNFn6w7x294TeLm78PqYTri6XHzRaGejsiQO456+xdeL+2FrCmlZuSanERGRijp4MpsZSxIAeGJIOC0a1TU5UdVSWRKH0b6JlR5h9Sm0GXwWe9DsOCIiUgE2m8GUeVs5m19Er+YNGNcnzOxIVU5lSRzK+HOjS1+sO0RuQZHJaURE5FI+Xn2A9Unp1PFw5fUxnXCpQaffzlNZEocyODKQJn7enMzOZ3F8stlxRESkHPuOn+G1ZYkAPD08gpAGPiYnqh4qS+JQ3FxdiI4KBWD26iS0ZqqIiGMqLLIx+Zt48gptXNXan9t7NjM7UrVRWRKHc2uPELzcXUhIyWLdgXSz44iISBn+9et+4g6fwtfTjVdu6ojFUvNOv52nsiQOx8/Hgxu7NgW0jICIiCPalZrFm8t3A/DCqHYE+3mbnKh6VaosZWdnV3UOkVLGn/s2xfKdaRxOP2tuGBERKVFw7vRbQZHBwIgAburaxOxI1a5SZSkwMJB77rmH3377rarziADQOtCXq1r7YzPgk7VJZscREZFz3vlpLzuSs/DzceflGzvU6NNv51WqLH355ZdkZmYyYMAA2rRpw8yZM0lO1jeXpGqdX6vjqw2Hyc4rNDeMiIiw/Wgm/1y5F4AXr29PgK+XyYnso1JlaeTIkSxYsIDk5GQefPBBvvzyS0JDQxkxYgTffvsthYX6YJMrd03bAMIa+nA6t5BvNx8xO46ISK2WV1jEY9/EUWgzuK5DECM7NjY7kt1c0QTvhg0bMmnSJOLj43njjTdYsWIFN998M8HBwTz//POcPau5JlJ5Li4W7j43ujR7TRI2m5YREBExy5vL97A77QwN63jw0vXta8Xpt/OuqCylpqby6quvEhERwVNPPcXNN9/Mjz/+yJtvvsnChQsZPXp0FcWU2urmbk2p6+nG/uPZ/LLnuNlxRERqpc2HMvjXL/sAePnGDjSs62lyIvtyq8xO3377LbNnz2bZsmVERkby17/+lTvvvBM/P7+SbTp37kyXLl2qKqfUUr5e7ozp3pTZq5OYvTqJ/m0DzI4kIlKr5OQX8fg38dgMuKFLE4a0CzI7kt1VamRp/PjxBAcHs3r1auLi4pg4cWKpogTQokULnnnmmarIKLXcuD5hWCzw8+7j7D12xuw4IiK1ymvLEtl/IpvAep5MG9nO7DimqNTIUkpKCj4+5V//xdvbmxdeeKFSoUR+L7RhHQaEB7Ai4Rhz1yTx0uj2ZkcSEakV1u0/yew1xYsDz7ypI1Yfd5MTmaNSI0uFhYVkZWVdcDt9+jT5+flVnVGE8X2bA7Bg8xEycwpMTiMiUvNl5xXy+Px4DANu6R7CNbV4GkSlypKfnx/169e/4Obn54e3tzehoaG88MIL2Gy2qs4rtVSflg1pG+jL2fwi5m08bHYcEZEa7+UlCRxOz6GJnzfPjogwO46pKlWW5syZQ3BwME8//TTfffcdCxcu5Omnn6ZJkya89957/PnPf+btt99m5syZVZ1XaimLxcK4vmEAzFmTRJGWERARqTa/7jnO5+sOAfDazR3x9aqdp9/Oq9Scpblz5zJr1izGjh1b8tioUaPo0KEDH3zwAT/++CPNmjVj+vTpPP3001UWVmq30Z2b8ErMLo5k5LAiIa1WfiNDRKS6ZeUW8MT8rQDcFRVKn1b+JicyX6VGltauXVvmsgBdunRh7dq1APTr149Dhw5dWTqR3/H2cOW2ns0AmL36gMlpRERqppe+30lKZi6hDX14ali42XEcQqXKUtOmTfnoo48uePyjjz4iJCQEgJMnT1K/fv0rSyfyB9G9Q3F1sRC7P52ElCyz44iI1Cg/JqQxb9MRLBZ4fUwnfDwqdQKqxqnUUXj99dcZM2YMS5cupUePHlgsFjZs2MCuXbuYP38+ABs2bOCWW26p0rAiwX7eDG0fxA9bU5i9+gCv3tzJ7EgiIjVCRnY+T327DYD7+jWnR1gDkxM5DothGJWaKXvw4EHef/99EhMTMQyD8PBw7r//fsLCwqo4ouPLysrCarWSmZlJvXr1zI5T4206mM5N763Fw82FtU9dW+uW3RcRqQ4Pf7mFxfHJtGxUhx8evgovd1ezI1W7in5+X/bIUkFBAYMHD+aDDz5gxowZVxRSpDK6NqtPx6ZWth7J5Mv1h5h4bWuzI4mIOLWl21JYHJ+MiwVmje1cK4rS5bjsOUvu7u5s3769Vl1tWByLxWJh/LllBD6NPUhBkdbzEhGprBNn8njmu+0APNi/JZ1D/MwN5IAqNcH7rrvuKnOCt4i9DO8QTCNfT9Ky8liyLcXsOCIiTskwDJ5duJ307HzCg3x5eIBG6stSqQne+fn5/Pvf/2b58uV0796dOnXqlPr5G2+8USXhRC7Gw82FO3uF8uaK3cxencT1nZuYHUlExOksjk8mZkcqbi4WZo3thKebTr+VpVJlafv27XTt2hWA3bt3l/qZTs+Jvdzeqxn/XLmXuMOn2HIogy7NtFSFiEhFpWXl8ty5028PD2hNu2CryYkcV6XK0sqVK6s6h8hla+TrychOwSzYfITZq5NUlkREKsgwDJ5asJWs3EI6NLHyYP+WZkdyaJWas3Te3r17WbZsGTk5OUDxwRexp/MTvZdsSyE1M9fcMCIiTmLexiOsTDyOh6sLs8Z2wt31iupAjVepo3Py5EkGDBhAmzZtuO6660hJKZ5ge9999zF58uQqDShSnvZNrPQIq0+hzeCz2INmxxERcXhHT+Xw4n92AvDY4Da0CfQ1OZHjq1RZmjRpEu7u7hw6dAgfH5+Sx2+55RZiYmKqLJxIRYzv2xyAL9YfIregyOQ0IiKOy2YzeHL+Vs7kFdK1mR8TrmphdiSnUKmy9N///pdXXnmFpk2blnq8devWHDyo/7oX+xocGUgTP2/Ss/NZHJdsdhwREYf1+bqD/Lb3BF7uLrw+phOuLvpSVkVUqixlZ2eXGlE678SJE3h66tITYl9uri5ER4UC8PHqA5o7JyJShoMns3l5yS4AnhwaTotGdU1O5DwqVZb+9Kc/8cknn5Tct1gs2Gw2XnvtNa655poqCydSUbf2CMHL3YVdqaeJ3Z9udhwREYdisxlMmbeVnIIierdowN1RYWZHciqVWjrgtddeo3///mzcuJH8/HyeeOIJduzYQXp6OqtXr67qjCKX5OfjwY1dm/LFukPMXn2AqJYNzY4kIuIwPl59gPVJ6dTxcOW1mzvhotNvl6VSI0uRkZFs3bqVnj17MmjQILKzs7nxxhvZsmULLVtqrQYxx/g+YQAsT0jjcPpZc8OIiDiIvcfO8NqyRACeHh5BSIMLp9FI+So1sgQQFBTE3/72t6rMInJFWgf6clVrf37dc4K5a5J4dkSk2ZFERExVWGRj8rx48gptXNXan9t7NjM7klOqdFk6deoU69ev59ixY9hspa/6ftddd11xMJHKGN83jF/3nODrjYeZNKgNdTwr/ScuIuL0PvhlP/GHT+Hr5cYrN3XUJckqqVKfJN9//z133HEH2dnZ+Pr6ljr4FotFZUlM079NAM3963DgRDbfbj5CtCYxikgttSs1i7dWFF+/9YWR7Qj28zY5kfOq1JylyZMnc88993D69GlOnTpFRkZGyS09Xd9EEvO4uFi4+9wyArPXJGGzaRkBEal9CopsTP4mnoIig4ERAdzUtYnZkZxapcrS0aNHefjhh8tca0nEbDd3D8HX0439x7P5Zc9xs+OIiNjdOz/tZUdyFn4+7rx8YwedfrtClSpLQ4YMYePGjVWdRaRK1PV0Y0z3EABmr04yN4yIiJ1tO5LJP1fuBeDF69sT4OtlciLnV6k5S8OHD2fKlCns3LmTDh064O7uXurno0aNqpJwIpU1rk8Ys9cc4Ofdx9l77AytArRSrYjUfHmFRUyeF0ehzWB4h8aM7NjY7Eg1gsWoxLUhXFwuPiBlsVgoKqpdFzPNysrCarWSmZlJvXr1zI4j59w3dyMrEtKI7h3KS6Pbmx1HRKTazVy6i/d/3od/XQ/+O+lqGtTxMDuSQ6vo53elTsPZbLaL3mpbURLHdU/fMAAWbD5CZk6BuWFERKrZ5kMZ/OuXfQBMv6GDilIVuqyydN1115GZmVlyf/r06Zw6dark/smTJ4mM1EKA4hiiWjakbaAvZ/OL+GbDYbPjiIhUm5z8Ih7/Jh6bATd0acKQdkFmR6pRLqssLVu2jLy8vJL7r7zySqmlAgoLC0lMTKy6dCJXwGKxMP7c6NLctUkUaRkBEamhXluWyP4T2QTW82TayHZmx6lxLqss/XF6UyWmO4nY1eguTajv486RjByW70wzO46ISJWL3X+Sj1cfAGDmTR2x+rhfYg+5XJWasyTiLLzcXbnt3LWQZp97MxERqSmy8wqZMj8egFt7hHBN2wCTE9VMl1WWLBbLBQtbaaErcXTRUaG4ulhYdyCdHcmZl95BRMRJvLwkgcPpOTTx8+aZ4RFmx6mxLmudJcMwGDduHJ6engDk5ubywAMPUKdOHYBS85lEHEVjqzdD2wfxw9YU5qxO4rUxncyOJCJyxX7dc5zP1x0C4LWbO+LrpdNv1eWyytLdd99d6v6dd955wTa6iK44onv6hvHD1hQWxSfz1LBwGtb1NDuSiEilZeUW8MT8rQDcFRVKn1b+Jieq2S6rLM2ePbu6cohUq67N6tOxqZWtRzL5Yt0hHhrQ2uxIIiKV9tL3O0nJzCW0oQ9PDQs3O06NpwneUiv8fhmBT2MPkl9oMzeQiEgl/ZiQxrxNR7BY4PUxnfDxqNSVy+QyqCxJrTG8QzCNfD05djqPpdtTzI4jInLZMrLzeerbbQDc1685PcIamJyodlBZklrDw82FO3uFAvDx6iRzw4iIVMILi3dw/HQeLRvVYfLgtmbHqTWcpixlZGQQHR2N1WrFarUSHR1d6lIrZUlLS2PcuHEEBwfj4+PD0KFD2bNnT6lt8vLyeOihh/D396dOnTqMGjWKI0eOVOMrETPd3qsZHq4uxB8+xeZDGWbHERGpsKXbUlgcn4yLBWaN7YyXu6vZkWoNpylLt99+O3FxccTExBATE0NcXBzR0dEX3d4wDEaPHs3+/ftZtGgRW7ZsITQ0lIEDB5KdnV2y3aOPPsrChQv56quv+O233zhz5gwjRozQBYFrqEa+nozsFAzAbI0uiYiTOHEmj2e+2w7Ag/1b0jnEz9xAtYzFcIJrliQkJBAZGUlsbCy9evUCIDY2lqioKHbt2kXbthcORe7evZu2bduyfft22rUrvk5OUVERAQEBvPLKK9x3331kZmbSqFEjPv30U2655RYAkpOTCQkJYcmSJQwZMqRC+bKysrBarWRmZlKvXr0qetVSXbYfzWTEP37DzcXCb09eS5DVy+xIIiIXZRgGD3y2iWU70ggP8mXRxL54umlUqSpU9PPbKUaW1q5di9VqLSlKAL1798ZqtbJmzZoy9zm/QKaX1/8+CF1dXfHw8OC3334DYNOmTRQUFDB48OCSbYKDg2nfvv1Fn1ecX/smVnqGNaDQZvBZ7EGz44iIlGtRXDLLdqTh5mJh1thOKkomcIqylJqaSkDAhde7CQgIIDU1tcx9wsPDCQ0NZerUqWRkZJCfn8/MmTNJTU0lJSWl5Hk9PDyoX79+qX0DAwMv+rxQXMSysrJK3cS5nF9G4Iv1h8gt0ClXEXFMaVm5PL+o+PTbwwNa0y7YanKi2snUsjRt2rSS681d7LZx40ag7GvQGYZx0WvTubu7s2DBAnbv3k2DBg3w8fFh1apVDBs2DFfX8lt5ec8LMGPGjJKJ5larlZCQkMt41eIIBkUG0sTPm/TsfBbHJZsdR0TkAoZh8NSCrWTlFtKhiZUH+7c0O1KtZWpZmjhxIgkJCeXe2rdvT1BQEGlpaRfsf/z4cQIDAy/6/N26dSMuLo5Tp06RkpJCTEwMJ0+epHnz5gAEBQWRn59PRkbpb0UdO3as3OedOnUqmZmZJbfDhw9X8giIWdxcXbgr6vwyAgdwgql7IlLLzNt4hJWJx/FwdWHW2E64uzrFyaAaydRlP/39/fH3v/T1bKKiosjMzGT9+vX07NkTgHXr1pGZmUmfPn0uub/VWjxsuWfPHjZu3MhLL70EFJcpd3d3li9fztixYwFISUlh+/btvPrqqxd9Pk9Pz5KLCYvzurVHM95asYddqaeJ3Z9OVMuGZkcSEQHgSMZZXvzPTgAmD25Dm0BfkxPVbk5RUyMiIhg6dCgTJkwgNjaW2NhYJkyYwIgRI0p9Ey48PJyFCxeW3J83bx6rVq0qWT5g0KBBjB49umRCt9Vq5d5772Xy5Mn8+OOPbNmyhTvvvJMOHTowcOBAu79OsS+rjzs3dm0CwOzVB0xOIyJSzGYzeHLBVs7kFdIttD73XdXC7Ei1nlOUJYDPP/+cDh06MHjwYAYPHkzHjh359NNPS22TmJhIZmZmyf2UlBSio6MJDw/n4YcfJjo6mi+//LLUPm+++SajR49m7Nix9O3bFx8fH77//vtLzmuSmuH8RO/lCWkcTj9rbhgREeDzdQdZvfckXu4uvD6mE64uF59DK/bhFOssOTqts+Tcoj9ax697TnBfv+Y8OyLS7DgiUosdPJnN0Ld+JaegiBdGRjK+b3OzI9VoNWqdJZHqdM+5N6OvNx4mO6/Q5DQiUlvZbAZT5m0lp6CI3i0acHdUmNmR5ByVJan1rm7TiBb+dTidW8iCzbouoIiY4+PVB1iflE4dD1deu7kTLjr95jBUlqTWc3GxcHefMADmrE7CZtOZaRGxr73HzvDqskQAnhkeSUgDH5MTye+pLIkAN3Vriq+nG/tPZPPznuNmxxGRWqSwyMbkefHkF9r4U5tG3NZTCx07GpUlEaCupxtjexS/Qc1enWRuGBGpVT74ZT/xh0/h6+XGKzd1KPcKEmIOlSWRc+6OCsNigV92H2fvsTNmxxGRWmBXahZvrdgNwAsj29HY6m1yIimLypLIOc0a+jAgvPgyN3PWaJFKEale+YU2Jn8TT0GRwcCIAG46t0iuOB6VJZHfuefcIpULNh0l82yBuWFEpEZ7Z+VediRn4efjzss36vSbI1NZEvmdqJYNaRvoS05BEV9vPGR2HBGpobYdyeSfK/cC8NL17Qnw9TI5kZRHZUnkdywWS8klUOauOUhhkc3cQCJS4+QVFjF5XhxFNoPhHRozslOw2ZHkElSWRP5gdJcm1Pdx5+ipHFYkpJkdR0RqmDeX72F32hn863rw0uj2ZseRClBZEvkDL3dXbuvZDICPtYyAiFShzYcy+Ncv+wCYfkMHGtTxMDmRVITKkkgZoqNCcXWxsP5AOjuSM82OIyI1QE5+EY9/E4/NgBu6NGFIuyCzI0kFqSyJlKGx1Zth7YvfyLRIpYhUhVeX7WL/iWwC63kybWQ7s+PIZVBZErmI8X2bA7A4LpkTZ/JMTiMizix2/8mS//B65aaOWH3czQ0kl0VlSeQiujbzo1NTK/lFNr5cp2UERKRysvMKmTI/HoBbe4TQv22AyYnkcqksiVxE8TICxaNLn8YeJL9QywiIyOV7eUkCh9NzaOLnzTPDI8yOI5WgsiRSjus6NCbA15Njp/NYuj3F7Dgi4mR+2X2cz8+NTL92c0d8vXT6zRmpLImUw8PNhTt7hwJaRkBELk9mTgFPLtgKwN1RofRp5W9yIqkslSWRS7i9VzM8XF2IP3yKzYcyzI4jIk7ipf/sJCUzl7CGPjw5LNzsOHIFVJZELsG/riejOhdfjkDLCIhIRfyYkMb8TUewWOD1MZ3w8XAzO5JcAZUlkQo4f724pdtSSM3MNTeMiDi0jOx8nvp2GwD39WtO97AGJieSK6WyJFIB7YKt9GzegEKbwaexSWbHEREH9sLiHRw/nUfLRnWYPLit2XGkCqgsiVTQPedGl75Yd4jcgiJzw4iIQ1qyLYXF8cm4uliYNbYzXu6uZkeSKqCyJFJBgyKDaOLnTcbZAhbFHTU7jog4mBNn8nj2u+0APHh1SzqH+JkbSKqMypJIBbm6WLi7T/EyArNXJ2EYhsmJRMRRGIbBMwu3kZ6dT3iQLw8PaG12JKlCKksil+GW7s3wdndlV+pp1u4/aXYcEXEQi+KSWbYjDTcXC7PGdsLDTR+vNYn+3xS5DFYfd27s2gTQMgIiUiwtK5fnFxWffnt4QGvaBVtNTiRVTWVJ5DKdX0ZgRUIah06eNTeMiJjKMAyeWrCVrNxCOjSx8mD/lmZHkmqgsiRymVoF+HJVa38MA+auTTI7joiY6JuNh1mZeBwPNxdmje2Eu6s+Vmsi/b8qUgn39G0OwDcbDnMmr9DkNCJihiMZZ3npPwkATB7UhjaBviYnkuqisiRSCVe3aUQL/zqczitkwaYjZscRETuz2QyeXLCVM3mFdAutz31XtTA7klQjlSWRSnBxsXB3nzAA5qxJwmbTMgIitcnn6w6yeu9JvNxdeH1MJ1xdLGZHkmqksiRSSTd1a4qvpxsHTmTz8+7jZscRETs5eDKbl5fsAuDJoeE0969jciKpbipLIpVU19ONsT1CAPh49QGT04iIPRTZDB6fF09OQRG9WzTg7qgwsyOJHagsiVyBu6PCsFjg1z0n2HvstNlxRKSazV59gA1JGdTxcOW1mzvhotNvtYLKksgVaNbQh4ERgYAWqRSp6fYeO8OryxIBeGZ4JCENfExOJPaisiRyhc4vUvnt5qNkni0wN4yIVIvCIhuT58WTX2jjT20acVvPELMjiR2pLIlcoagWDQkP8iWnoIivNx4yO46IVIMPftlP/OFT+Hq58cpNHbBYdPqtNlFZErlCFoulZHRp7pqDFBbZzA0kIlVqV2oWb63YDcC0ke1obPU2OZHYm8qSSBW4vnMT6vu4c/RUDisS0syOIyJVJL/QxmNfx1NQZDAwIrDkQtpSu6gsiVQBL3dXbu/VDICPNdFbpMZ4Z+VedqZk4efjzss3ttfpt1pKZUmkikT3DsPNxcL6A+nsSM40O46IXKFtRzL558q9ALx0fXsCfL1MTiRmUVkSqSJBVi+GdWgMaBkBEWeXV1jE5HlxFNkMhndozMhOwWZHEhOpLIlUofMTvRfHJXPiTJ65YUSk0t5cvofdaWfwr+vBS6Pbmx1HTKayJFKFujarT6cQP/KLbHyxTssIiDijTQcz+Ncv+wCYfkMHGtTxMDmRmE1lSaSK3XNudOnT2IPkF2oZARFnkpNfxOPz4rEZcGOXJgxpF2R2JHEAKksiVWxY+8YE+Hpy/HQeS7almB1HRC7Dq8t2ceBENoH1PHlhZDuz44iDUFkSqWIebi7c2TsUKL7opmEYJicSkYqI3X+y5MsZr9zUEauPu7mBxGGoLIlUg9t7NcPD1YX4I5lsPnTK7Dgicgln8gqZMj8egFt7hNC/bYDJicSRqCyJVAP/up6M6lz8VePZqw+YnEZELuXlJQkcTs+hiZ83zwyPMDuOOBiVJZFqcn4ZgaXbU/luy1GdjhNxUL/sPl7y7dXXxnTE10un36Q0lSWRatIu2MrgyECKbAaPfh3HA59t0tpLIg4mM6eAJxdsBeDuqFD6tPQ3OZE4IpUlkWr0zzu68tigNri5WFi2I43Bb/7CD1v1DTkRR/HSf3aSkplLWEMfnhwWbnYccVAqSyLVyN3VhYcHtGbRxL6EB/mSnp3PX7/YzMQvNpOenW92PJFa7ceENOZvOoLFAq+P6YSPh5vZkcRBqSyJ2EG7YCuLJ/bj4Wtb4epi4T9bUxj85s8s25FqdjSRWikjO5+nvt0GwH39mtM9rIHJicSRqSyJ2ImHmwuPDW7Lwr/0oXVAXU6cyef+Tzfx6FdbOHVWo0wi9vT84h0cP51Hq4C6TB7c1uw44uBUlkTsrGNTP75/qB8PXN0SFwt8F5fM4Dd/4addaWZHE6kVlmxL4fv4ZFxdLMwa0wkvd1ezI4mDU1kSMYGXuytPDQtn/oN9aNGoDsdO53HPnI1MmRdPVm6B2fFEaqwTZ/J49rvtADx4dUs6hfiZG0icgsqSiIm6NqvPkoev4r5+zbFYYN6mIwx58xd+2X3c7GgiNY5hGDyzcBvp2fmEB/ny8IDWZkcSJ6GyJGIyL3dXnh0RyTf3RxHa0IeUzFzu+ng9U7/dxpm8QrPjidQYi+KSWbYjDTcXC7PGdsLDTR+BUjH6SxFxED3CGrD0kasY1ycMgC/XH2LIm7+wZu8Jc4OJ1ACpmbk8v6j49NsjA1rTLthqciJxJipLIg7Ex8ONaaPa8eWE3jSt783RUznc/u91PL9oO9kaZRKpFMMweOrbrWTlFtKxqZUH+7c0O5I4GacpSxkZGURHR2O1WrFarURHR3Pq1Kly90lLS2PcuHEEBwfj4+PD0KFD2bNnT8nP09PTeeihh2jbti0+Pj40a9aMhx9+mMzMzGp+NSLli2rZkJhH/8QdvZoB8Mnagwz7+6+sP5BucjIR5/PNxsOsSjyOh5sLs8Z0ws3VaT76xEE4zV/M7bffTlxcHDExMcTExBAXF0d0dPRFtzcMg9GjR7N//34WLVrEli1bCA0NZeDAgWRnZwOQnJxMcnIyr7/+Otu2bWPOnDnExMRw77332utliVxUXU83pt/QgU/v7Umw1YtD6We55V9refH7neTkF5kdT8QpbEhK56X/JAAweVAbWgf6mpxInJHFcIJLoSckJBAZGUlsbCy9evUCIDY2lqioKHbt2kXbthcuKLZ7927atm3L9u3badeuHQBFRUUEBATwyiuvcN9995X5u+bNm8edd95JdnY2bm4VW/o+KysLq9VKZmYm9erVq+SrFLm4rNwCpv8nga83HgaghX8dXhvTiW6h9U1OJuKYkk5k80rMLpZuL14lv1tofb65PwpXF4vJycSRVPTz2ylGltauXYvVai0pSgC9e/fGarWyZs2aMvfJyyu+uruXl1fJY66urnh4ePDbb79d9HedP2DlFaW8vDyysrJK3USqUz0vd165uSOzx/cgsJ4n+09kM+b9NcxYmkBugUaZRM7LyM7nb9/vYNCbP7N0eyouFri1Rwgf3tVdRUkqzSnKUmpqKgEBARc8HhAQQGpq2dfWCg8PJzQ0lKlTp5KRkUF+fj4zZ84kNTWVlJSyr/p+8uRJXnrpJe6///5y88yYMaNk7pTVaiUkJOTyX5RIJVzTNoD/Pno1N3Ztgs2AD37ez4h//Eb84VNmRxMxVV5hEf/6ZR9/em0ls1cnUVBkcHWbRix55Cpm3tSRBnU8zI4oTszUsjRt2jQsFku5t40bNwJgsVz4XwSGYZT5OIC7uzsLFixg9+7dNGjQAB8fH1atWsWwYcNwdb1wafusrCyGDx9OZGQkL7zwQrm5p06dSmZmZsnt8OHDlXj1IpVj9XHnjbGd+Vd0N/zrerL32BlufG8Nry3bRV6hRpmkdjEMg+/jkxkw62deXrKL07mFhAf58sk9PZl7T0/CgzQ1Qq5cxSblVJOJEydy6623lrtNWFgYW7duJS3twutmHT9+nMDAwIvu261bN+Li4sjMzCQ/P59GjRrRq1cvunfvXmq706dPM3ToUOrWrcvChQtxd3cvN5Onpyeenp7lbiNS3Qa3C6JHWANeWLyDxfHJ/HPlPn5MOMbrYzrRvonWkJGab0NSOtN/SCDu3MhqgK8njw9py01dm+qUm1Qpp5rgvW7dOnr27AnAunXr6N2790UneJdlz549hIeHs3TpUgYPHgwUjygNGTIET09PlixZgo+Pz2Xn0wRvMdvSbSk889120rPzcXOxMPHaVvz1mla46yvSUgMdOJHNK0t3EbOjeBqGj4cr9/+pJRP+1BwfD1PHAMTJVPTz2ynKEsCwYcNITk7mgw8+AODPf/4zoaGhfP/99yXbhIeHM2PGDG644Qag+JttjRo1olmzZmzbto1HHnmEbt26sWDBAqB4RGnQoEGcPXuWhQsXUqdOnZLnatSoUZmn68qisiSO4MSZPJ77bnvJt3/aBddj1thOOg0hNUZGdj5v/7SHT9cepNBm4GKBW3qEMGlgGwLqeV36CUT+oKKf305TwT///HMefvjhkhGhUaNG8c4775TaJjExsdSCkikpKTz22GOkpaXRuHFj7rrrLp577rmSn2/atIl169YB0KpVq1LPdeDAAcLCwqrp1YhUPf+6nrx7R1e+35rC84u2syM5i5H/+I1HB7bh/j+10EJ84rRyC4r4ZG0S//hpL6dzi1ey79+2EVOHRdA2SOsmSfVzmpElR6aRJXE0x07n8vS321mRUDzXr1NTK6+P6aQF+cSpGIbB91tTeDVmF0cycgAID/LlmeERXNW6kcnppCaocafhHJnKkjgiwzBYuOUoLyzewencQjzcXJg8qA33XdVCk1/F4a0/kM70JQkly2IE1vPk8cFtuVGTt6UKqSzZkcqSOLLUzFye+nYrqxKPA9C1mR+vj+lEi0Z1TU4mcqH9x8/wSswulu0oHhX18XDlgatbct9VmrwtVU9lyY5UlsTRGYbBvI1HePE/OzmTV4inmwtPDA1nfJ8wXPRf6eIA0rPzefvHPXwW+/vJ282YNKg1Ab6avC3VQ2XJjlSWxFkcPZXDk/O38tveEwD0DGvAa2M6EtqwziX2FKkeuQVFzF2TxDsr/zd5+5q2jZh6XQRtNMdOqpnKkh2pLIkzMQyDL9YfYvoPCZzNL8Lb3ZWnrwvnjl6hGmUSu7HZDL7fmsyrMYkcPVU8eTuicT2euS6Cfq39TU4ntYXKkh2pLIkzOpx+linz44ndnw5An5YNeeWmjoQ0uPyFWUUux/oD6Uz/YSfxR4qXegmq58XjQ9pyQ5cmmrwtdqWyZEcqS+KsbDaDT2MPMnPpLnIKiqjj4cozwyO5rWfIRa+7KFJZf5y8XcfDlQf7t+Tefi3w9qjYIsAiVUllyY5UlsTZJZ3I5vF58Ww8mAHAVa39eeWmjgT7eZucTGqCsiZv39qzGY8O1ORtMZfKkh2pLElNUGQzmL36AK8tSySv0IavpxvPj4zk5m5NNcoklZJbUMScNUn886e9nM4rnrx9bXgAU4eFa4FUcQgqS3aksiQ1yd5jZ3h8XnzJldwHhAfw8o0dCNS1t6SCypq8Hdm4Hs8Mj6BvK03eFsehsmRHKktS0xQW2fjw1wO8uXw3+UU2rN7u/G1UO67vHKxRJinXuv0nmb4kga1/mLx9Y5cm+ralOByVJTtSWZKaanfaaSZ/E8+2o8UffIMjA5l+Qwca+XqanEwczf7jZ5ixdBfLd2rytjgPlSU7UlmSmqygyMb7q/bx9k97KCgyqO/jzkuj2zOiY7DZ0cQBnDyTx9s/7uHzdYcotBm4uli4tUcIjw5so1ItDk9lyY5UlqQ22JmcxeR58SSkZAEwvENjXhrdngZ1PExOJmbILShi9uok3l35v8nbA8IDeEqTt8WJqCzZkcqS1Bb5hTbeWbmXf67cS5HNwL+uB/83ugND2weZHU3sxGYzWByfzGvL/jd5u11w8crbfTR5W5yMypIdqSxJbbPtSCaT58WxO+0MAKM7BzNtVDv8fDTKVJPF7j/Jy7+bvN3Y6sWUIW0Z3VmTt8U5qSzZkcqS1EZ5hUX8fcUe3v95HzYDGvl6MvPGDgyICDQ7mlSxfcfPMPMPk7f/ck0r7unbXJO3xampLNmRypLUZlsOZfD4vHj2Hc8G4OZuTXluRCRWb3eTk8mVOnkmj7+fm7xddG7y9m09Q3hkgCZvS82gsmRHKktS2+UWFPHG8t18+Ot+DKN4bZ2ZN3Wgf9sAs6NJJeQWFPHx6gO8u3IfZ85N3h4YUTx5u1WAJm9LzaGyZEcqSyLFNial8/i8eJJOngXgtp4hPH1dBL5eGmVyBjabwaL4o7wWk0hyZi4A7ZvU4+nrIujTUpO3peZRWbIjlSWR/8nJL+KVmF3MWZMEQBM/b169uaMuc+Hg1u4rnrx9fgHSYKsXU4a25fpOmrwtNZfKkh2pLIlcKHb/SabMj+dwevHXy6N7h/LUsHDqeLqZnEx+b++x4snbKxKKJ2/X9XQ7t/J2c7zcNXlbajaVJTtSWRIpW3ZeITOWJvBZ7CEAmjXw4bWbO9KrRUOTk8mJM3n8fcUevlj/v8nbt/dsxiMDW+NfV5O3pXZQWbIjlSWR8v225wRPLtjK0VM5WCwwrk8YTwwJ19fOTZBbUMRHvx3gvVW/n7wdeG7ydl2T04nYl8qSHaksiVza6dwCpv+QwFcbDgPQ3L8Or4/pSLfQBiYnqx0uNnn7mesiiWqpkT6pnVSW7EhlSaTiViUe46kF20jNysVigQlXteCxQW00P6Yard13kulLdrL9aPF1/TR5W6SYypIdqSyJXJ7MnAJe/H4nCzYfAaBlozrMGtuZziF+5garYfYeO31u8vYxoHjy9l+uack9fTV5WwRUluxKZUmkcpbvTOPphds4fjoPFws82L8lDw9ojaebPsivxIkzeby1Yjdfrj9cMnn7jl7NeGRAaxpq8rZICZUlO1JZEqm8jOx8pn2/g0VxyQC0DfRl1thOtG9iNTmZ8ylr8vagyOLJ2y0bafK2yB+pLNmRypLIlYvZnsIzC7dzMjsfNxcLf72mFX+9phUebi5mR3N4NpvBd3FHeW1ZIinnJm93aGLlmeER9NYyDSIXpbJkRypLIlXj5Jk8nlu0nSXbUgGIbFyPWWM7EdFY/15dzJp9J5j+QwI7kosnbzfx82bKkLaM6hSsydsil6CyZEcqSyJV6/v4ZJ5btJ1TZwtwd7XwyIDWPHB1S9xcNcp03t5jp5mxZBc/7iqevO3r6cZfrmnF+L5hmrwtUkEqS3aksiRS9Y6dzuWZhdtZvrP4Mhwdm1qZNaYTrQNr91XvT5zJ483lu/lqQ/Hkbbdzk7cf1uRtkcumsmRHKksi1cMwiufivLBoB1m5hXi4uvDY4DZMuKoFrrXsFFNOfhEfry49eXtwZCBPavK2SKWpLNmRypJI9UrLyuWpBVtZmXgcgC7N/Hh9TKdaURJsNoOFW47y+n//N3m7Y1Mrz1wXoWvsiVwhlSU7UlkSqX6GYTBv0xFe+n4np/MK8XRzYcqQtozv27zGjjKt2XuC6UtKT95+YmhbRnbU5G2RqqCyZEcqSyL2k3wqhycXbOXXPScA6BFWn9du7kSYfx2Tk1WdPWmnmbF0Fz/9bvL2X69txbg+mrwtUpVUluxIZUnEvgzD4Mv1h5n+w06y84vwdnflqWHhRPcOdeoRl+On83hzxW6+Wn8ImwFuLhbu7B3KwwNa06COh9nxRGoclSU7UlkSMcfh9LM8MX8ra/efBCCqRUNevbkjIQ18TE52eXLyi/jot/28t2of2flFAAxpF8iTQ8NpUQvmZYmYRWXJjlSWRMxjsxl8GnuQmUt3kVNQRB0PV54ZHsltPUOwWBx7lMlmM/h2y1FeX5ZIalbx5O1OTa08MzySns0bmJxOpOZTWbIjlSUR8yWdyGbK/Hg2JGUAcFVrf165qSPBft4mJyvb6r3FK2/vTPnf5O0nh4UzokNjpz6VKOJMVJbsSGVJxDHYbAaz1yTxaswu8gpt+Hq68dzISMZ0a+owo0x70k7z8pKEkmUQfL3cmHhNK+7W5G0Ru1NZsiOVJRHHsu/4GR6fF8+WQ6cAuKZtI2be1JHAel6mZdLkbRHHo7JkRypLIo6nyGbw4a/7eeO/u8kvslHPy42/Xd+O0Z2b2HWUKSe/iH//up/3f/7f5O2h7YJ4clg4zWvQcgcizkhlyY5UlkQc156000yeF8/WI5kADIoM5OUbOtDIt3qvo1ZkM/h28xFm/Xe3Jm+LOCiVJTtSWRJxbIVFNj74ZT9vrdhNQZFBfR93Xry+PSM7BVfL7/ttT/HK2wnnJm83re/NE0M1eVvE0ags2ZHKkohzSEjJYvI38SXfQBveoTEvXt+OhnWrZpRp97nJ26t+N3n7oWuLJ297umnytoijUVmyI5UlEedRUGTjnZ/28s+Veym0GTSs48H0G9oztH3jSj/nsdO5vLl8D19v+N/k7eioUB6+tjX1NXlbxGGpLNmRypKI89l+NJPJ38STmHYagFGdgvnbqHaXVW7O5hfy718P8P7P+zh7bvL2sPZBPDFUk7dFnIHKkh2pLIk4p7zCIt7+cQ/vrdqHzYBGvp7MuKEDAyMDy92vyGawYPMRZv03kbSsPAA6h/jx7PAIuodp8raIs1BZsiOVJRHnFnf4FJO/iWPf8WwAburalOdHRmL1dr9g27Imbz85NJwRHRs7zMKXIlIxKkt2pLIk4vxyC4p4c/lu/vXrfgwDgup5MfOmDvRvGwBAYuppZiz93+Ttel5uPHRta+7qE6rJ2yJOSmXJjlSWRGqOTQfTeXzeVg6cKB5luqV7CC4u8PWGw9gMcHe1EN07jIeubaXJ2yJOTmXJjlSWRGqWnPwiXluWyOw1B/j9O+R1HYJ4Ykg4YZq8LVIjVPTz282OmUREnIK3hyvPj4xkSLtAnl+0A6u3O08MbavJ2yK1lEaWqoBGlkRERJxPRT+/XeyYSURERMTpqCyJiIiIlENlSURERKQcKksiIiIi5VBZEhERESmHypKIiIhIOZymLGVkZBAdHY3VasVqtRIdHc2pU6fK3SctLY1x48YRHByMj48PQ4cOZc+ePWVuaxgGw4YNw2Kx8N1331X9CxARERGn5DRl6fbbbycuLo6YmBhiYmKIi4sjOjr6otsbhsHo0aPZv38/ixYtYsuWLYSGhjJw4ECys7Mv2P6tt97SRTBFRETkAk6xgndCQgIxMTHExsbSq1cvAD788EOioqJITEykbdu2F+yzZ88eYmNj2b59O+3atQPg3XffJSAggC+//JL77ruvZNv4+HjeeOMNNmzYQOPGje3zokRERMQpOMXI0tq1a7FarSVFCaB3795YrVbWrFlT5j55eXkAeHl5lTzm6uqKh4cHv/32W8ljZ8+e5bbbbuOdd94hKCioml6BiIiIOCunKEupqakEBARc8HhAQACpqall7hMeHk5oaChTp04lIyOD/Px8Zs6cSWpqKikpKSXbTZo0iT59+nD99ddXOE9eXh5ZWVmlbiIiIlIzmVqWpk2bhsViKfe2ceNGgDLnExmGcdF5Ru7u7ixYsIDdu3fToEEDfHx8WLVqFcOGDcPV1RWAxYsX89NPP/HWW29dVu4ZM2aUTDS3Wq2EhIRc3gsXERERp2HqnKWJEydy6623lrtNWFgYW7duJS0t7YKfHT9+nMDAwIvu261bN+Li4sjMzCQ/P59GjRrRq1cvunfvDsBPP/3Evn378PPzK7XfTTfdxFVXXcWqVavKfN6pU6fy2GOPldzPyspSYRIREamhLIZhGGaHuJSEhAQiIyNZt24dPXv2BGDdunX07t2bXbt2lTnBuyx79uwhPDycpUuXMnjwYFJTUzlx4kSpbTp06MDf//53Ro4cSfPmzSv0vBW9arGIiIg4jop+fjvFt+EiIiIYOnQoEyZM4IMPPgDgz3/+MyNGjChVlMLDw5kxYwY33HADAPPmzaNRo0Y0a9aMbdu28cgjjzB69GgGDx4MQFBQUJmTups1a1bhogTFpwMBzV0SERFxIuc/ty81buQUZQng888/5+GHHy4pOqNGjeKdd94ptU1iYiKZmZkl91NSUnjsscdIS0ujcePG3HXXXTz33HNVnu306dMAOhUnIiLihE6fPo3Var3oz53iNJyjs9lsJCcn4+vr6zALW56fR3X48GGdGkTH4490PErT8ShNx+NCOial1ZTjYRgGp0+fJjg4GBeXi3/nzWlGlhyZi4sLTZs2NTtGmerVq+fUf8hVTcejNB2P0nQ8StPxuJCOSWk14XiUN6J0nlOssyQiIiJiFpUlERERkXKoLNVQnp6evPDCC3h6epodxSHoeJSm41GajkdpOh4X0jEprbYdD03wFhERESmHRpZEREREyqGyJCIiIlIOlSURERGRcqgsObmjR49y55130rBhQ3x8fOjcuTObNm0q+blhGEybNo3g4GC8vb3p378/O3bsMDFx9SrveBQUFPDkk0/SoUMH6tSpQ3BwMHfddRfJyckmp64+l/r7+L37778fi8XCW2+9Zd+QdlSR45GQkMCoUaOwWq34+vrSu3dvDh06ZFLi6nepY3LmzBkmTpxI06ZN8fb2JiIigvfee8/ExNUnLCwMi8Vywe2vf/0rUPveT8s7HrXt/VRlyYllZGTQt29f3N3dWbp0KTt37mTWrFn4+fmVbPPqq6/yxhtv8M4777BhwwaCgoIYNGhQySVaapJLHY+zZ8+yefNmnnvuOTZv3sy3337L7t27GTVqlLnBq0lF/j7O++6771i3bh3BwcH2D2onFTke+/bto1+/foSHh7Nq1Sri4+N57rnn8PLyMi94NarIMZk0aRIxMTF89tlnJCQkMGnSJB566CEWLVpkXvBqsmHDBlJSUkpuy5cvB2DMmDFA7Xo/hfKPR217P8UQp/Xkk08a/fr1u+jPbTabERQUZMycObPksdzcXMNqtRrvv/++PSLa1aWOR1nWr19vAMbBgwerKZV5Kno8jhw5YjRp0sTYvn27ERoaarz55pvVH84EFTket9xyi3HnnXfaKZH5KnJM2rVrZ7z44oulHuvatavx7LPPVmc0h/DII48YLVu2NGw2W617Py3L749HWWry+6lGlpzY4sWL6d69O2PGjCEgIIAuXbrw4Ycflvz8wIEDpKamllx8GIrXxrj66qtZs2aNGZGr1aWOR1kyMzOxWCxljrY4u4ocD5vNRnR0NFOmTKFdu3YmJbWPSx0Pm83GDz/8QJs2bRgyZAgBAQH06tWL7777zrzQ1awifyP9+vVj8eLFHD16FMMwWLlyJbt372bIkCEmpbaP/Px8PvvsM+655x4sFkutez/9oz8ej7LU5PdTjSw5MU9PT8PT09OYOnWqsXnzZuP99983vLy8jLlz5xqGYRirV682AOPo0aOl9pswYYIxePBgMyJXq0sdjz/KyckxunXrZtxxxx12TmofFTkeL7/8sjFo0KCS/1KsySNLlzoeKSkpBmD4+PgYb7zxhrFlyxZjxowZhsViMVatWmVy+upRkb+RvLw846677jIAw83NzfDw8DA++eQTE1Pbx9dff224urqWvH/WtvfTP/rj8fijmv5+qrLkxNzd3Y2oqKhSjz300ENG7969DcP437/cycnJpba57777jCFDhtgtp71c6nj8Xn5+vnH99dcbXbp0MTIzM+0V0a4udTw2btxoBAYGlnrzq8ll6VLH4+jRowZg3HbbbaW2GTlypHHrrbfaLac9VeTfmddee81o06aNsXjxYiM+Pt74xz/+YdStW9dYvny5vePa1eDBg40RI0aU3K9t76d/9Mfj8Xu14f1Up+GcWOPGjYmMjCz1WERERMk3d4KCggBITU0ttc2xY8cIDAy0T0g7utTxOK+goICxY8dy4MABli9f7vRXzL6YSx2PX3/9lWPHjtGsWTPc3Nxwc3Pj4MGDTJ48mbCwMBMSV69LHQ9/f3/c3Nwq9DdUU1zqmOTk5PD000/zxhtvMHLkSDp27MjEiRO55ZZbeP31182IbBcHDx5kxYoV3HfffSWP1bb3098r63icV1veT1WWnFjfvn1JTEws9dju3bsJDQ0FoHnz5gQFBZV8gwGKzzv//PPP9OnTx65Z7eFSxwP+9y/2nj17WLFiBQ0bNrR3TLu51PGIjo5m69atxMXFldyCg4OZMmUKy5YtMyNytbrU8fDw8KBHjx6X/BuqSS51TAoKCigoKMDFpfRHhaurKzabzW457W327NkEBAQwfPjwksdq2/vp75V1PKB2vZ/qNJwTW79+veHm5mZMnz7d2LNnj/H5558bPj4+xmeffVayzcyZMw2r1Wp8++23xrZt24zbbrvNaNy4sZGVlWVi8upxqeNRUFBgjBo1ymjatKkRFxdnpKSklNzy8vJMTl/1KvL38Uc1+TRcRY7Ht99+a7i7uxv/+te/jD179hj/+Mc/DFdXV+PXX381MXn1qcgxufrqq4127doZK1euNPbv32/Mnj3b8PLyMt59910Tk1efoqIio1mzZsaTTz55wc9q0/vpeRc7HrXt/VRlycl9//33Rvv27Q1PT08jPDzc+Ne//lXq5zabzXjhhReMoKAgw9PT0/jTn/5kbNu2zaS01a+843HgwAEDKPO2cuVK80JXo0v9ffxRTS5LhlGx4/HRRx8ZrVq1Mry8vIxOnToZ3333nQlJ7edSxyQlJcUYN26cERwcbHh5eRlt27Y1Zs2addGvjzu7ZcuWGYCRmJh4wc9q2/upYVz8eNS291OLYRiGGSNaIiIiIs5Ac5ZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDlUlkSkVgsLC+Ott94yO4aIODCVJRFxWiNHjmTgwIFl/mzt2rVYLBY2b95s51QiUtOoLImI07r33nv56aefOHjw4AU/+/jjj+ncuTNdu3Y1IZmI1CQqSyLitEaMGEFAQABz5swp9fjZs2f5+uuvuffee1mwYAHt2rXD09OTsLAwZs2addHnS0pKwmKxEBcXV/LYqVOnsFgsrFq1CoBVq1ZhsVhYtmwZXbp0wdvbm2uvvZZjx46xdOlSIiIiqFevHrfddhtnz54teR7DMHj11Vdp0aIF3t7edOrUifnz51fl4RCRaqKyJCJOy83Njbvuuos5c+bw+2uCz5s3j/z8fKKiohg7diy33nor27ZtY9q0aTz33HMXlKvKmDZtGu+88w5r1qzh8OHDjB07lrfeeosvvviCH374geXLl/OPf/yjZPtnn32W2bNn895777Fjxw4mTZrEnXfeyc8//3zFWUSkelmM37/DiIg4mV27dhEREcFPP/3ENddcA8DVV19NkyZNsFgsHD9+nP/+978l2z/xxBP88MMP7NixAyie4P3oo4/y6KOPkpSURPPmzdmyZQudO3cGikeW6tevz8qVK+nfvz+rVq3immuuYcWKFQwYMACAmTNnMnXqVPbt20eLFi0AeOCBB0hKSiImJobs7Gz8/f356aefiIqKKsly3333cfbsWb744gt7HCoRqSSNLImIUwsPD6dPnz58/PHHAOzbt49ff/2Ve+65h4SEBPr27Vtq+759+7Jnzx6Kioqu6Pd27Nix5J8DAwPx8fEpKUrnHzt27BgAO3fuJDc3l0GDBlG3bt2S2yeffMK+ffuuKIeIVD83swOIiFype++9l4kTJ/LPf/6T2bNnExoayoABAzAMA4vFUmrb8gbTXVxcLtimoKCgzG3d3d1L/tlisZS6f/4xm80GUPK/P/zwA02aNCm1naen56VenoiYTCNLIuL0xo4di6urK1988QVz585l/PjxWCwWIiMj+e2330ptu2bNGtq0aYOrq+sFz9OoUSMAUlJSSh77/WTvyoqMjMTT05NDhw7RqlWrUreQkJArfn4RqV4aWRIRp1e3bl1uueUWnn76aTIzMxk3bhwAkydPpkePHrz00kvccsstrF27lnfeeYd33323zOfx9vamd+/ezJw5k7CwME6cOMGzzz57xfl8fX15/PHHmTRpEjabjX79+pGVlcWaNWuoW7cud9999xX/DhGpPhpZEpEa4d577yUjI4OBAwfSrFkzALp27co333zDV199Rfv27Xn++ed58cUXS8pUWT7++GMKCgro3r07jzzyCP/3f/9XJfleeuklnn/+eWbMmEFERARDhgzh+++/p3nz5lXy/CJSffRtOBEREZFyaGRJREREpBwqSyIiIiLlUFkSERERKYfKkoiIiEg5VJZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDn+H6/0aEax166kAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wf.run()" + ] + }, + { + "cell_type": "markdown", + "id": "7716e766-4c2e-4c97-8e65-06b0c8dbf6d1", + "metadata": {}, + "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.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 68e145f76a2745e5047baadb25e4cb09ccfed31b Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Sun, 25 May 2025 17:16:00 +0200 Subject: [PATCH 25/29] Add files via upload --- .../quantum_espresso/pyiron_workflow.ipynb | 4470 +---------------- 1 file changed, 1 insertion(+), 4469 deletions(-) diff --git a/example_workflows/quantum_espresso/pyiron_workflow.ipynb b/example_workflows/quantum_espresso/pyiron_workflow.ipynb index 12ba732..62d6149 100644 --- a/example_workflows/quantum_espresso/pyiron_workflow.ipynb +++ b/example_workflows/quantum_espresso/pyiron_workflow.ipynb @@ -1,4469 +1 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "760acc89-8c02-4bc9-a8f6-2572506b7085", - "metadata": {}, - "source": [ - "# Import and node definition" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "44aa8e82-2d78-4015-a56d-cd487aefc48f", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "from pyiron_workflow import Workflow, to_function_node, as_function_node\n", - "from pyiron_workflow.api import inputs_to_dict\n", - "from python_workflow_definition.pyiron_base import write_workflow_json" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "341dab17-b329-42eb-a485-2f9326a048e9", - "metadata": {}, - "outputs": [], - "source": [ - "from workflow import (\n", - " calculate_qe as _calculate_qe, \n", - " generate_structures as _generate_structures, \n", - " get_bulk_structure as _get_bulk_structure, \n", - " plot_energy_volume_curve as _plot_energy_volume_curve,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "729a1a3a-8377-4148-9b3c-a4a866f9c4ec", - "metadata": {}, - "outputs": [], - "source": [ - "@as_function_node\n", - "def get_values_from_dict(input_dict):\n", - " return list(input_dict.values())" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "6c2711ec-25f8-4ecd-9b9a-d9af1ec81316", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_json_filename = \"pyiron_workflow_qe.json\"" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3e1492bc-49bd-4f9c-9703-582a5a60579b", - "metadata": {}, - "outputs": [], - "source": [ - "calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\n", - "generate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\n", - "get_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\n", - "plot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)" - ] - }, - { - "cell_type": "markdown", - "id": "f8fcdc17-446c-4caa-9089-6f1ee1baa65a", - "metadata": {}, - "source": [ - "# Build the structure \n", - "Everything works as expected. " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7", - "metadata": {}, - "outputs": [], - "source": [ - "wf = Workflow(\"my_workflow\")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "62268668-7f09-4fee-99d2-c770b4e558d9", - "metadata": {}, - "outputs": [], - "source": [ - "wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "b2ea76b0-f79b-461f-8126-7bac3bda4422", - "metadata": {}, - "outputs": [], - "source": [ - "wf.element = \"Al\"\n", - "wf.a = 4.04\n", - "wf.cubic = True\n", - "wf.structure = get_bulk_structure(\n", - " element=wf.element,\n", - " a=wf.a,\n", - " cubic=wf.cubic,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "df1d978c-3d65-4957-951b-205d71ac9410", - "metadata": {}, - "source": [ - "# Setting up the first Quantum ESPRESSO simulation\n", - "The use of the inputs_to_dict() function is not clear: https://github.com/pyiron/pyiron_workflow/issues/648" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "4963bb5f-dc41-4964-ae98-14ed3f9fb8bd", - "metadata": {}, - "outputs": [], - "source": [ - "wf.input_generator_0 = inputs_to_dict(input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "01bc824f-c990-448c-a4da-1ff8b519e720", - "metadata": {}, - "outputs": [], - "source": [ - "wf.working_directory_0 = \"mini\"\n", - "wf.input_dict_0 = wf.input_generator_0(\n", - " structure=wf.structure,\n", - " pseudopotentials=wf.pseudopotentials,\n", - " kpts=(3, 3, 3),\n", - " calculation=\"vc-relax\",\n", - " smearing=0.02,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "95d168a1-48db-434a-b17d-abea6c1633f5", - "metadata": {}, - "outputs": [], - "source": [ - "wf.calc_mini = calculate_qe(\n", - " working_directory=wf.working_directory_0,\n", - " input_dict=wf.input_dict_0,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "ade13785-6a6e-4306-af4a-0e5aaf3f481f", - "metadata": {}, - "source": [ - "# Strain the relaxed structure " - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "fbfb0107-278d-4209-883c-8c0543c5c240", - "metadata": {}, - "outputs": [], - "source": [ - "number_of_strains = 5\n", - "wf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\n", - "wf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n", - " structure=wf.calc_mini[\"structure\"],\n", - " strain_lst=wf.strain_lst,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "54b52092-2ab9-416f-bb8d-1caf95e08322", - "metadata": {}, - "source": [ - "# Static calculation for each strained structure\n", - "When accessing the strained structure for the first time, the initial structure optimization is executed even though this is not intended. " - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "956184d1-887a-4632-9311-b917fb5d7370", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "step 1\n", - "step 2\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "step 3\n", - "step 4\n", - "step 1\n", - "step 2\n", - "step 3\n", - "step 4\n", - "step 1\n", - "step 2\n", - "step 3\n", - "step 4\n", - "step 1\n", - "step 2\n", - "step 3\n", - "step 4\n", - "step 1\n", - "step 2\n", - "step 3\n", - "step 4\n" - ] - } - ], - "source": [ - "job_strain_lst = []\n", - "for i in range(number_of_strains):\n", - " print(\"step 1\")\n", - " setattr(wf, \"input_generator_\" + str(i+1), inputs_to_dict(input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"]))\n", - " print(\"step 2\")\n", - " setattr(wf, \"input_dict_\" + str(i+1), getattr(wf, \"input_generator_\" + str(i+1))(\n", - " structure=wf.structure_lst[\"s_\" + str(i)],\n", - " pseudopotentials=wf.pseudopotentials,\n", - " kpts=(3, 3, 3),\n", - " calculation=\"scf\",\n", - " smearing=0.02,\n", - " ))\n", - " print(\"step 3\")\n", - " setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n", - " working_directory=\"strain_\" + str(i),\n", - " input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n", - " ))\n", - " print(\"step 4\")\n", - " job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))" - ] - }, - { - "cell_type": "markdown", - "id": "d55214aa-afc2-4a52-adf9-8b4fe4b2e778", - "metadata": {}, - "source": [ - "# Collect results\n", - "Again the corresponding calculations get executed during the inputs_to_dict() stage." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "a0643f87-98f1-440e-9f0d-8cf316a69f0f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "collect volume\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", - "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", - "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", - "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n", - "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "collect energy\n" - ] - } - ], - "source": [ - "input_lst = [\"s_0\", \"s_1\", \"s_2\", \"s_3\", \"s_4\"]\n", - "print(\"collect volume\")\n", - "wf.volume_collector = inputs_to_dict(input_specification=input_lst)\n", - "wf.volume_dict = wf.volume_collector(\n", - " s_0=wf.calc_strain_0[\"volume\"],\n", - " s_1=wf.calc_strain_1[\"volume\"],\n", - " s_2=wf.calc_strain_2[\"volume\"],\n", - " s_3=wf.calc_strain_3[\"volume\"],\n", - " s_4=wf.calc_strain_4[\"volume\"],\n", - ")\n", - "print(\"collect energy\")\n", - "wf.energy_collector = inputs_to_dict(input_specification=input_lst)\n", - "wf.energy_dict = wf.energy_collector(\n", - " s_0=wf.calc_strain_0[\"energy\"],\n", - " s_1=wf.calc_strain_1[\"energy\"],\n", - " s_2=wf.calc_strain_2[\"energy\"],\n", - " s_3=wf.calc_strain_3[\"energy\"],\n", - " s_4=wf.calc_strain_4[\"energy\"],\n", - ")\n", - "wf.volume_lst = get_values_from_dict(\n", - " input_dict=wf.volume_dict\n", - ")\n", - "wf.energy_lst = get_values_from_dict(\n", - " input_dict=wf.energy_dict\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "df973942-ac5e-4f87-bf18-fd56ae0f527c", - "metadata": {}, - "source": [ - "# Plot results" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "96808641-c9e4-4d57-9f9c-8b1a9c1b1356", - "metadata": {}, - "outputs": [], - "source": [ - "wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)" - ] - }, - { - "cell_type": "markdown", - "id": "f85532fe-6f81-4194-a6b1-a6897f982432", - "metadata": {}, - "source": [ - "# Visualize Workflow" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "45f45321-dc88-4936-b1e2-6813e0bb63a0", - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflow\n", - "\n", - "my_workflow: Workflow\n", - "\n", - "clustermy_workflowInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure: get_bulk_structure\n", - "\n", - "\n", - "clustermy_workflowstructureInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowstructureOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_generator_0: InputsToDict1365555566900590814\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowcalc_mini\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc_mini: calculate_qe\n", - "\n", - "\n", - "clustermy_workflowcalc_miniInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowcalc_miniOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_2121732433224592438: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowstructure_lst\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "structure_lst: generate_structures\n", - "\n", - "\n", - "clustermy_workflowstructure_lstInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_generator_1: InputsToDict1365555566900590814\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_831302368360736343: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc_strain_0: calculate_qe\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_generator_2: InputsToDict1365555566900590814\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_m7206950132378112467: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc_strain_1: calculate_qe\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_generator_3: InputsToDict1365555566900590814\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_3010464615144454563: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc_strain_2: calculate_qe\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_generator_4: InputsToDict1365555566900590814\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_6398663130157726460: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc_strain_3: calculate_qe\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "input_generator_5: InputsToDict1365555566900590814\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_4050008228617879629: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc_strain_4: calculate_qe\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowvolume_collector\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "volume_collector: InputsToDict3841241579688015087\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_7356370571618912530: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_6606372179995747352: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_m4159712036009065970: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_m8197230119920071064: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_2576097111653382576: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowenergy_collector\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "energy_collector: InputsToDict3841241579688015087\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_2081340579488490851: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_m4142946373780503697: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_m1333376181937535422: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_m5720641638564052623: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "injected_GetItem_6218974934812881568: GetItem\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568Inputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowvolume_lst\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "volume_lst: get_values_from_dict\n", - "\n", - "\n", - "clustermy_workflowvolume_lstInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowvolume_lstOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowenergy_lst\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "energy_lst: get_values_from_dict\n", - "\n", - "\n", - "clustermy_workflowenergy_lstInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowenergy_lstOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "clustermy_workflowplot\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "plot: plot_energy_volume_curve\n", - "\n", - "\n", - "clustermy_workflowplotInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clustermy_workflowplotOutputsWithInjection\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "OutputsWithInjection\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure__element\n", - "\n", - "structure__element\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureInputselement\n", - "\n", - "element\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure__a\n", - "\n", - "structure__a\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureInputsa\n", - "\n", - "a\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure__cubic\n", - "\n", - "structure__cubic\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureInputscubic\n", - "\n", - "cubic\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__pseudopotentials\n", - "\n", - "input_generator_0__pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputspseudopotentials\n", - "\n", - "pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__pseudopotentials->clustermy_workflowinput_generator_0Inputspseudopotentials\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__kpts\n", - "\n", - "input_generator_0__kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputskpts\n", - "\n", - "kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__kpts->clustermy_workflowinput_generator_0Inputskpts\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__calculation\n", - "\n", - "input_generator_0__calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputscalculation\n", - "\n", - "calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__calculation->clustermy_workflowinput_generator_0Inputscalculation\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__smearing\n", - "\n", - "input_generator_0__smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputssmearing\n", - "\n", - "smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_0__smearing->clustermy_workflowinput_generator_0Inputssmearing\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_mini__working_directory\n", - "\n", - "calc_mini__working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniInputsworking_directory\n", - "\n", - "working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_mini__input_dict\n", - "\n", - "calc_mini__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniInputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_mini__input_dict->clustermy_workflowcalc_miniInputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_2121732433224592438__item\n", - "\n", - "injected_GetItem_2121732433224592438__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_2121732433224592438__item->clustermy_workflowinjected_GetItem_2121732433224592438Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure_lst__strain_lst\n", - "\n", - "structure_lst__strain_lst\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstInputsstrain_lst\n", - "\n", - "strain_lst\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__pseudopotentials\n", - "\n", - "input_generator_1__pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputspseudopotentials\n", - "\n", - "pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__pseudopotentials->clustermy_workflowinput_generator_1Inputspseudopotentials\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__kpts\n", - "\n", - "input_generator_1__kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputskpts\n", - "\n", - "kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__kpts->clustermy_workflowinput_generator_1Inputskpts\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__calculation\n", - "\n", - "input_generator_1__calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputscalculation\n", - "\n", - "calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__calculation->clustermy_workflowinput_generator_1Inputscalculation\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__smearing\n", - "\n", - "input_generator_1__smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputssmearing\n", - "\n", - "smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_1__smearing->clustermy_workflowinput_generator_1Inputssmearing\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_831302368360736343__item\n", - "\n", - "injected_GetItem_831302368360736343__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_831302368360736343__item->clustermy_workflowinjected_GetItem_831302368360736343Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_0__working_directory\n", - "\n", - "calc_strain_0__working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0Inputsworking_directory\n", - "\n", - "working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_0__input_dict\n", - "\n", - "calc_strain_0__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0Inputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_0__input_dict->clustermy_workflowcalc_strain_0Inputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__pseudopotentials\n", - "\n", - "input_generator_2__pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputspseudopotentials\n", - "\n", - "pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__pseudopotentials->clustermy_workflowinput_generator_2Inputspseudopotentials\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__kpts\n", - "\n", - "input_generator_2__kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputskpts\n", - "\n", - "kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__kpts->clustermy_workflowinput_generator_2Inputskpts\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__calculation\n", - "\n", - "input_generator_2__calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputscalculation\n", - "\n", - "calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__calculation->clustermy_workflowinput_generator_2Inputscalculation\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__smearing\n", - "\n", - "input_generator_2__smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputssmearing\n", - "\n", - "smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_2__smearing->clustermy_workflowinput_generator_2Inputssmearing\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m7206950132378112467__item\n", - "\n", - "injected_GetItem_m7206950132378112467__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m7206950132378112467__item->clustermy_workflowinjected_GetItem_m7206950132378112467Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_1__working_directory\n", - "\n", - "calc_strain_1__working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1Inputsworking_directory\n", - "\n", - "working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_1__input_dict\n", - "\n", - "calc_strain_1__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1Inputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_1__input_dict->clustermy_workflowcalc_strain_1Inputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__pseudopotentials\n", - "\n", - "input_generator_3__pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputspseudopotentials\n", - "\n", - "pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__pseudopotentials->clustermy_workflowinput_generator_3Inputspseudopotentials\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__kpts\n", - "\n", - "input_generator_3__kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputskpts\n", - "\n", - "kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__kpts->clustermy_workflowinput_generator_3Inputskpts\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__calculation\n", - "\n", - "input_generator_3__calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputscalculation\n", - "\n", - "calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__calculation->clustermy_workflowinput_generator_3Inputscalculation\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__smearing\n", - "\n", - "input_generator_3__smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputssmearing\n", - "\n", - "smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_3__smearing->clustermy_workflowinput_generator_3Inputssmearing\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_3010464615144454563__item\n", - "\n", - "injected_GetItem_3010464615144454563__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_3010464615144454563__item->clustermy_workflowinjected_GetItem_3010464615144454563Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_2__working_directory\n", - "\n", - "calc_strain_2__working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2Inputsworking_directory\n", - "\n", - "working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_2__input_dict\n", - "\n", - "calc_strain_2__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2Inputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_2__input_dict->clustermy_workflowcalc_strain_2Inputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__pseudopotentials\n", - "\n", - "input_generator_4__pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputspseudopotentials\n", - "\n", - "pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__pseudopotentials->clustermy_workflowinput_generator_4Inputspseudopotentials\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__kpts\n", - "\n", - "input_generator_4__kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputskpts\n", - "\n", - "kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__kpts->clustermy_workflowinput_generator_4Inputskpts\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__calculation\n", - "\n", - "input_generator_4__calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputscalculation\n", - "\n", - "calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__calculation->clustermy_workflowinput_generator_4Inputscalculation\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__smearing\n", - "\n", - "input_generator_4__smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputssmearing\n", - "\n", - "smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_4__smearing->clustermy_workflowinput_generator_4Inputssmearing\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_6398663130157726460__item\n", - "\n", - "injected_GetItem_6398663130157726460__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_6398663130157726460__item->clustermy_workflowinjected_GetItem_6398663130157726460Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_3__working_directory\n", - "\n", - "calc_strain_3__working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3Inputsworking_directory\n", - "\n", - "working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_3__input_dict\n", - "\n", - "calc_strain_3__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3Inputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_3__input_dict->clustermy_workflowcalc_strain_3Inputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__pseudopotentials\n", - "\n", - "input_generator_5__pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputspseudopotentials\n", - "\n", - "pseudopotentials\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__pseudopotentials->clustermy_workflowinput_generator_5Inputspseudopotentials\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__kpts\n", - "\n", - "input_generator_5__kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputskpts\n", - "\n", - "kpts\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__kpts->clustermy_workflowinput_generator_5Inputskpts\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__calculation\n", - "\n", - "input_generator_5__calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputscalculation\n", - "\n", - "calculation\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__calculation->clustermy_workflowinput_generator_5Inputscalculation\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__smearing\n", - "\n", - "input_generator_5__smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputssmearing\n", - "\n", - "smearing\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinput_generator_5__smearing->clustermy_workflowinput_generator_5Inputssmearing\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_4050008228617879629__item\n", - "\n", - "injected_GetItem_4050008228617879629__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_4050008228617879629__item->clustermy_workflowinjected_GetItem_4050008228617879629Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_4__working_directory\n", - "\n", - "calc_strain_4__working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4Inputsworking_directory\n", - "\n", - "working_directory\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_4__input_dict\n", - "\n", - "calc_strain_4__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4Inputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputscalc_strain_4__input_dict->clustermy_workflowcalc_strain_4Inputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_7356370571618912530__item\n", - "\n", - "injected_GetItem_7356370571618912530__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_7356370571618912530__item->clustermy_workflowinjected_GetItem_7356370571618912530Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_6606372179995747352__item\n", - "\n", - "injected_GetItem_6606372179995747352__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_6606372179995747352__item->clustermy_workflowinjected_GetItem_6606372179995747352Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m4159712036009065970__item\n", - "\n", - "injected_GetItem_m4159712036009065970__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m4159712036009065970__item->clustermy_workflowinjected_GetItem_m4159712036009065970Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m8197230119920071064__item\n", - "\n", - "injected_GetItem_m8197230119920071064__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m8197230119920071064__item->clustermy_workflowinjected_GetItem_m8197230119920071064Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_2576097111653382576__item\n", - "\n", - "injected_GetItem_2576097111653382576__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_2576097111653382576__item->clustermy_workflowinjected_GetItem_2576097111653382576Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_2081340579488490851__item\n", - "\n", - "injected_GetItem_2081340579488490851__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_2081340579488490851__item->clustermy_workflowinjected_GetItem_2081340579488490851Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m4142946373780503697__item\n", - "\n", - "injected_GetItem_m4142946373780503697__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m4142946373780503697__item->clustermy_workflowinjected_GetItem_m4142946373780503697Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m1333376181937535422__item\n", - "\n", - "injected_GetItem_m1333376181937535422__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m1333376181937535422__item->clustermy_workflowinjected_GetItem_m1333376181937535422Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m5720641638564052623__item\n", - "\n", - "injected_GetItem_m5720641638564052623__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_m5720641638564052623__item->clustermy_workflowinjected_GetItem_m5720641638564052623Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_6218974934812881568__item\n", - "\n", - "injected_GetItem_6218974934812881568__item\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568Inputsitem\n", - "\n", - "item\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsinjected_GetItem_6218974934812881568__item->clustermy_workflowinjected_GetItem_6218974934812881568Inputsitem\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsvolume_lst__input_dict\n", - "\n", - "volume_lst__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstInputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsvolume_lst__input_dict->clustermy_workflowvolume_lstInputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsenergy_lst__input_dict\n", - "\n", - "energy_lst__input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstInputsinput_dict\n", - "\n", - "input_dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowInputsenergy_lst__input_dict->clustermy_workflowenergy_lstInputsinput_dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectioninput_generator_0__dict\n", - "\n", - "input_generator_0__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectioninput_generator_1__dict\n", - "\n", - "input_generator_1__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectioninput_generator_2__dict\n", - "\n", - "input_generator_2__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectioninput_generator_3__dict\n", - "\n", - "input_generator_3__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectioninput_generator_4__dict\n", - "\n", - "input_generator_4__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectioninput_generator_5__dict\n", - "\n", - "input_generator_5__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectionvolume_collector__dict\n", - "\n", - "volume_collector__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectionenergy_collector__dict\n", - "\n", - "energy_collector__dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n", - "\n", - "plot__plot_energy_volume_curve\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n", - "\n", - "get_bulk_structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_generator_0Inputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0OutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_0OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_0__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n", - "\n", - "calculate_qe\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2121732433224592438Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstInputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2121732433224592438OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n", - "\n", - "generate_structures\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_831302368360736343Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7206950132378112467Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_3010464615144454563Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_6398663130157726460Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_4050008228617879629Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1Inputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1OutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_1OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_1__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_831302368360736343OutputsWithInjectiongetitem->clustermy_workflowinput_generator_1Inputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n", - "\n", - "calculate_qe\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7356370571618912530Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2081340579488490851Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2Inputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2OutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_2OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_2__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m7206950132378112467OutputsWithInjectiongetitem->clustermy_workflowinput_generator_2Inputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n", - "\n", - "calculate_qe\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6606372179995747352Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4142946373780503697Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3Inputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3OutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_3OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_3__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_3010464615144454563OutputsWithInjectiongetitem->clustermy_workflowinput_generator_3Inputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n", - "\n", - "calculate_qe\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4159712036009065970Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m1333376181937535422Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4Inputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4OutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_4OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_4__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6398663130157726460OutputsWithInjectiongetitem->clustermy_workflowinput_generator_4Inputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n", - "\n", - "calculate_qe\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m8197230119920071064Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m5720641638564052623Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5Inputsstructure\n", - "\n", - "structure\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5OutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowinput_generator_5OutputsWithInjectiondict->clustermy_workflowOutputsWithInjectioninput_generator_5__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_4050008228617879629OutputsWithInjectiongetitem->clustermy_workflowinput_generator_5Inputsstructure\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n", - "\n", - "calculate_qe\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2576097111653382576Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568Inputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6218974934812881568Inputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputss_0\n", - "\n", - "s_0\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputss_1\n", - "\n", - "s_1\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputss_2\n", - "\n", - "s_2\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputss_3\n", - "\n", - "s_3\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorInputss_4\n", - "\n", - "s_4\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorOutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_collectorOutputsWithInjectiondict->clustermy_workflowOutputsWithInjectionvolume_collector__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_7356370571618912530OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6606372179995747352OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_1\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4159712036009065970OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_2\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m8197230119920071064OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_3\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2576097111653382576OutputsWithInjectiongetitem->clustermy_workflowvolume_collectorInputss_4\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputss_0\n", - "\n", - "s_0\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputss_1\n", - "\n", - "s_1\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputss_2\n", - "\n", - "s_2\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputss_3\n", - "\n", - "s_3\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorInputss_4\n", - "\n", - "s_4\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorOutputsWithInjectiondict\n", - "\n", - "dict: dict\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_collectorOutputsWithInjectiondict->clustermy_workflowOutputsWithInjectionenergy_collector__dict\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_2081340579488490851OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_0\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m4142946373780503697OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_1\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m1333376181937535422OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_2\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_m5720641638564052623OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_3\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectiongetitem\n", - "\n", - "getitem\n", - "\n", - "\n", - "\n", - "clustermy_workflowinjected_GetItem_6218974934812881568OutputsWithInjectiongetitem->clustermy_workflowenergy_collectorInputss_4\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())\n", - "\n", - "list(input_dict.values())\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotInputsvolume_lst\n", - "\n", - "volume_lst\n", - "\n", - "\n", - "\n", - "clustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsvolume_lst\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())\n", - "\n", - "list(input_dict.values())\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotInputsenergy_lst\n", - "\n", - "energy_lst\n", - "\n", - "\n", - "\n", - "clustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsenergy_lst\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotOutputsWithInjectionran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotOutputsWithInjectionfailed\n", - "\n", - "failed\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n", - "\n", - "plot_energy_volume_curve\n", - "\n", - "\n", - "\n", - "clustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wf.draw(size=(10,10))" - ] - }, - { - "cell_type": "markdown", - "id": "fef7107a-5af3-4434-ae4c-a8d45e1d9b61", - "metadata": {}, - "source": [ - "# Final execution" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "cc089d38-2a37-4033-ad49-65ba22d5c564", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'input_generator_0__dict': {'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.04, 0.0, 0.0], [0.0, 4.04, 0.0], [0.0, 0.0, 4.04]], \"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.02, 2.02], [2.02, 0.0, 2.02], [2.02, 2.02, 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\": []}',\n", - " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", - " 'kpts': (3, 3, 3),\n", - " 'calculation': 'vc-relax',\n", - " 'smearing': 0.02},\n", - " 'input_generator_1__dict': {'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.9055986264548013, 0.0, 0.0], [0.0, 3.9055986264548013, 0.0], [0.0, 0.0, 3.9055986264548013]], \"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.9527993132273997, 1.9527993132273997], [1.9527993132273997, 0.0, 1.9527993132273997], [1.9527993132273997, 1.9527993132273997, 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\": []}',\n", - " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", - " 'kpts': (3, 3, 3),\n", - " 'calculation': 'scf',\n", - " 'smearing': 0.02},\n", - " 'input_generator_2__dict': {'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.9766250256920435, 0.0, 0.0], [0.0, 3.9766250256920435, 0.0], [0.0, 0.0, 3.9766250256920435]], \"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.9883125128460208, 1.9883125128460208], [1.9883125128460208, 0.0, 1.9883125128460208], [1.9883125128460208, 1.9883125128460208, 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\": []}',\n", - " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", - " 'kpts': (3, 3, 3),\n", - " 'calculation': 'scf',\n", - " 'smearing': 0.02},\n", - " 'input_generator_3__dict': {'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.045201002443034, 0.0, 0.0], [0.0, 4.045201002443034, 0.0], [0.0, 0.0, 4.045201002443034]], \"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.022600501221516, 2.022600501221516], [2.022600501221516, 0.0, 2.022600501221516], [2.022600501221516, 2.022600501221516, 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\": []}',\n", - " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", - " 'kpts': (3, 3, 3),\n", - " 'calculation': 'scf',\n", - " 'smearing': 0.02},\n", - " 'input_generator_4__dict': {'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.111527561466893, 0.0, 0.0], [0.0, 4.111527561466893, 0.0], [0.0, 0.0, 4.111527561466893]], \"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.0557637807334457, 2.0557637807334457], [2.0557637807334457, 0.0, 2.0557637807334457], [2.0557637807334457, 2.0557637807334457, 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\": []}',\n", - " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", - " 'kpts': (3, 3, 3),\n", - " 'calculation': 'scf',\n", - " 'smearing': 0.02},\n", - " 'input_generator_5__dict': {'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.175780557846108, 0.0, 0.0], [0.0, 4.175780557846108, 0.0], [0.0, 0.0, 4.175780557846108]], \"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.087890278923053, 2.087890278923053], [2.087890278923053, 0.0, 2.087890278923053], [2.087890278923053, 2.087890278923053, 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\": []}',\n", - " 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'},\n", - " 'kpts': (3, 3, 3),\n", - " 'calculation': 'scf',\n", - " 'smearing': 0.02},\n", - " 'volume_collector__dict': {'s_0': 59.57483145145856,\n", - " 's_1': 62.884544309872865,\n", - " 's_2': 66.19425716828721,\n", - " 's_3': 69.50397002670157,\n", - " 's_4': 72.81368288511631},\n", - " 'energy_collector__dict': {'s_0': -1074.845158948895,\n", - " 's_1': -1074.9158838021476,\n", - " 's_2': -1074.9365252211035,\n", - " 's_3': -1074.919508024681,\n", - " 's_4': -1074.8741964554818},\n", - " 'plot__plot_energy_volume_curve': None}" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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yqGyJCIiIlIOlSURERGRcqgsObmjR49y55130rBhQ3x8fOjcuTObNm0q+blhGEybNo3g4GC8vb3p378/O3bsMDFx9SrveBQUFPDkk0/SoUMH6tSpQ3BwMHfddRfJyckmp64+l/r7+L37778fi8XCW2+9Zd+QdlSR45GQkMCoUaOwWq34+vrSu3dvDh06ZFLi6nepY3LmzBkmTpxI06ZN8fb2JiIigvfee8/ExNUnLCwMi8Vywe2vf/0rUPveT8s7HrXt/VRlyYllZGTQt29f3N3dWbp0KTt37mTWrFn4+fmVbPPqq6/yxhtv8M4777BhwwaCgoIYNGhQySVaapJLHY+zZ8+yefNmnnvuOTZv3sy3337L7t27GTVqlLnBq0lF/j7O++6771i3bh3BwcH2D2onFTke+/bto1+/foSHh7Nq1Sri4+N57rnn8PLyMi94NarIMZk0aRIxMTF89tlnJCQkMGnSJB566CEWLVpkXvBqsmHDBlJSUkpuy5cvB2DMmDFA7Xo/hfKPR217P8UQp/Xkk08a/fr1u+jPbTabERQUZMycObPksdzcXMNqtRrvv/++PSLa1aWOR1nWr19vAMbBgwerKZV5Kno8jhw5YjRp0sTYvn27ERoaarz55pvVH84EFTket9xyi3HnnXfaKZH5KnJM2rVrZ7z44oulHuvatavx7LPPVmc0h/DII48YLVu2NGw2W617Py3L749HWWry+6lGlpzY4sWL6d69O2PGjCEgIIAuXbrw4Ycflvz8wIEDpKamllx8GIrXxrj66qtZs2aNGZGr1aWOR1kyMzOxWCxljrY4u4ocD5vNRnR0NFOmTKFdu3YmJbWPSx0Pm83GDz/8QJs2bRgyZAgBAQH06tWL7777zrzQ1awifyP9+vVj8eLFHD16FMMwWLlyJbt372bIkCEmpbaP/Px8PvvsM+655x4sFkutez/9oz8ej7LU5PdTjSw5MU9PT8PT09OYOnWqsXnzZuP99983vLy8jLlz5xqGYRirV682AOPo0aOl9pswYYIxePBgMyJXq0sdjz/KyckxunXrZtxxxx12TmofFTkeL7/8sjFo0KCS/1KsySNLlzoeKSkpBmD4+PgYb7zxhrFlyxZjxowZhsViMVatWmVy+upRkb+RvLw846677jIAw83NzfDw8DA++eQTE1Pbx9dff224urqWvH/WtvfTP/rj8fijmv5+qrLkxNzd3Y2oqKhSjz300ENG7969DcP437/cycnJpba57777jCFDhtgtp71c6nj8Xn5+vnH99dcbXbp0MTIzM+0V0a4udTw2btxoBAYGlnrzq8ll6VLH4+jRowZg3HbbbaW2GTlypHHrrbfaLac9VeTfmddee81o06aNsXjxYiM+Pt74xz/+YdStW9dYvny5vePa1eDBg40RI0aU3K9t76d/9Mfj8Xu14f1Up+GcWOPGjYmMjCz1WERERMk3d4KCggBITU0ttc2xY8cIDAy0T0g7utTxOK+goICxY8dy4MABli9f7vRXzL6YSx2PX3/9lWPHjtGsWTPc3Nxwc3Pj4MGDTJ48mbCwMBMSV69LHQ9/f3/c3Nwq9DdUU1zqmOTk5PD000/zxhtvMHLkSDp27MjEiRO55ZZbeP31182IbBcHDx5kxYoV3HfffSWP1bb3098r63icV1veT1WWnFjfvn1JTEws9dju3bsJDQ0FoHnz5gQFBZV8gwGKzzv//PPP9OnTx65Z7eFSxwP+9y/2nj17WLFiBQ0bNrR3TLu51PGIjo5m69atxMXFldyCg4OZMmUKy5YtMyNytbrU8fDw8KBHjx6X/BuqSS51TAoKCigoKMDFpfRHhaurKzabzW457W327NkEBAQwfPjwksdq2/vp75V1PKB2vZ/qNJwTW79+veHm5mZMnz7d2LNnj/H5558bPj4+xmeffVayzcyZMw2r1Wp8++23xrZt24zbbrvNaNy4sZGVlWVi8upxqeNRUFBgjBo1ymjatKkRFxdnpKSklNzy8vJMTl/1KvL38Uc1+TRcRY7Ht99+a7i7uxv/+te/jD179hj/+Mc/DFdXV+PXX381MXn1qcgxufrqq4127doZK1euNPbv32/Mnj3b8PLyMt59910Tk1efoqIio1mzZsaTTz55wc9q0/vpeRc7HrXt/VRlycl9//33Rvv27Q1PT08jPDzc+Ne//lXq5zabzXjhhReMoKAgw9PT0/jTn/5kbNu2zaS01a+843HgwAEDKPO2cuVK80JXo0v9ffxRTS5LhlGx4/HRRx8ZrVq1Mry8vIxOnToZ3333nQlJ7edSxyQlJcUYN26cERwcbHh5eRlt27Y1Zs2addGvjzu7ZcuWGYCRmJh4wc9q2/upYVz8eNS291OLYRiGGSNaIiIiIs5Ac5ZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDlUlkSkVgsLC+Ott94yO4aIODCVJRFxWiNHjmTgwIFl/mzt2rVYLBY2b95s51QiUtOoLImI07r33nv56aefOHjw4AU/+/jjj+ncuTNdu3Y1IZmI1CQqSyLitEaMGEFAQABz5swp9fjZs2f5+uuvuffee1mwYAHt2rXD09OTsLAwZs2addHnS0pKwmKxEBcXV/LYqVOnsFgsrFq1CoBVq1ZhsVhYtmwZXbp0wdvbm2uvvZZjx46xdOlSIiIiqFevHrfddhtnz54teR7DMHj11Vdp0aIF3t7edOrUifnz51fl4RCRaqKyJCJOy83Njbvuuos5c+bw+2uCz5s3j/z8fKKiohg7diy33nor27ZtY9q0aTz33HMXlKvKmDZtGu+88w5r1qzh8OHDjB07lrfeeosvvviCH374geXLl/OPf/yjZPtnn32W2bNn895777Fjxw4mTZrEnXfeyc8//3zFWUSkelmM37/DiIg4mV27dhEREcFPP/3ENddcA8DVV19NkyZNsFgsHD9+nP/+978l2z/xxBP88MMP7NixAyie4P3oo4/y6KOPkpSURPPmzdmyZQudO3cGikeW6tevz8qVK+nfvz+rVq3immuuYcWKFQwYMACAmTNnMnXqVPbt20eLFi0AeOCBB0hKSiImJobs7Gz8/f356aefiIqKKsly3333cfbsWb744gt7HCoRqSSNLImIUwsPD6dPnz58/PHHAOzbt49ff/2Ve+65h4SEBPr27Vtq+759+7Jnzx6Kioqu6Pd27Nix5J8DAwPx8fEpKUrnHzt27BgAO3fuJDc3l0GDBlG3bt2S2yeffMK+ffuuKIeIVD83swOIiFype++9l4kTJ/LPf/6T2bNnExoayoABAzAMA4vFUmrb8gbTXVxcLtimoKCgzG3d3d1L/tlisZS6f/4xm80GUPK/P/zwA02aNCm1naen56VenoiYTCNLIuL0xo4di6urK1988QVz585l/PjxWCwWIiMj+e2330ptu2bNGtq0aYOrq+sFz9OoUSMAUlJSSh77/WTvyoqMjMTT05NDhw7RqlWrUreQkJArfn4RqV4aWRIRp1e3bl1uueUWnn76aTIzMxk3bhwAkydPpkePHrz00kvccsstrF27lnfeeYd33323zOfx9vamd+/ezJw5k7CwME6cOMGzzz57xfl8fX15/PHHmTRpEjabjX79+pGVlcWaNWuoW7cud9999xX/DhGpPhpZEpEa4d577yUjI4OBAwfSrFkzALp27co333zDV199Rfv27Xn++ed58cUXS8pUWT7++GMKCgro3r07jzzyCP/3f/9XJfleeuklnn/+eWbMmEFERARDhgzh+++/p3nz5lXy/CJSffRtOBEREZFyaGRJREREpBwqSyIiIiLlUFkSERERKYfKkoiIiEg5VJZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDn+H6/0aEax166kAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "wf.run()" - ] - }, - { - "cell_type": "markdown", - "id": "7716e766-4c2e-4c97-8e65-06b0c8dbf6d1", - "metadata": {}, - "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.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.12.8","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"760acc89-8c02-4bc9-a8f6-2572506b7085","cell_type":"markdown","source":"# Import and node definition","metadata":{}},{"id":"44aa8e82-2d78-4015-a56d-cd487aefc48f","cell_type":"code","source":"import numpy as np\nfrom pyiron_workflow import Workflow, to_function_node, as_function_node\nfrom pyiron_workflow.api import inputs_to_dict\nfrom python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"341dab17-b329-42eb-a485-2f9326a048e9","cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"729a1a3a-8377-4148-9b3c-a4a866f9c4ec","cell_type":"code","source":"@as_function_node\ndef get_values_from_dict(input_dict):\n return list(input_dict.values())","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"6c2711ec-25f8-4ecd-9b9a-d9af1ec81316","cell_type":"code","source":"workflow_json_filename = \"pyiron_workflow_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"3e1492bc-49bd-4f9c-9703-582a5a60579b","cell_type":"code","source":"calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\ngenerate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\nget_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\nplot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"f8fcdc17-446c-4caa-9089-6f1ee1baa65a","cell_type":"markdown","source":"# Build the structure \nEverything works as expected. ","metadata":{}},{"id":"a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7","cell_type":"code","source":"wf = Workflow(\"my_workflow\")","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"62268668-7f09-4fee-99d2-c770b4e558d9","cell_type":"code","source":"wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"b2ea76b0-f79b-461f-8126-7bac3bda4422","cell_type":"code","source":"wf.element = \"Al\"\nwf.a = 4.04\nwf.cubic = True\nwf.structure = get_bulk_structure(\n element=wf.element,\n a=wf.a,\n cubic=wf.cubic,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"df1d978c-3d65-4957-951b-205d71ac9410","cell_type":"markdown","source":"# Setting up the first Quantum ESPRESSO simulation\nThe use of the inputs_to_dict() function is not clear: https://github.com/pyiron/pyiron_workflow/issues/648","metadata":{}},{"id":"01bc824f-c990-448c-a4da-1ff8b519e720","cell_type":"code","source":"wf.working_directory_0 = \"mini\"\ninput_dict = {\n \"structure\": wf.structure, \n \"pseudopotentials\": wf.pseudopotentials, \n \"kpts\": (3, 3, 3), \n \"calculation\": \"vc-relax\", \n \"smearing\": 0.02,\n}\nwf.input_dict_0 = inputs_to_dict(\n input_specification=list(input_dict.keys()),\n **input_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"95d168a1-48db-434a-b17d-abea6c1633f5","cell_type":"code","source":"wf.calc_mini = calculate_qe(\n working_directory=wf.working_directory_0,\n input_dict=wf.input_dict_0,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"ade13785-6a6e-4306-af4a-0e5aaf3f481f","cell_type":"markdown","source":"# Strain the relaxed structure ","metadata":{}},{"id":"fbfb0107-278d-4209-883c-8c0543c5c240","cell_type":"code","source":"number_of_strains = 5\nwf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\nwf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=wf.calc_mini[\"structure\"],\n strain_lst=wf.strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"54b52092-2ab9-416f-bb8d-1caf95e08322","cell_type":"markdown","source":"# Static calculation for each strained structure\nWhen accessing the strained structure for the first time, the initial structure optimization is executed even though this is not intended. ","metadata":{}},{"id":"956184d1-887a-4632-9311-b917fb5d7370","cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n setattr(wf, \"input_dict_\" + str(i+1), inputs_to_dict(\n input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"],\n structure=wf.structure_lst[\"s_\" + str(i)],\n pseudopotentials=wf.pseudopotentials,\n kpts=(3, 3, 3),\n calculation=\"scf\",\n smearing=0.02,\n ))\n setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n ))\n job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"d55214aa-afc2-4a52-adf9-8b4fe4b2e778","cell_type":"markdown","source":"# Collect results\nAgain the corresponding calculations get executed during the inputs_to_dict() stage.","metadata":{}},{"id":"a0643f87-98f1-440e-9f0d-8cf316a69f0f","cell_type":"code","source":"volume_dict = {\"s_\" + str(i): j[\"volume\"] for i, j in enumerate(job_strain_lst)}\nwf.volume_dict = inputs_to_dict(\n input_specification=list(volume_dict.keys()),\n **volume_dict\n)\nenergy_dict = {\"s_\" + str(i): j[\"energy\"] for i, j in enumerate(job_strain_lst)}\nwf.energy_dict = inputs_to_dict(\n input_specification=list(energy_dict.keys()),\n **energy_dict,\n)\nwf.volume_lst = get_values_from_dict(\n input_dict=wf.volume_dict\n)\nwf.energy_lst = get_values_from_dict(\n input_dict=wf.energy_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"id":"df973942-ac5e-4f87-bf18-fd56ae0f527c","cell_type":"markdown","source":"# Plot results","metadata":{}},{"id":"96808641-c9e4-4d57-9f9c-8b1a9c1b1356","cell_type":"code","source":"wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"id":"f85532fe-6f81-4194-a6b1-a6897f982432","cell_type":"markdown","source":"# Visualize Workflow","metadata":{}},{"id":"45f45321-dc88-4936-b1e2-6813e0bb63a0","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":15,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclustermy_workflow\n\nmy_workflow: Workflow\n\nclustermy_workflowInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure\n\n\n\n\n\n\n\nstructure: get_bulk_structure\n\n\nclustermy_workflowstructureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_0\n\n\n\n\n\n\n\ninput_dict_0: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_mini\n\n\n\n\n\n\n\ncalc_mini: calculate_qe\n\n\nclustermy_workflowcalc_miniInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_miniOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594\n\n\n\n\n\n\n\ninjected_GetItem_6893473693092224594: GetItem\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure_lst\n\n\n\n\n\n\n\nstructure_lst: generate_structures\n\n\nclustermy_workflowstructure_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructure_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796\n\n\n\n\n\n\n\ninjected_GetItem_7663184949157985796: GetItem\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_1\n\n\n\n\n\n\n\ninput_dict_1: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_0\n\n\n\n\n\n\n\ncalc_strain_0: calculate_qe\n\n\nclustermy_workflowcalc_strain_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157\n\n\n\n\n\n\n\ninjected_GetItem_m2100437354878988157: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_2\n\n\n\n\n\n\n\ninput_dict_2: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_1\n\n\n\n\n\n\n\ncalc_strain_1: calculate_qe\n\n\nclustermy_workflowcalc_strain_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501\n\n\n\n\n\n\n\ninjected_GetItem_m5359563128525112501: GetItem\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_3\n\n\n\n\n\n\n\ninput_dict_3: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_2\n\n\n\n\n\n\n\ncalc_strain_2: calculate_qe\n\n\nclustermy_workflowcalc_strain_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204\n\n\n\n\n\n\n\ninjected_GetItem_m7118231691986333204: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_4\n\n\n\n\n\n\n\ninput_dict_4: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_3\n\n\n\n\n\n\n\ncalc_strain_3: calculate_qe\n\n\nclustermy_workflowcalc_strain_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106\n\n\n\n\n\n\n\ninjected_GetItem_2853905615563879106: GetItem\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_5\n\n\n\n\n\n\n\ninput_dict_5: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_4\n\n\n\n\n\n\n\ncalc_strain_4: calculate_qe\n\n\nclustermy_workflowcalc_strain_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274\n\n\n\n\n\n\n\ninjected_GetItem_8526442958949134274: GetItem\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138\n\n\n\n\n\n\n\ninjected_GetItem_m990910382644802138: GetItem\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901\n\n\n\n\n\n\n\ninjected_GetItem_7516928586007102901: GetItem\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921\n\n\n\n\n\n\n\ninjected_GetItem_m6923884873187440921: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282\n\n\n\n\n\n\n\ninjected_GetItem_5583059493426393282: GetItem\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_dict\n\n\n\n\n\n\n\nvolume_dict: InputsToDict1744893334685936808\n\n\nclustermy_workflowvolume_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765\n\n\n\n\n\n\n\ninjected_GetItem_4264757878082205765: GetItem\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311\n\n\n\n\n\n\n\ninjected_GetItem_m2778840377790256311: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815\n\n\n\n\n\n\n\ninjected_GetItem_7850836312238319815: GetItem\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326\n\n\n\n\n\n\n\ninjected_GetItem_m4962345605998186326: GetItem\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835\n\n\n\n\n\n\n\ninjected_GetItem_2800779218575072835: GetItem\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_dict\n\n\n\n\n\n\n\nenergy_dict: InputsToDict1744893334685936808\n\n\nclustermy_workflowenergy_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_lst\n\n\n\n\n\n\n\nvolume_lst: get_values_from_dict\n\n\nclustermy_workflowvolume_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_lst\n\n\n\n\n\n\n\nenergy_lst: get_values_from_dict\n\n\nclustermy_workflowenergy_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowplot\n\n\n\n\n\n\n\nplot: plot_energy_volume_curve\n\n\nclustermy_workflowplotInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowplotOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclustermy_workflowInputsrun\n\nrun\n\n\n\nclustermy_workflowOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowInputsstructure__element\n\nstructure__element\n\n\n\nclustermy_workflowstructureInputselement\n\nelement\n\n\n\nclustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n\n\n\n\n\n\nclustermy_workflowInputsstructure__a\n\nstructure__a\n\n\n\nclustermy_workflowstructureInputsa\n\na\n\n\n\nclustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n\n\n\n\n\n\nclustermy_workflowInputsstructure__cubic\n\nstructure__cubic\n\n\n\nclustermy_workflowstructureInputscubic\n\ncubic\n\n\n\nclustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials\n\ninput_dict_0__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials->clustermy_workflowinput_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts\n\ninput_dict_0__kpts\n\n\n\nclustermy_workflowinput_dict_0Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts->clustermy_workflowinput_dict_0Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation\n\ninput_dict_0__calculation\n\n\n\nclustermy_workflowinput_dict_0Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation->clustermy_workflowinput_dict_0Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing\n\ninput_dict_0__smearing\n\n\n\nclustermy_workflowinput_dict_0Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing->clustermy_workflowinput_dict_0Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_mini__working_directory\n\ncalc_mini__working_directory\n\n\n\nclustermy_workflowcalc_miniInputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_6893473693092224594__item\n\ninjected_GetItem_6893473693092224594__item\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_6893473693092224594__item->clustermy_workflowinjected_GetItem_6893473693092224594Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst\n\nstructure_lst__strain_lst\n\n\n\nclustermy_workflowstructure_lstInputsstrain_lst\n\nstrain_lst\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7663184949157985796__item\n\ninjected_GetItem_7663184949157985796__item\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7663184949157985796__item->clustermy_workflowinjected_GetItem_7663184949157985796Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials\n\ninput_dict_1__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials->clustermy_workflowinput_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts\n\ninput_dict_1__kpts\n\n\n\nclustermy_workflowinput_dict_1Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts->clustermy_workflowinput_dict_1Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation\n\ninput_dict_1__calculation\n\n\n\nclustermy_workflowinput_dict_1Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation->clustermy_workflowinput_dict_1Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing\n\ninput_dict_1__smearing\n\n\n\nclustermy_workflowinput_dict_1Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing->clustermy_workflowinput_dict_1Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory\n\ncalc_strain_0__working_directory\n\n\n\nclustermy_workflowcalc_strain_0Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2100437354878988157__item\n\ninjected_GetItem_m2100437354878988157__item\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2100437354878988157__item->clustermy_workflowinjected_GetItem_m2100437354878988157Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials\n\ninput_dict_2__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials->clustermy_workflowinput_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts\n\ninput_dict_2__kpts\n\n\n\nclustermy_workflowinput_dict_2Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts->clustermy_workflowinput_dict_2Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation\n\ninput_dict_2__calculation\n\n\n\nclustermy_workflowinput_dict_2Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation->clustermy_workflowinput_dict_2Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing\n\ninput_dict_2__smearing\n\n\n\nclustermy_workflowinput_dict_2Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing->clustermy_workflowinput_dict_2Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory\n\ncalc_strain_1__working_directory\n\n\n\nclustermy_workflowcalc_strain_1Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m5359563128525112501__item\n\ninjected_GetItem_m5359563128525112501__item\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m5359563128525112501__item->clustermy_workflowinjected_GetItem_m5359563128525112501Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials\n\ninput_dict_3__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials->clustermy_workflowinput_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts\n\ninput_dict_3__kpts\n\n\n\nclustermy_workflowinput_dict_3Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts->clustermy_workflowinput_dict_3Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation\n\ninput_dict_3__calculation\n\n\n\nclustermy_workflowinput_dict_3Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation->clustermy_workflowinput_dict_3Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing\n\ninput_dict_3__smearing\n\n\n\nclustermy_workflowinput_dict_3Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing->clustermy_workflowinput_dict_3Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory\n\ncalc_strain_2__working_directory\n\n\n\nclustermy_workflowcalc_strain_2Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7118231691986333204__item\n\ninjected_GetItem_m7118231691986333204__item\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7118231691986333204__item->clustermy_workflowinjected_GetItem_m7118231691986333204Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials\n\ninput_dict_4__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials->clustermy_workflowinput_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts\n\ninput_dict_4__kpts\n\n\n\nclustermy_workflowinput_dict_4Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts->clustermy_workflowinput_dict_4Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation\n\ninput_dict_4__calculation\n\n\n\nclustermy_workflowinput_dict_4Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation->clustermy_workflowinput_dict_4Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing\n\ninput_dict_4__smearing\n\n\n\nclustermy_workflowinput_dict_4Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing->clustermy_workflowinput_dict_4Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory\n\ncalc_strain_3__working_directory\n\n\n\nclustermy_workflowcalc_strain_3Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_2853905615563879106__item\n\ninjected_GetItem_2853905615563879106__item\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_2853905615563879106__item->clustermy_workflowinjected_GetItem_2853905615563879106Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials\n\ninput_dict_5__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials->clustermy_workflowinput_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts\n\ninput_dict_5__kpts\n\n\n\nclustermy_workflowinput_dict_5Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts->clustermy_workflowinput_dict_5Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation\n\ninput_dict_5__calculation\n\n\n\nclustermy_workflowinput_dict_5Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation->clustermy_workflowinput_dict_5Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing\n\ninput_dict_5__smearing\n\n\n\nclustermy_workflowinput_dict_5Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing->clustermy_workflowinput_dict_5Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory\n\ncalc_strain_4__working_directory\n\n\n\nclustermy_workflowcalc_strain_4Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_8526442958949134274__item\n\ninjected_GetItem_8526442958949134274__item\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_8526442958949134274__item->clustermy_workflowinjected_GetItem_8526442958949134274Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m990910382644802138__item\n\ninjected_GetItem_m990910382644802138__item\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m990910382644802138__item->clustermy_workflowinjected_GetItem_m990910382644802138Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7516928586007102901__item\n\ninjected_GetItem_7516928586007102901__item\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7516928586007102901__item->clustermy_workflowinjected_GetItem_7516928586007102901Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6923884873187440921__item\n\ninjected_GetItem_m6923884873187440921__item\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6923884873187440921__item->clustermy_workflowinjected_GetItem_m6923884873187440921Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_5583059493426393282__item\n\ninjected_GetItem_5583059493426393282__item\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_5583059493426393282__item->clustermy_workflowinjected_GetItem_5583059493426393282Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4264757878082205765__item\n\ninjected_GetItem_4264757878082205765__item\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4264757878082205765__item->clustermy_workflowinjected_GetItem_4264757878082205765Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2778840377790256311__item\n\ninjected_GetItem_m2778840377790256311__item\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2778840377790256311__item->clustermy_workflowinjected_GetItem_m2778840377790256311Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7850836312238319815__item\n\ninjected_GetItem_7850836312238319815__item\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7850836312238319815__item->clustermy_workflowinjected_GetItem_7850836312238319815Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4962345605998186326__item\n\ninjected_GetItem_m4962345605998186326__item\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4962345605998186326__item->clustermy_workflowinjected_GetItem_m4962345605998186326Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_2800779218575072835__item\n\ninjected_GetItem_2800779218575072835__item\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_2800779218575072835__item->clustermy_workflowinjected_GetItem_2800779218575072835Inputsitem\n\n\n\n\n\n\nclustermy_workflowOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\nplot__plot_energy_volume_curve\n\n\n\nclustermy_workflowstructureInputsrun\n\nrun\n\n\n\nclustermy_workflowstructureOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclustermy_workflowinput_dict_0Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_dict_0Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_miniInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict->clustermy_workflowcalc_miniInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_miniInputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_miniInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6893473693092224594Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowstructure_lstInputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n\n\n\n\n\n\nclustermy_workflowstructure_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructure_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_7663184949157985796Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m2100437354878988157Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m5359563128525112501Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7118231691986333204Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_2853905615563879106Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_1Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectiongetitem->clustermy_workflowinput_dict_1Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_0Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict->clustermy_workflowcalc_strain_0Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_8526442958949134274Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_4264757878082205765Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_2Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectiongetitem->clustermy_workflowinput_dict_2Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_1Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict->clustermy_workflowcalc_strain_1Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m990910382644802138Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m2778840377790256311Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_3Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectiongetitem->clustermy_workflowinput_dict_3Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_2Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict->clustermy_workflowcalc_strain_2Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7516928586007102901Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7850836312238319815Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_4Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectiongetitem->clustermy_workflowinput_dict_4Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_3Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict->clustermy_workflowcalc_strain_3Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m6923884873187440921Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4962345605998186326Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_5Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectiongetitem->clustermy_workflowinput_dict_5Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_5Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_4Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict->clustermy_workflowcalc_strain_4Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_5583059493426393282Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2800779218575072835Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowvolume_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowvolume_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict->clustermy_workflowvolume_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowenergy_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowenergy_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict->clustermy_workflowenergy_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowvolume_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())\n\nlist(input_dict.values())\n\n\n\nclustermy_workflowplotInputsvolume_lst\n\nvolume_lst\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsvolume_lst\n\n\n\n\n\n\nclustermy_workflowenergy_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())\n\nlist(input_dict.values())\n\n\n\nclustermy_workflowplotInputsenergy_lst\n\nenergy_lst\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsenergy_lst\n\n\n\n\n\n\nclustermy_workflowplotInputsrun\n\nrun\n\n\n\nclustermy_workflowplotOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowplotInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowplotOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":15},{"id":"fef7107a-5af3-4434-ae4c-a8d45e1d9b61","cell_type":"markdown","source":"# Final execution","metadata":{}},{"id":"cc089d38-2a37-4033-ad49-65ba22d5c564","cell_type":"code","source":"wf.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---120ada5c:01031] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01057] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01068] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01086] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01097] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01108] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"execution_count":16,"output_type":"execute_result","data":{"text/plain":"{'plot__plot_energy_volume_curve': None}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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yqGyJCIiIlIOlSURERGRcqgsObmjR49y55130rBhQ3x8fOjcuTObNm0q+blhGEybNo3g4GC8vb3p378/O3bsMDFx9SrveBQUFPDkk0/SoUMH6tSpQ3BwMHfddRfJyckmp64+l/r7+L37778fi8XCW2+9Zd+QdlSR45GQkMCoUaOwWq34+vrSu3dvDh06ZFLi6nepY3LmzBkmTpxI06ZN8fb2JiIigvfee8/ExNUnLCwMi8Vywe2vf/0rUPveT8s7HrXt/VRlyYllZGTQt29f3N3dWbp0KTt37mTWrFn4+fmVbPPqq6/yxhtv8M4777BhwwaCgoIYNGhQySVaapJLHY+zZ8+yefNmnnvuOTZv3sy3337L7t27GTVqlLnBq0lF/j7O++6771i3bh3BwcH2D2onFTke+/bto1+/foSHh7Nq1Sri4+N57rnn8PLyMi94NarIMZk0aRIxMTF89tlnJCQkMGnSJB566CEWLVpkXvBqsmHDBlJSUkpuy5cvB2DMmDFA7Xo/hfKPR217P8UQp/Xkk08a/fr1u+jPbTabERQUZMycObPksdzcXMNqtRrvv/++PSLa1aWOR1nWr19vAMbBgwerKZV5Kno8jhw5YjRp0sTYvn27ERoaarz55pvVH84EFTket9xyi3HnnXfaKZH5KnJM2rVrZ7z44oulHuvatavx7LPPVmc0h/DII48YLVu2NGw2W617Py3L749HWWry+6lGlpzY4sWL6d69O2PGjCEgIIAuXbrw4Ycflvz8wIEDpKamllx8GIrXxrj66qtZs2aNGZGr1aWOR1kyMzOxWCxljrY4u4ocD5vNRnR0NFOmTKFdu3YmJbWPSx0Pm83GDz/8QJs2bRgyZAgBAQH06tWL7777zrzQ1awifyP9+vVj8eLFHD16FMMwWLlyJbt372bIkCEmpbaP/Px8PvvsM+655x4sFkutez/9oz8ej7LU5PdTjSw5MU9PT8PT09OYOnWqsXnzZuP99983vLy8jLlz5xqGYRirV682AOPo0aOl9pswYYIxePBgMyJXq0sdjz/KyckxunXrZtxxxx12TmofFTkeL7/8sjFo0KCS/1KsySNLlzoeKSkpBmD4+PgYb7zxhrFlyxZjxowZhsViMVatWmVy+upRkb+RvLw846677jIAw83NzfDw8DA++eQTE1Pbx9dff224urqWvH/WtvfTP/rj8fijmv5+qrLkxNzd3Y2oqKhSjz300ENG7969DcP437/cycnJpba57777jCFDhtgtp71c6nj8Xn5+vnH99dcbXbp0MTIzM+0V0a4udTw2btxoBAYGlnrzq8ll6VLH4+jRowZg3HbbbaW2GTlypHHrrbfaLac9VeTfmddee81o06aNsXjxYiM+Pt74xz/+YdStW9dYvny5vePa1eDBg40RI0aU3K9t76d/9Mfj8Xu14f1Up+GcWOPGjYmMjCz1WERERMk3d4KCggBITU0ttc2xY8cIDAy0T0g7utTxOK+goICxY8dy4MABli9f7vRXzL6YSx2PX3/9lWPHjtGsWTPc3Nxwc3Pj4MGDTJ48mbCwMBMSV69LHQ9/f3/c3Nwq9DdUU1zqmOTk5PD000/zxhtvMHLkSDp27MjEiRO55ZZbeP31182IbBcHDx5kxYoV3HfffSWP1bb3098r63icV1veT1WWnFjfvn1JTEws9dju3bsJDQ0FoHnz5gQFBZV8gwGKzzv//PPP9OnTx65Z7eFSxwP+9y/2nj17WLFiBQ0bNrR3TLu51PGIjo5m69atxMXFldyCg4OZMmUKy5YtMyNytbrU8fDw8KBHjx6X/BuqSS51TAoKCigoKMDFpfRHhaurKzabzW457W327NkEBAQwfPjwksdq2/vp75V1PKB2vZ/qNJwTW79+veHm5mZMnz7d2LNnj/H5558bPj4+xmeffVayzcyZMw2r1Wp8++23xrZt24zbbrvNaNy4sZGVlWVi8upxqeNRUFBgjBo1ymjatKkRFxdnpKSklNzy8vJMTl/1KvL38Uc1+TRcRY7Ht99+a7i7uxv/+te/jD179hj/+Mc/DFdXV+PXX381MXn1qcgxufrqq4127doZK1euNPbv32/Mnj3b8PLyMt59910Tk1efoqIio1mzZsaTTz55wc9q0/vpeRc7HrXt/VRlycl9//33Rvv27Q1PT08jPDzc+Ne//lXq5zabzXjhhReMoKAgw9PT0/jTn/5kbNu2zaS01a+843HgwAEDKPO2cuVK80JXo0v9ffxRTS5LhlGx4/HRRx8ZrVq1Mry8vIxOnToZ3333nQlJ7edSxyQlJcUYN26cERwcbHh5eRlt27Y1Zs2addGvjzu7ZcuWGYCRmJh4wc9q2/upYVz8eNS291OLYRiGGSNaIiIiIs5Ac5ZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDlUlkSkVgsLC+Ott94yO4aIODCVJRFxWiNHjmTgwIFl/mzt2rVYLBY2b95s51QiUtOoLImI07r33nv56aefOHjw4AU/+/jjj+ncuTNdu3Y1IZmI1CQqSyLitEaMGEFAQABz5swp9fjZs2f5+uuvuffee1mwYAHt2rXD09OTsLAwZs2addHnS0pKwmKxEBcXV/LYqVOnsFgsrFq1CoBVq1ZhsVhYtmwZXbp0wdvbm2uvvZZjx46xdOlSIiIiqFevHrfddhtnz54teR7DMHj11Vdp0aIF3t7edOrUifnz51fl4RCRaqKyJCJOy83Njbvuuos5c+bw+2uCz5s3j/z8fKKiohg7diy33nor27ZtY9q0aTz33HMXlKvKmDZtGu+88w5r1qzh8OHDjB07lrfeeosvvviCH374geXLl/OPf/yjZPtnn32W2bNn895777Fjxw4mTZrEnXfeyc8//3zFWUSkelmM37/DiIg4mV27dhEREcFPP/3ENddcA8DVV19NkyZNsFgsHD9+nP/+978l2z/xxBP88MMP7NixAyie4P3oo4/y6KOPkpSURPPmzdmyZQudO3cGikeW6tevz8qVK+nfvz+rVq3immuuYcWKFQwYMACAmTNnMnXqVPbt20eLFi0AeOCBB0hKSiImJobs7Gz8/f356aefiIqKKsly3333cfbsWb744gt7HCoRqSSNLImIUwsPD6dPnz58/PHHAOzbt49ff/2Ve+65h4SEBPr27Vtq+759+7Jnzx6Kioqu6Pd27Nix5J8DAwPx8fEpKUrnHzt27BgAO3fuJDc3l0GDBlG3bt2S2yeffMK+ffuuKIeIVD83swOIiFype++9l4kTJ/LPf/6T2bNnExoayoABAzAMA4vFUmrb8gbTXVxcLtimoKCgzG3d3d1L/tlisZS6f/4xm80GUPK/P/zwA02aNCm1naen56VenoiYTCNLIuL0xo4di6urK1988QVz585l/PjxWCwWIiMj+e2330ptu2bNGtq0aYOrq+sFz9OoUSMAUlJSSh77/WTvyoqMjMTT05NDhw7RqlWrUreQkJArfn4RqV4aWRIRp1e3bl1uueUWnn76aTIzMxk3bhwAkydPpkePHrz00kvccsstrF27lnfeeYd33323zOfx9vamd+/ezJw5k7CwME6cOMGzzz57xfl8fX15/PHHmTRpEjabjX79+pGVlcWaNWuoW7cud9999xX/DhGpPhpZEpEa4d577yUjI4OBAwfSrFkzALp27co333zDV199Rfv27Xn++ed58cUXS8pUWT7++GMKCgro3r07jzzyCP/3f/9XJfleeuklnn/+eWbMmEFERARDhgzh+++/p3nz5lXy/CJSffRtOBEREZFyaGRJREREpBwqSyIiIiLlUFkSERERKYfKkoiIiEg5VJZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDn+H6/0aEax166kAAAAAElFTkSuQmCC"},"metadata":{}}],"execution_count":16},{"id":"7716e766-4c2e-4c97-8e65-06b0c8dbf6d1","cell_type":"markdown","source":"","metadata":{}}]} \ No newline at end of file From 373df590ccba2861e2fb103467ed7de3b9565b76 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Mon, 26 May 2025 06:34:15 +0200 Subject: [PATCH 26/29] update write_workflow_json() --- .../quantum_espresso/pyiron_workflow.ipynb | 2 +- .../pyiron_workflow.py | 181 ++++++++++++------ 2 files changed, 125 insertions(+), 58 deletions(-) diff --git a/example_workflows/quantum_espresso/pyiron_workflow.ipynb b/example_workflows/quantum_espresso/pyiron_workflow.ipynb index 62d6149..cc30a17 100644 --- a/example_workflows/quantum_espresso/pyiron_workflow.ipynb +++ b/example_workflows/quantum_espresso/pyiron_workflow.ipynb @@ -1 +1 @@ -{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.12.8","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"760acc89-8c02-4bc9-a8f6-2572506b7085","cell_type":"markdown","source":"# Import and node definition","metadata":{}},{"id":"44aa8e82-2d78-4015-a56d-cd487aefc48f","cell_type":"code","source":"import numpy as np\nfrom pyiron_workflow import Workflow, to_function_node, as_function_node\nfrom pyiron_workflow.api import inputs_to_dict\nfrom python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"341dab17-b329-42eb-a485-2f9326a048e9","cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"729a1a3a-8377-4148-9b3c-a4a866f9c4ec","cell_type":"code","source":"@as_function_node\ndef get_values_from_dict(input_dict):\n return list(input_dict.values())","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"6c2711ec-25f8-4ecd-9b9a-d9af1ec81316","cell_type":"code","source":"workflow_json_filename = \"pyiron_workflow_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"3e1492bc-49bd-4f9c-9703-582a5a60579b","cell_type":"code","source":"calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\ngenerate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\nget_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\nplot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"f8fcdc17-446c-4caa-9089-6f1ee1baa65a","cell_type":"markdown","source":"# Build the structure \nEverything works as expected. ","metadata":{}},{"id":"a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7","cell_type":"code","source":"wf = Workflow(\"my_workflow\")","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"62268668-7f09-4fee-99d2-c770b4e558d9","cell_type":"code","source":"wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"b2ea76b0-f79b-461f-8126-7bac3bda4422","cell_type":"code","source":"wf.element = \"Al\"\nwf.a = 4.04\nwf.cubic = True\nwf.structure = get_bulk_structure(\n element=wf.element,\n a=wf.a,\n cubic=wf.cubic,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"df1d978c-3d65-4957-951b-205d71ac9410","cell_type":"markdown","source":"# Setting up the first Quantum ESPRESSO simulation\nThe use of the inputs_to_dict() function is not clear: https://github.com/pyiron/pyiron_workflow/issues/648","metadata":{}},{"id":"01bc824f-c990-448c-a4da-1ff8b519e720","cell_type":"code","source":"wf.working_directory_0 = \"mini\"\ninput_dict = {\n \"structure\": wf.structure, \n \"pseudopotentials\": wf.pseudopotentials, \n \"kpts\": (3, 3, 3), \n \"calculation\": \"vc-relax\", \n \"smearing\": 0.02,\n}\nwf.input_dict_0 = inputs_to_dict(\n input_specification=list(input_dict.keys()),\n **input_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"95d168a1-48db-434a-b17d-abea6c1633f5","cell_type":"code","source":"wf.calc_mini = calculate_qe(\n working_directory=wf.working_directory_0,\n input_dict=wf.input_dict_0,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"ade13785-6a6e-4306-af4a-0e5aaf3f481f","cell_type":"markdown","source":"# Strain the relaxed structure ","metadata":{}},{"id":"fbfb0107-278d-4209-883c-8c0543c5c240","cell_type":"code","source":"number_of_strains = 5\nwf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\nwf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=wf.calc_mini[\"structure\"],\n strain_lst=wf.strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"54b52092-2ab9-416f-bb8d-1caf95e08322","cell_type":"markdown","source":"# Static calculation for each strained structure\nWhen accessing the strained structure for the first time, the initial structure optimization is executed even though this is not intended. ","metadata":{}},{"id":"956184d1-887a-4632-9311-b917fb5d7370","cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n setattr(wf, \"input_dict_\" + str(i+1), inputs_to_dict(\n input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"],\n structure=wf.structure_lst[\"s_\" + str(i)],\n pseudopotentials=wf.pseudopotentials,\n kpts=(3, 3, 3),\n calculation=\"scf\",\n smearing=0.02,\n ))\n setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n ))\n job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"d55214aa-afc2-4a52-adf9-8b4fe4b2e778","cell_type":"markdown","source":"# Collect results\nAgain the corresponding calculations get executed during the inputs_to_dict() stage.","metadata":{}},{"id":"a0643f87-98f1-440e-9f0d-8cf316a69f0f","cell_type":"code","source":"volume_dict = {\"s_\" + str(i): j[\"volume\"] for i, j in enumerate(job_strain_lst)}\nwf.volume_dict = inputs_to_dict(\n input_specification=list(volume_dict.keys()),\n **volume_dict\n)\nenergy_dict = {\"s_\" + str(i): j[\"energy\"] for i, j in enumerate(job_strain_lst)}\nwf.energy_dict = inputs_to_dict(\n input_specification=list(energy_dict.keys()),\n **energy_dict,\n)\nwf.volume_lst = get_values_from_dict(\n input_dict=wf.volume_dict\n)\nwf.energy_lst = get_values_from_dict(\n input_dict=wf.energy_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"id":"df973942-ac5e-4f87-bf18-fd56ae0f527c","cell_type":"markdown","source":"# Plot results","metadata":{}},{"id":"96808641-c9e4-4d57-9f9c-8b1a9c1b1356","cell_type":"code","source":"wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"id":"f85532fe-6f81-4194-a6b1-a6897f982432","cell_type":"markdown","source":"# Visualize Workflow","metadata":{}},{"id":"45f45321-dc88-4936-b1e2-6813e0bb63a0","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":15,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclustermy_workflow\n\nmy_workflow: Workflow\n\nclustermy_workflowInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure\n\n\n\n\n\n\n\nstructure: get_bulk_structure\n\n\nclustermy_workflowstructureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_0\n\n\n\n\n\n\n\ninput_dict_0: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_mini\n\n\n\n\n\n\n\ncalc_mini: calculate_qe\n\n\nclustermy_workflowcalc_miniInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_miniOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594\n\n\n\n\n\n\n\ninjected_GetItem_6893473693092224594: GetItem\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure_lst\n\n\n\n\n\n\n\nstructure_lst: generate_structures\n\n\nclustermy_workflowstructure_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructure_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796\n\n\n\n\n\n\n\ninjected_GetItem_7663184949157985796: GetItem\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_1\n\n\n\n\n\n\n\ninput_dict_1: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_0\n\n\n\n\n\n\n\ncalc_strain_0: calculate_qe\n\n\nclustermy_workflowcalc_strain_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157\n\n\n\n\n\n\n\ninjected_GetItem_m2100437354878988157: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_2\n\n\n\n\n\n\n\ninput_dict_2: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_1\n\n\n\n\n\n\n\ncalc_strain_1: calculate_qe\n\n\nclustermy_workflowcalc_strain_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501\n\n\n\n\n\n\n\ninjected_GetItem_m5359563128525112501: GetItem\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_3\n\n\n\n\n\n\n\ninput_dict_3: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_2\n\n\n\n\n\n\n\ncalc_strain_2: calculate_qe\n\n\nclustermy_workflowcalc_strain_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204\n\n\n\n\n\n\n\ninjected_GetItem_m7118231691986333204: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_4\n\n\n\n\n\n\n\ninput_dict_4: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_3\n\n\n\n\n\n\n\ncalc_strain_3: calculate_qe\n\n\nclustermy_workflowcalc_strain_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106\n\n\n\n\n\n\n\ninjected_GetItem_2853905615563879106: GetItem\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_5\n\n\n\n\n\n\n\ninput_dict_5: InputsToDictm1994465449525283101\n\n\nclustermy_workflowinput_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_4\n\n\n\n\n\n\n\ncalc_strain_4: calculate_qe\n\n\nclustermy_workflowcalc_strain_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274\n\n\n\n\n\n\n\ninjected_GetItem_8526442958949134274: GetItem\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138\n\n\n\n\n\n\n\ninjected_GetItem_m990910382644802138: GetItem\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901\n\n\n\n\n\n\n\ninjected_GetItem_7516928586007102901: GetItem\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921\n\n\n\n\n\n\n\ninjected_GetItem_m6923884873187440921: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282\n\n\n\n\n\n\n\ninjected_GetItem_5583059493426393282: GetItem\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_dict\n\n\n\n\n\n\n\nvolume_dict: InputsToDict1744893334685936808\n\n\nclustermy_workflowvolume_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765\n\n\n\n\n\n\n\ninjected_GetItem_4264757878082205765: GetItem\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311\n\n\n\n\n\n\n\ninjected_GetItem_m2778840377790256311: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815\n\n\n\n\n\n\n\ninjected_GetItem_7850836312238319815: GetItem\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326\n\n\n\n\n\n\n\ninjected_GetItem_m4962345605998186326: GetItem\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835\n\n\n\n\n\n\n\ninjected_GetItem_2800779218575072835: GetItem\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_dict\n\n\n\n\n\n\n\nenergy_dict: InputsToDict1744893334685936808\n\n\nclustermy_workflowenergy_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_lst\n\n\n\n\n\n\n\nvolume_lst: get_values_from_dict\n\n\nclustermy_workflowvolume_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_lst\n\n\n\n\n\n\n\nenergy_lst: get_values_from_dict\n\n\nclustermy_workflowenergy_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowplot\n\n\n\n\n\n\n\nplot: plot_energy_volume_curve\n\n\nclustermy_workflowplotInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowplotOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclustermy_workflowInputsrun\n\nrun\n\n\n\nclustermy_workflowOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowInputsstructure__element\n\nstructure__element\n\n\n\nclustermy_workflowstructureInputselement\n\nelement\n\n\n\nclustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n\n\n\n\n\n\nclustermy_workflowInputsstructure__a\n\nstructure__a\n\n\n\nclustermy_workflowstructureInputsa\n\na\n\n\n\nclustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n\n\n\n\n\n\nclustermy_workflowInputsstructure__cubic\n\nstructure__cubic\n\n\n\nclustermy_workflowstructureInputscubic\n\ncubic\n\n\n\nclustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials\n\ninput_dict_0__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials->clustermy_workflowinput_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts\n\ninput_dict_0__kpts\n\n\n\nclustermy_workflowinput_dict_0Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts->clustermy_workflowinput_dict_0Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation\n\ninput_dict_0__calculation\n\n\n\nclustermy_workflowinput_dict_0Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation->clustermy_workflowinput_dict_0Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing\n\ninput_dict_0__smearing\n\n\n\nclustermy_workflowinput_dict_0Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing->clustermy_workflowinput_dict_0Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_mini__working_directory\n\ncalc_mini__working_directory\n\n\n\nclustermy_workflowcalc_miniInputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_6893473693092224594__item\n\ninjected_GetItem_6893473693092224594__item\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_6893473693092224594__item->clustermy_workflowinjected_GetItem_6893473693092224594Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst\n\nstructure_lst__strain_lst\n\n\n\nclustermy_workflowstructure_lstInputsstrain_lst\n\nstrain_lst\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7663184949157985796__item\n\ninjected_GetItem_7663184949157985796__item\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7663184949157985796__item->clustermy_workflowinjected_GetItem_7663184949157985796Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials\n\ninput_dict_1__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials->clustermy_workflowinput_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts\n\ninput_dict_1__kpts\n\n\n\nclustermy_workflowinput_dict_1Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts->clustermy_workflowinput_dict_1Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation\n\ninput_dict_1__calculation\n\n\n\nclustermy_workflowinput_dict_1Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation->clustermy_workflowinput_dict_1Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing\n\ninput_dict_1__smearing\n\n\n\nclustermy_workflowinput_dict_1Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing->clustermy_workflowinput_dict_1Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory\n\ncalc_strain_0__working_directory\n\n\n\nclustermy_workflowcalc_strain_0Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2100437354878988157__item\n\ninjected_GetItem_m2100437354878988157__item\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2100437354878988157__item->clustermy_workflowinjected_GetItem_m2100437354878988157Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials\n\ninput_dict_2__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials->clustermy_workflowinput_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts\n\ninput_dict_2__kpts\n\n\n\nclustermy_workflowinput_dict_2Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts->clustermy_workflowinput_dict_2Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation\n\ninput_dict_2__calculation\n\n\n\nclustermy_workflowinput_dict_2Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation->clustermy_workflowinput_dict_2Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing\n\ninput_dict_2__smearing\n\n\n\nclustermy_workflowinput_dict_2Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing->clustermy_workflowinput_dict_2Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory\n\ncalc_strain_1__working_directory\n\n\n\nclustermy_workflowcalc_strain_1Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m5359563128525112501__item\n\ninjected_GetItem_m5359563128525112501__item\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m5359563128525112501__item->clustermy_workflowinjected_GetItem_m5359563128525112501Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials\n\ninput_dict_3__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials->clustermy_workflowinput_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts\n\ninput_dict_3__kpts\n\n\n\nclustermy_workflowinput_dict_3Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts->clustermy_workflowinput_dict_3Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation\n\ninput_dict_3__calculation\n\n\n\nclustermy_workflowinput_dict_3Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation->clustermy_workflowinput_dict_3Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing\n\ninput_dict_3__smearing\n\n\n\nclustermy_workflowinput_dict_3Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing->clustermy_workflowinput_dict_3Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory\n\ncalc_strain_2__working_directory\n\n\n\nclustermy_workflowcalc_strain_2Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7118231691986333204__item\n\ninjected_GetItem_m7118231691986333204__item\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7118231691986333204__item->clustermy_workflowinjected_GetItem_m7118231691986333204Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials\n\ninput_dict_4__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials->clustermy_workflowinput_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts\n\ninput_dict_4__kpts\n\n\n\nclustermy_workflowinput_dict_4Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts->clustermy_workflowinput_dict_4Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation\n\ninput_dict_4__calculation\n\n\n\nclustermy_workflowinput_dict_4Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation->clustermy_workflowinput_dict_4Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing\n\ninput_dict_4__smearing\n\n\n\nclustermy_workflowinput_dict_4Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing->clustermy_workflowinput_dict_4Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory\n\ncalc_strain_3__working_directory\n\n\n\nclustermy_workflowcalc_strain_3Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_2853905615563879106__item\n\ninjected_GetItem_2853905615563879106__item\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_2853905615563879106__item->clustermy_workflowinjected_GetItem_2853905615563879106Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials\n\ninput_dict_5__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials->clustermy_workflowinput_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts\n\ninput_dict_5__kpts\n\n\n\nclustermy_workflowinput_dict_5Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts->clustermy_workflowinput_dict_5Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation\n\ninput_dict_5__calculation\n\n\n\nclustermy_workflowinput_dict_5Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation->clustermy_workflowinput_dict_5Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing\n\ninput_dict_5__smearing\n\n\n\nclustermy_workflowinput_dict_5Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing->clustermy_workflowinput_dict_5Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory\n\ncalc_strain_4__working_directory\n\n\n\nclustermy_workflowcalc_strain_4Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_8526442958949134274__item\n\ninjected_GetItem_8526442958949134274__item\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_8526442958949134274__item->clustermy_workflowinjected_GetItem_8526442958949134274Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m990910382644802138__item\n\ninjected_GetItem_m990910382644802138__item\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m990910382644802138__item->clustermy_workflowinjected_GetItem_m990910382644802138Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7516928586007102901__item\n\ninjected_GetItem_7516928586007102901__item\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7516928586007102901__item->clustermy_workflowinjected_GetItem_7516928586007102901Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6923884873187440921__item\n\ninjected_GetItem_m6923884873187440921__item\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6923884873187440921__item->clustermy_workflowinjected_GetItem_m6923884873187440921Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_5583059493426393282__item\n\ninjected_GetItem_5583059493426393282__item\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_5583059493426393282__item->clustermy_workflowinjected_GetItem_5583059493426393282Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4264757878082205765__item\n\ninjected_GetItem_4264757878082205765__item\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4264757878082205765__item->clustermy_workflowinjected_GetItem_4264757878082205765Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2778840377790256311__item\n\ninjected_GetItem_m2778840377790256311__item\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2778840377790256311__item->clustermy_workflowinjected_GetItem_m2778840377790256311Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7850836312238319815__item\n\ninjected_GetItem_7850836312238319815__item\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7850836312238319815__item->clustermy_workflowinjected_GetItem_7850836312238319815Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4962345605998186326__item\n\ninjected_GetItem_m4962345605998186326__item\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4962345605998186326__item->clustermy_workflowinjected_GetItem_m4962345605998186326Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_2800779218575072835__item\n\ninjected_GetItem_2800779218575072835__item\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_2800779218575072835__item->clustermy_workflowinjected_GetItem_2800779218575072835Inputsitem\n\n\n\n\n\n\nclustermy_workflowOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\nplot__plot_energy_volume_curve\n\n\n\nclustermy_workflowstructureInputsrun\n\nrun\n\n\n\nclustermy_workflowstructureOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclustermy_workflowinput_dict_0Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_dict_0Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_miniInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict->clustermy_workflowcalc_miniInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_miniInputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_miniInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6893473693092224594Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowstructure_lstInputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_6893473693092224594OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n\n\n\n\n\n\nclustermy_workflowstructure_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructure_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_7663184949157985796Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m2100437354878988157Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m5359563128525112501Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7118231691986333204Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_2853905615563879106Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_1Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_7663184949157985796OutputsWithInjectiongetitem->clustermy_workflowinput_dict_1Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_0Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict->clustermy_workflowcalc_strain_0Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_8526442958949134274Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_4264757878082205765Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_2Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m2100437354878988157OutputsWithInjectiongetitem->clustermy_workflowinput_dict_2Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_1Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict->clustermy_workflowcalc_strain_1Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m990910382644802138Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m2778840377790256311Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_3Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m5359563128525112501OutputsWithInjectiongetitem->clustermy_workflowinput_dict_3Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_2Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict->clustermy_workflowcalc_strain_2Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7516928586007102901Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7850836312238319815Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_4Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m7118231691986333204OutputsWithInjectiongetitem->clustermy_workflowinput_dict_4Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_3Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict->clustermy_workflowcalc_strain_3Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m6923884873187440921Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4962345605998186326Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_5Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_2853905615563879106OutputsWithInjectiongetitem->clustermy_workflowinput_dict_5Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_5Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_4Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict->clustermy_workflowcalc_strain_4Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_5583059493426393282Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_2800779218575072835Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_8526442958949134274OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m990910382644802138OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_7516928586007102901OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m6923884873187440921OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_5583059493426393282OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowvolume_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowvolume_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict->clustermy_workflowvolume_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_4264757878082205765OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m2778840377790256311OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_7850836312238319815OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m4962345605998186326OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_2800779218575072835OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowenergy_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowenergy_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict->clustermy_workflowenergy_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowvolume_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())\n\nlist(input_dict.values())\n\n\n\nclustermy_workflowplotInputsvolume_lst\n\nvolume_lst\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsvolume_lst\n\n\n\n\n\n\nclustermy_workflowenergy_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())\n\nlist(input_dict.values())\n\n\n\nclustermy_workflowplotInputsenergy_lst\n\nenergy_lst\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionlist(input_dict.values())->clustermy_workflowplotInputsenergy_lst\n\n\n\n\n\n\nclustermy_workflowplotInputsrun\n\nrun\n\n\n\nclustermy_workflowplotOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowplotInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowplotOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":15},{"id":"fef7107a-5af3-4434-ae4c-a8d45e1d9b61","cell_type":"markdown","source":"# Final execution","metadata":{}},{"id":"cc089d38-2a37-4033-ad49-65ba22d5c564","cell_type":"code","source":"wf.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---120ada5c:01031] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01057] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01068] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01086] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01097] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---120ada5c:01108] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"execution_count":16,"output_type":"execute_result","data":{"text/plain":"{'plot__plot_energy_volume_curve': None}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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yqGyJCIiIlIOlSURERGRcqgsObmjR49y55130rBhQ3x8fOjcuTObNm0q+blhGEybNo3g4GC8vb3p378/O3bsMDFx9SrveBQUFPDkk0/SoUMH6tSpQ3BwMHfddRfJyckmp64+l/r7+L37778fi8XCW2+9Zd+QdlSR45GQkMCoUaOwWq34+vrSu3dvDh06ZFLi6nepY3LmzBkmTpxI06ZN8fb2JiIigvfee8/ExNUnLCwMi8Vywe2vf/0rUPveT8s7HrXt/VRlyYllZGTQt29f3N3dWbp0KTt37mTWrFn4+fmVbPPqq6/yxhtv8M4777BhwwaCgoIYNGhQySVaapJLHY+zZ8+yefNmnnvuOTZv3sy3337L7t27GTVqlLnBq0lF/j7O++6771i3bh3BwcH2D2onFTke+/bto1+/foSHh7Nq1Sri4+N57rnn8PLyMi94NarIMZk0aRIxMTF89tlnJCQkMGnSJB566CEWLVpkXvBqsmHDBlJSUkpuy5cvB2DMmDFA7Xo/hfKPR217P8UQp/Xkk08a/fr1u+jPbTabERQUZMycObPksdzcXMNqtRrvv/++PSLa1aWOR1nWr19vAMbBgwerKZV5Kno8jhw5YjRp0sTYvn27ERoaarz55pvVH84EFTket9xyi3HnnXfaKZH5KnJM2rVrZ7z44oulHuvatavx7LPPVmc0h/DII48YLVu2NGw2W617Py3L749HWWry+6lGlpzY4sWL6d69O2PGjCEgIIAuXbrw4Ycflvz8wIEDpKamllx8GIrXxrj66qtZs2aNGZGr1aWOR1kyMzOxWCxljrY4u4ocD5vNRnR0NFOmTKFdu3YmJbWPSx0Pm83GDz/8QJs2bRgyZAgBAQH06tWL7777zrzQ1awifyP9+vVj8eLFHD16FMMwWLlyJbt372bIkCEmpbaP/Px8PvvsM+655x4sFkutez/9oz8ej7LU5PdTjSw5MU9PT8PT09OYOnWqsXnzZuP99983vLy8jLlz5xqGYRirV682AOPo0aOl9pswYYIxePBgMyJXq0sdjz/KyckxunXrZtxxxx12TmofFTkeL7/8sjFo0KCS/1KsySNLlzoeKSkpBmD4+PgYb7zxhrFlyxZjxowZhsViMVatWmVy+upRkb+RvLw846677jIAw83NzfDw8DA++eQTE1Pbx9dff224urqWvH/WtvfTP/rj8fijmv5+qrLkxNzd3Y2oqKhSjz300ENG7969DcP437/cycnJpba57777jCFDhtgtp71c6nj8Xn5+vnH99dcbXbp0MTIzM+0V0a4udTw2btxoBAYGlnrzq8ll6VLH4+jRowZg3HbbbaW2GTlypHHrrbfaLac9VeTfmddee81o06aNsXjxYiM+Pt74xz/+YdStW9dYvny5vePa1eDBg40RI0aU3K9t76d/9Mfj8Xu14f1Up+GcWOPGjYmMjCz1WERERMk3d4KCggBITU0ttc2xY8cIDAy0T0g7utTxOK+goICxY8dy4MABli9f7vRXzL6YSx2PX3/9lWPHjtGsWTPc3Nxwc3Pj4MGDTJ48mbCwMBMSV69LHQ9/f3/c3Nwq9DdUU1zqmOTk5PD000/zxhtvMHLkSDp27MjEiRO55ZZbeP31182IbBcHDx5kxYoV3HfffSWP1bb3098r63icV1veT1WWnFjfvn1JTEws9dju3bsJDQ0FoHnz5gQFBZV8gwGKzzv//PPP9OnTx65Z7eFSxwP+9y/2nj17WLFiBQ0bNrR3TLu51PGIjo5m69atxMXFldyCg4OZMmUKy5YtMyNytbrU8fDw8KBHjx6X/BuqSS51TAoKCigoKMDFpfRHhaurKzabzW457W327NkEBAQwfPjwksdq2/vp75V1PKB2vZ/qNJwTW79+veHm5mZMnz7d2LNnj/H5558bPj4+xmeffVayzcyZMw2r1Wp8++23xrZt24zbbrvNaNy4sZGVlWVi8upxqeNRUFBgjBo1ymjatKkRFxdnpKSklNzy8vJMTl/1KvL38Uc1+TRcRY7Ht99+a7i7uxv/+te/jD179hj/+Mc/DFdXV+PXX381MXn1qcgxufrqq4127doZK1euNPbv32/Mnj3b8PLyMt59910Tk1efoqIio1mzZsaTTz55wc9q0/vpeRc7HrXt/VRlycl9//33Rvv27Q1PT08jPDzc+Ne//lXq5zabzXjhhReMoKAgw9PT0/jTn/5kbNu2zaS01a+843HgwAEDKPO2cuVK80JXo0v9ffxRTS5LhlGx4/HRRx8ZrVq1Mry8vIxOnToZ3333nQlJ7edSxyQlJcUYN26cERwcbHh5eRlt27Y1Zs2addGvjzu7ZcuWGYCRmJh4wc9q2/upYVz8eNS291OLYRiGGSNaIiIiIs5Ac5ZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDlUlkSkVgsLC+Ott94yO4aIODCVJRFxWiNHjmTgwIFl/mzt2rVYLBY2b95s51QiUtOoLImI07r33nv56aefOHjw4AU/+/jjj+ncuTNdu3Y1IZmI1CQqSyLitEaMGEFAQABz5swp9fjZs2f5+uuvuffee1mwYAHt2rXD09OTsLAwZs2addHnS0pKwmKxEBcXV/LYqVOnsFgsrFq1CoBVq1ZhsVhYtmwZXbp0wdvbm2uvvZZjx46xdOlSIiIiqFevHrfddhtnz54teR7DMHj11Vdp0aIF3t7edOrUifnz51fl4RCRaqKyJCJOy83Njbvuuos5c+bw+2uCz5s3j/z8fKKiohg7diy33nor27ZtY9q0aTz33HMXlKvKmDZtGu+88w5r1qzh8OHDjB07lrfeeosvvviCH374geXLl/OPf/yjZPtnn32W2bNn895777Fjxw4mTZrEnXfeyc8//3zFWUSkelmM37/DiIg4mV27dhEREcFPP/3ENddcA8DVV19NkyZNsFgsHD9+nP/+978l2z/xxBP88MMP7NixAyie4P3oo4/y6KOPkpSURPPmzdmyZQudO3cGikeW6tevz8qVK+nfvz+rVq3immuuYcWKFQwYMACAmTNnMnXqVPbt20eLFi0AeOCBB0hKSiImJobs7Gz8/f356aefiIqKKsly3333cfbsWb744gt7HCoRqSSNLImIUwsPD6dPnz58/PHHAOzbt49ff/2Ve+65h4SEBPr27Vtq+759+7Jnzx6Kioqu6Pd27Nix5J8DAwPx8fEpKUrnHzt27BgAO3fuJDc3l0GDBlG3bt2S2yeffMK+ffuuKIeIVD83swOIiFype++9l4kTJ/LPf/6T2bNnExoayoABAzAMA4vFUmrb8gbTXVxcLtimoKCgzG3d3d1L/tlisZS6f/4xm80GUPK/P/zwA02aNCm1naen56VenoiYTCNLIuL0xo4di6urK1988QVz585l/PjxWCwWIiMj+e2330ptu2bNGtq0aYOrq+sFz9OoUSMAUlJSSh77/WTvyoqMjMTT05NDhw7RqlWrUreQkJArfn4RqV4aWRIRp1e3bl1uueUWnn76aTIzMxk3bhwAkydPpkePHrz00kvccsstrF27lnfeeYd33323zOfx9vamd+/ezJw5k7CwME6cOMGzzz57xfl8fX15/PHHmTRpEjabjX79+pGVlcWaNWuoW7cud9999xX/DhGpPhpZEpEa4d577yUjI4OBAwfSrFkzALp27co333zDV199Rfv27Xn++ed58cUXS8pUWT7++GMKCgro3r07jzzyCP/3f/9XJfleeuklnn/+eWbMmEFERARDhgzh+++/p3nz5lXy/CJSffRtOBEREZFyaGRJREREpBwqSyIiIiLlUFkSERERKYfKkoiIiEg5VJZEREREyqGyJCIiIlIOlSURERGRcqgsiYiIiJRDZUlERESkHCpLIiIiIuVQWRIREREph8qSiIiISDn+H6/0aEax166kAAAAAElFTkSuQmCC"},"metadata":{}}],"execution_count":16},{"id":"7716e766-4c2e-4c97-8e65-06b0c8dbf6d1","cell_type":"markdown","source":"","metadata":{}}]} \ No newline at end of file +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"760acc89-8c02-4bc9-a8f6-2572506b7085","cell_type":"markdown","source":"# pyiron_workflow\n## Define workflow with pyiron_base","metadata":{}},{"id":"44aa8e82-2d78-4015-a56d-cd487aefc48f","cell_type":"code","source":"from inspect import isfunction\nimport numpy as np\nfrom pyiron_workflow import Workflow, to_function_node, as_function_node\nfrom pyiron_workflow.api import inputs_to_dict\nfrom python_workflow_definition.pyiron_workflow import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"341dab17-b329-42eb-a485-2f9326a048e9","cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"729a1a3a-8377-4148-9b3c-a4a866f9c4ec","cell_type":"code","source":"@as_function_node(\"output_dict\")\ndef get_values_from_dict(input_dict):\n return list(input_dict.values())","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"6c2711ec-25f8-4ecd-9b9a-d9af1ec81316","cell_type":"code","source":"workflow_json_filename = \"pyiron_workflow_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"3e1492bc-49bd-4f9c-9703-582a5a60579b","cell_type":"code","source":"calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\ngenerate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\nget_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\nplot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7","cell_type":"code","source":"wf = Workflow(\"my_workflow\")","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"62268668-7f09-4fee-99d2-c770b4e558d9","cell_type":"code","source":"wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"b2ea76b0-f79b-461f-8126-7bac3bda4422","cell_type":"code","source":"wf.element = \"Al\"\nwf.a = 4.04\nwf.cubic = True\nwf.structure = get_bulk_structure(\n element=wf.element,\n a=wf.a,\n cubic=wf.cubic,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"01bc824f-c990-448c-a4da-1ff8b519e720","cell_type":"code","source":"wf.working_directory_0 = \"mini\"\ninput_dict = {\n \"structure\": wf.structure, \n \"pseudopotentials\": wf.pseudopotentials, \n \"kpts\": (3, 3, 3), \n \"calculation\": \"vc-relax\", \n \"smearing\": 0.02,\n}\nwf.input_dict_0 = inputs_to_dict(\n input_specification=list(input_dict.keys()),\n **input_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"95d168a1-48db-434a-b17d-abea6c1633f5","cell_type":"code","source":"wf.calc_mini = calculate_qe(\n working_directory=wf.working_directory_0,\n input_dict=wf.input_dict_0,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"fbfb0107-278d-4209-883c-8c0543c5c240","cell_type":"code","source":"number_of_strains = 5\nwf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\nwf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=wf.calc_mini[\"structure\"],\n strain_lst=wf.strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"956184d1-887a-4632-9311-b917fb5d7370","cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n setattr(wf, \"input_dict_\" + str(i+1), inputs_to_dict(\n input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"],\n structure=wf.structure_lst[\"s_\" + str(i)],\n pseudopotentials=wf.pseudopotentials,\n kpts=(3, 3, 3),\n calculation=\"scf\",\n smearing=0.02,\n ))\n setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n ))\n job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"id":"a0643f87-98f1-440e-9f0d-8cf316a69f0f","cell_type":"code","source":"volume_dict = {\"s_\" + str(i): j[\"volume\"] for i, j in enumerate(job_strain_lst)}\nwf.volume_dict = inputs_to_dict(\n input_specification=list(volume_dict.keys()),\n **volume_dict\n)\nenergy_dict = {\"s_\" + str(i): j[\"energy\"] for i, j in enumerate(job_strain_lst)}\nwf.energy_dict = inputs_to_dict(\n input_specification=list(energy_dict.keys()),\n **energy_dict,\n)\nwf.volume_lst = get_values_from_dict(\n input_dict=wf.volume_dict\n)\nwf.energy_lst = get_values_from_dict(\n input_dict=wf.energy_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"id":"96808641-c9e4-4d57-9f9c-8b1a9c1b1356","cell_type":"code","source":"wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"id":"45f45321-dc88-4936-b1e2-6813e0bb63a0","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"data":{"image/svg+xml":"\n\n\n\n\n\nclustermy_workflow\n\nmy_workflow: Workflow\n\nclustermy_workflowInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure\n\n\n\n\n\n\n\nstructure: get_bulk_structure\n\n\nclustermy_workflowstructureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_0\n\n\n\n\n\n\n\ninput_dict_0: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_mini\n\n\n\n\n\n\n\ncalc_mini: calculate_qe\n\n\nclustermy_workflowcalc_miniInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_miniOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408\n\n\n\n\n\n\n\ninjected_GetItem_m3360943636605503408: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure_lst\n\n\n\n\n\n\n\nstructure_lst: generate_structures\n\n\nclustermy_workflowstructure_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructure_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769\n\n\n\n\n\n\n\ninjected_GetItem_m2939154398481564769: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_1\n\n\n\n\n\n\n\ninput_dict_1: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_0\n\n\n\n\n\n\n\ncalc_strain_0: calculate_qe\n\n\nclustermy_workflowcalc_strain_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508\n\n\n\n\n\n\n\ninjected_GetItem_4041815647480064508: GetItem\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_2\n\n\n\n\n\n\n\ninput_dict_2: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_1\n\n\n\n\n\n\n\ncalc_strain_1: calculate_qe\n\n\nclustermy_workflowcalc_strain_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571\n\n\n\n\n\n\n\ninjected_GetItem_m4015009318811961571: GetItem\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_3\n\n\n\n\n\n\n\ninput_dict_3: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_2\n\n\n\n\n\n\n\ncalc_strain_2: calculate_qe\n\n\nclustermy_workflowcalc_strain_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583\n\n\n\n\n\n\n\ninjected_GetItem_4987553856152306583: GetItem\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_4\n\n\n\n\n\n\n\ninput_dict_4: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_3\n\n\n\n\n\n\n\ncalc_strain_3: calculate_qe\n\n\nclustermy_workflowcalc_strain_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682\n\n\n\n\n\n\n\ninjected_GetItem_m7645132870050794682: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_5\n\n\n\n\n\n\n\ninput_dict_5: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_4\n\n\n\n\n\n\n\ncalc_strain_4: calculate_qe\n\n\nclustermy_workflowcalc_strain_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888\n\n\n\n\n\n\n\ninjected_GetItem_m3672914153184258888: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532\n\n\n\n\n\n\n\ninjected_GetItem_m3704174620413949532: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956\n\n\n\n\n\n\n\ninjected_GetItem_m4039229949071618956: GetItem\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845\n\n\n\n\n\n\n\ninjected_GetItem_1686080811433973845: GetItem\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926\n\n\n\n\n\n\n\ninjected_GetItem_4407984160589389926: GetItem\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_dict\n\n\n\n\n\n\n\nvolume_dict: InputsToDictm7433853827132915741\n\n\nclustermy_workflowvolume_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091\n\n\n\n\n\n\n\ninjected_GetItem_m7176645861602700091: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268\n\n\n\n\n\n\n\ninjected_GetItem_5124834049111621268: GetItem\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456\n\n\n\n\n\n\n\ninjected_GetItem_m6472715043888601456: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976\n\n\n\n\n\n\n\ninjected_GetItem_m1333829635268599976: GetItem\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106\n\n\n\n\n\n\n\ninjected_GetItem_m272556801974516106: GetItem\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_dict\n\n\n\n\n\n\n\nenergy_dict: InputsToDictm7433853827132915741\n\n\nclustermy_workflowenergy_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_lst\n\n\n\n\n\n\n\nvolume_lst: get_values_from_dict\n\n\nclustermy_workflowvolume_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_lst\n\n\n\n\n\n\n\nenergy_lst: get_values_from_dict\n\n\nclustermy_workflowenergy_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowplot\n\n\n\n\n\n\n\nplot: plot_energy_volume_curve\n\n\nclustermy_workflowplotInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowplotOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclustermy_workflowInputsrun\n\nrun\n\n\n\nclustermy_workflowOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowInputsstructure__element\n\nstructure__element\n\n\n\nclustermy_workflowstructureInputselement\n\nelement\n\n\n\nclustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n\n\n\n\n\n\nclustermy_workflowInputsstructure__a\n\nstructure__a\n\n\n\nclustermy_workflowstructureInputsa\n\na\n\n\n\nclustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n\n\n\n\n\n\nclustermy_workflowInputsstructure__cubic\n\nstructure__cubic\n\n\n\nclustermy_workflowstructureInputscubic\n\ncubic\n\n\n\nclustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials\n\ninput_dict_0__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials->clustermy_workflowinput_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts\n\ninput_dict_0__kpts\n\n\n\nclustermy_workflowinput_dict_0Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts->clustermy_workflowinput_dict_0Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation\n\ninput_dict_0__calculation\n\n\n\nclustermy_workflowinput_dict_0Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation->clustermy_workflowinput_dict_0Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing\n\ninput_dict_0__smearing\n\n\n\nclustermy_workflowinput_dict_0Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing->clustermy_workflowinput_dict_0Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_mini__working_directory\n\ncalc_mini__working_directory\n\n\n\nclustermy_workflowcalc_miniInputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3360943636605503408__item\n\ninjected_GetItem_m3360943636605503408__item\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3360943636605503408__item->clustermy_workflowinjected_GetItem_m3360943636605503408Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst\n\nstructure_lst__strain_lst\n\n\n\nclustermy_workflowstructure_lstInputsstrain_lst\n\nstrain_lst\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2939154398481564769__item\n\ninjected_GetItem_m2939154398481564769__item\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2939154398481564769__item->clustermy_workflowinjected_GetItem_m2939154398481564769Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials\n\ninput_dict_1__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials->clustermy_workflowinput_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts\n\ninput_dict_1__kpts\n\n\n\nclustermy_workflowinput_dict_1Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts->clustermy_workflowinput_dict_1Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation\n\ninput_dict_1__calculation\n\n\n\nclustermy_workflowinput_dict_1Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation->clustermy_workflowinput_dict_1Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing\n\ninput_dict_1__smearing\n\n\n\nclustermy_workflowinput_dict_1Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing->clustermy_workflowinput_dict_1Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory\n\ncalc_strain_0__working_directory\n\n\n\nclustermy_workflowcalc_strain_0Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4041815647480064508__item\n\ninjected_GetItem_4041815647480064508__item\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4041815647480064508__item->clustermy_workflowinjected_GetItem_4041815647480064508Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials\n\ninput_dict_2__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials->clustermy_workflowinput_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts\n\ninput_dict_2__kpts\n\n\n\nclustermy_workflowinput_dict_2Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts->clustermy_workflowinput_dict_2Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation\n\ninput_dict_2__calculation\n\n\n\nclustermy_workflowinput_dict_2Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation->clustermy_workflowinput_dict_2Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing\n\ninput_dict_2__smearing\n\n\n\nclustermy_workflowinput_dict_2Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing->clustermy_workflowinput_dict_2Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory\n\ncalc_strain_1__working_directory\n\n\n\nclustermy_workflowcalc_strain_1Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4015009318811961571__item\n\ninjected_GetItem_m4015009318811961571__item\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4015009318811961571__item->clustermy_workflowinjected_GetItem_m4015009318811961571Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials\n\ninput_dict_3__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials->clustermy_workflowinput_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts\n\ninput_dict_3__kpts\n\n\n\nclustermy_workflowinput_dict_3Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts->clustermy_workflowinput_dict_3Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation\n\ninput_dict_3__calculation\n\n\n\nclustermy_workflowinput_dict_3Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation->clustermy_workflowinput_dict_3Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing\n\ninput_dict_3__smearing\n\n\n\nclustermy_workflowinput_dict_3Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing->clustermy_workflowinput_dict_3Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory\n\ncalc_strain_2__working_directory\n\n\n\nclustermy_workflowcalc_strain_2Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4987553856152306583__item\n\ninjected_GetItem_4987553856152306583__item\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4987553856152306583__item->clustermy_workflowinjected_GetItem_4987553856152306583Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials\n\ninput_dict_4__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials->clustermy_workflowinput_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts\n\ninput_dict_4__kpts\n\n\n\nclustermy_workflowinput_dict_4Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts->clustermy_workflowinput_dict_4Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation\n\ninput_dict_4__calculation\n\n\n\nclustermy_workflowinput_dict_4Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation->clustermy_workflowinput_dict_4Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing\n\ninput_dict_4__smearing\n\n\n\nclustermy_workflowinput_dict_4Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing->clustermy_workflowinput_dict_4Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory\n\ncalc_strain_3__working_directory\n\n\n\nclustermy_workflowcalc_strain_3Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7645132870050794682__item\n\ninjected_GetItem_m7645132870050794682__item\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7645132870050794682__item->clustermy_workflowinjected_GetItem_m7645132870050794682Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials\n\ninput_dict_5__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials->clustermy_workflowinput_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts\n\ninput_dict_5__kpts\n\n\n\nclustermy_workflowinput_dict_5Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts->clustermy_workflowinput_dict_5Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation\n\ninput_dict_5__calculation\n\n\n\nclustermy_workflowinput_dict_5Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation->clustermy_workflowinput_dict_5Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing\n\ninput_dict_5__smearing\n\n\n\nclustermy_workflowinput_dict_5Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing->clustermy_workflowinput_dict_5Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory\n\ncalc_strain_4__working_directory\n\n\n\nclustermy_workflowcalc_strain_4Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3672914153184258888__item\n\ninjected_GetItem_m3672914153184258888__item\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3672914153184258888__item->clustermy_workflowinjected_GetItem_m3672914153184258888Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3704174620413949532__item\n\ninjected_GetItem_m3704174620413949532__item\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3704174620413949532__item->clustermy_workflowinjected_GetItem_m3704174620413949532Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4039229949071618956__item\n\ninjected_GetItem_m4039229949071618956__item\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4039229949071618956__item->clustermy_workflowinjected_GetItem_m4039229949071618956Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_1686080811433973845__item\n\ninjected_GetItem_1686080811433973845__item\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_1686080811433973845__item->clustermy_workflowinjected_GetItem_1686080811433973845Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4407984160589389926__item\n\ninjected_GetItem_4407984160589389926__item\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4407984160589389926__item->clustermy_workflowinjected_GetItem_4407984160589389926Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7176645861602700091__item\n\ninjected_GetItem_m7176645861602700091__item\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7176645861602700091__item->clustermy_workflowinjected_GetItem_m7176645861602700091Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_5124834049111621268__item\n\ninjected_GetItem_5124834049111621268__item\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_5124834049111621268__item->clustermy_workflowinjected_GetItem_5124834049111621268Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6472715043888601456__item\n\ninjected_GetItem_m6472715043888601456__item\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6472715043888601456__item->clustermy_workflowinjected_GetItem_m6472715043888601456Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m1333829635268599976__item\n\ninjected_GetItem_m1333829635268599976__item\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m1333829635268599976__item->clustermy_workflowinjected_GetItem_m1333829635268599976Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m272556801974516106__item\n\ninjected_GetItem_m272556801974516106__item\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m272556801974516106__item->clustermy_workflowinjected_GetItem_m272556801974516106Inputsitem\n\n\n\n\n\n\nclustermy_workflowOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\nplot__plot_energy_volume_curve\n\n\n\nclustermy_workflowstructureInputsrun\n\nrun\n\n\n\nclustermy_workflowstructureOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclustermy_workflowinput_dict_0Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_dict_0Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_miniInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict->clustermy_workflowcalc_miniInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_miniInputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_miniInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3360943636605503408Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowstructure_lstInputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n\n\n\n\n\n\nclustermy_workflowstructure_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructure_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m2939154398481564769Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_4041815647480064508Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m4015009318811961571Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_4987553856152306583Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7645132870050794682Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_1Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectiongetitem->clustermy_workflowinput_dict_1Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_0Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict->clustermy_workflowcalc_strain_0Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3672914153184258888Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m7176645861602700091Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_2Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectiongetitem->clustermy_workflowinput_dict_2Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_1Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict->clustermy_workflowcalc_strain_1Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3704174620413949532Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_5124834049111621268Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_3Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectiongetitem->clustermy_workflowinput_dict_3Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_2Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict->clustermy_workflowcalc_strain_2Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4039229949071618956Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m6472715043888601456Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_4Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectiongetitem->clustermy_workflowinput_dict_4Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_3Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict->clustermy_workflowcalc_strain_3Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_1686080811433973845Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m1333829635268599976Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_5Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectiongetitem->clustermy_workflowinput_dict_5Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_5Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_4Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict->clustermy_workflowcalc_strain_4Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_4407984160589389926Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m272556801974516106Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowvolume_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowvolume_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict->clustermy_workflowvolume_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowenergy_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowenergy_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict->clustermy_workflowenergy_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowvolume_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionoutput_dict\n\noutput_dict\n\n\n\nclustermy_workflowplotInputsvolume_lst\n\nvolume_lst\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionoutput_dict->clustermy_workflowplotInputsvolume_lst\n\n\n\n\n\n\nclustermy_workflowenergy_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionoutput_dict\n\noutput_dict\n\n\n\nclustermy_workflowplotInputsenergy_lst\n\nenergy_lst\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionoutput_dict->clustermy_workflowplotInputsenergy_lst\n\n\n\n\n\n\nclustermy_workflowplotInputsrun\n\nrun\n\n\n\nclustermy_workflowplotOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowplotInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowplotOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\n\n\n\n\n\n","text/plain":""},"execution_count":16,"metadata":{},"output_type":"execute_result"}],"execution_count":16},{"id":"5bb8c16b-7815-4bb8-b8a1-b0d4aa8528c9","cell_type":"code","source":"write_workflow_json(graph_as_dict=wf.graph_as_dict, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"944be632-3544-4a22-a105-78dd94c6a25d","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"fef7107a-5af3-4434-ae4c-a8d45e1d9b61","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"5f4d2243-faf6-4d57-be70-5f7d1292e33e","cell_type":"code","source":"from aiida import orm, load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"232c9447-8274-4a82-9c8c-468af7ec6c43","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"97150c3d-dd11-4b24-8e19-a088bb85a2c8","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"dac6c4ad-297e-43b1-8d0a-ea841f3d6aa7","cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"9226d966-d90a-4ab2-9776-df1b50bd6a49","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"ba32ad83-385d-4f1a-87ea-28a1383e6067","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"4a39c916-a45b-48ac-b4a9-914688c5d85e","cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"9b03e3e7-3dba-4640-9869-76916413bfc0","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"19df3f74-8c2f-4563-a78a-f5307a9e084d","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"e0c78db2-2ead-45d3-92ed-d087e19952ba","cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"id":"319f466c-def2-45c3-82ba-fffca5d036db","cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"ed2e964d-0251-488c-b623-28b794c46703","cell_type":"code","source":"delayed_object_lst = load_workflow_json(file_name=\"workflow.json\")\ndelayed_object_lst[-1].draw()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"8bf584f4-52f5-41eb-9ce3-13847436e0a0","cell_type":"code","source":"delayed_object_lst[-1].pull()","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 9b500b1..62ee6af 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -28,7 +28,10 @@ def get_linked_nodes(graph_dict): node_mapping_dict = {} input_dict = {} for i, [k, v] in enumerate(graph_dict["nodes"].items()): - nodes_dict[i] = v.node_function + if "inputs_to_dict_factory" in str(type(v)): + nodes_dict[i] = get_dict + else: + nodes_dict[i] = v.node_function node_mapping_dict[k] = i input_dict[k] = { con.full_label: con.value @@ -41,9 +44,10 @@ def get_linked_nodes(graph_dict): def extend_nodes_dict(nodes_dict, input_dict): i = len(nodes_dict) nodes_links_dict = {} + nodes_values_str_lst = [str(s) for s in nodes_dict.values()] for val_dict in input_dict.values(): for k, v in val_dict.items(): - if v not in nodes_dict.values(): + if str(v) not in nodes_values_str_lst: nodes_dict[i] = v nodes_links_dict[k] = i i += 1 @@ -96,8 +100,85 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): if isfunction(v) and "pyiron_workflow" in v.__module__: pyiron_workflow_modules[k] = v - target_dict = {} + cache_mapping_dict, remap_dict = {}, {} + for k, v in nodes_dict.items(): + if not isfunction(v) and str(v) not in cache_mapping_dict: + cache_mapping_dict[str(v)] = k + elif not isfunction(v): + remap_dict[k] = cache_mapping_dict[str(v)] + + item_node_lst = [ + e[SOURCE_LABEL] for e in edges_lst + if e[TARGET_LABEL] in pyiron_workflow_modules.keys() and e[TARGET_PORT_LABEL] == "item" + ] + + values_from_dict_lst = [ + k for k, v in nodes_dict.items() + if isfunction(v) and v.__name__ == "get_values_from_dict" + ] + + remap_get_list_dict = {} + for e in edges_lst: + if e[TARGET_LABEL] in values_from_dict_lst: + remap_get_list_dict[e[SOURCE_LABEL]] = e[TARGET_LABEL] + + nodes_remaining_dict = { + k: v for k, v in nodes_dict.items() + if k not in pyiron_workflow_modules.keys() and k not in remap_dict.keys() and k not in item_node_lst and k not in remap_get_list_dict.values() + } + + nodes_store_lst = [] + nodes_final_order_dict = {} + for k, [i, v] in enumerate(nodes_remaining_dict.items()): + if i in remap_get_list_dict: + nodes_store_lst.append( + {"id": k, "type": "function", "value": "python_workflow_definition.shared.get_list"} + ) + elif isfunction(v): + mod = v.__module__ + if mod == "python_workflow_definition.pyiron_workflow": + mod = "python_workflow_definition.shared" + nodes_store_lst.append( + {"id": k, "type": "function", "value": mod + "." + v.__name__} + ) + elif isinstance(v, np.ndarray): + nodes_store_lst.append({"id": k, "type": "input", "value": v.tolist()}) + else: + nodes_store_lst.append({"id": k, "type": "input", "value": v}) + nodes_final_order_dict[i] = k + + remap_get_list_remove_edges = [ + edge for edge in edges_lst + if edge[TARGET_LABEL] in remap_get_list_dict.values() + ] + + edge_get_list_updated_lst = [] for edge in edges_lst: + if edge[SOURCE_LABEL] in remap_get_list_dict.values(): + connected_edge = [ + edge_con for edge_con in remap_get_list_remove_edges + if edge_con[TARGET_LABEL] == edge[SOURCE_LABEL] + ][-1] + edge_updated = { + TARGET_LABEL: edge[TARGET_LABEL], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + SOURCE_LABEL: connected_edge[SOURCE_LABEL], + SOURCE_PORT_LABEL: connected_edge[SOURCE_PORT_LABEL], + } + edge_get_list_updated_lst.append(edge_updated) + elif edge[SOURCE_LABEL] in remap_dict.keys(): + edge_updated = { + TARGET_LABEL: edge[TARGET_LABEL], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + SOURCE_LABEL: remap_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], + } + edge_get_list_updated_lst.append(edge_updated) + elif edge[TARGET_LABEL] not in remap_get_list_dict.values(): + edge_get_list_updated_lst.append(edge) + + target_dict = {} + for edge in edge_get_list_updated_lst: for k in pyiron_workflow_modules.keys(): if k == edge[TARGET_LABEL]: if k not in target_dict: @@ -105,7 +186,7 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): target_dict[k].append(edge) source_dict = {} - for edge in edges_lst: + for edge in edge_get_list_updated_lst: for k in pyiron_workflow_modules.keys(): if k == edge[SOURCE_LABEL]: if k not in source_dict: @@ -121,67 +202,53 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): nodes_to_delete.append(edge[SOURCE_LABEL]) else: source = edge[SOURCE_LABEL] - edge_new_lst.append( - { - SOURCE_LABEL: source, - SOURCE_PORT_LABEL: sourcehandle, - TARGET_LABEL: source_dict[k][-1][TARGET_LABEL], - TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL], - } - ) - - nodes_to_skip = nodes_to_delete + list(pyiron_workflow_modules.keys()) - nodes_new_dict = {k: v for k, v in nodes_dict.items() if k not in nodes_to_skip} - - nodes_store_lst = [] - for k, v in enumerate(nodes_new_dict.values()): - if isfunction(v): - mod = v.__module__ - if mod == "python_workflow_definition.pyiron_workflow": - mod = "python_workflow_definition.shared" - nodes_store_lst.append( - {"id": k, "type": "function", "value": mod + "." + v.__name__} + if "s_" == source_dict[k][-1][TARGET_PORT_LABEL][:2]: + edge_new_lst.append( + { + SOURCE_LABEL: nodes_final_order_dict[source], + SOURCE_PORT_LABEL: sourcehandle, + TARGET_LABEL: nodes_final_order_dict[source_dict[k][-1][TARGET_LABEL]], + TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL][2:], + } ) - elif isinstance(v, np.ndarray): - nodes_store_lst.append({"id": k, "type": "input", "value": v.tolist()}) else: - nodes_store_lst.append({"id": k, "type": "input", "value": v}) + edge_new_lst.append( + { + SOURCE_LABEL: nodes_final_order_dict[source], + SOURCE_PORT_LABEL: sourcehandle, + TARGET_LABEL: nodes_final_order_dict[source_dict[k][-1][TARGET_LABEL]], + TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL], + } + ) - for edge in edges_lst: + nodes_to_skip = nodes_to_delete + list(pyiron_workflow_modules.keys()) + for edge in edge_get_list_updated_lst: if ( - edge[TARGET_LABEL] not in nodes_to_skip - and edge[SOURCE_LABEL] not in nodes_to_skip + edge[TARGET_LABEL] not in nodes_to_skip + and edge[SOURCE_LABEL] not in nodes_to_skip ): - edge_new_lst.append(edge) - - nodes_updated_dict, mapping_dict = {}, {} - i = 0 - for k, v in nodes_new_dict.items(): - nodes_updated_dict[i] = v - mapping_dict[k] = i - i += 1 - - edge_updated_lst = [] - for edge in edge_new_lst: - source_node = nodes_new_dict[edge[SOURCE_LABEL]] - if isfunction(source_node) and source_node.__name__ == edge[SOURCE_PORT_LABEL]: - edge_updated_lst.append( - { - SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], + source_node = nodes_remaining_dict[edge[SOURCE_LABEL]] + if isfunction(source_node) and source_node.__name__ == edge[SOURCE_PORT_LABEL]: + edge_new_lst.append({ + TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], SOURCE_PORT_LABEL: None, - TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], + }) + elif isfunction(source_node) and source_node.__name__ == "get_dict" and edge[SOURCE_PORT_LABEL] == "dict": + edge_new_lst.append({ + TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], - } - ) - else: - edge_updated_lst.append( - { - SOURCE_LABEL: mapping_dict[edge[SOURCE_LABEL]], - SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], - TARGET_LABEL: mapping_dict[edge[TARGET_LABEL]], + SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: None, + }) + else: + edge_new_lst.append({ + TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], - } - ) + SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], + }) PythonWorkflowDefinitionWorkflow( **set_result_node( From 560fa19fdcf27340e343400810e4356393ebe36c Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Mon, 26 May 2025 06:38:54 +0200 Subject: [PATCH 27/29] black formatting --- .../pyiron_workflow.py | 96 ++++++++++++------- 1 file changed, 62 insertions(+), 34 deletions(-) diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 62ee6af..8ebb656 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -108,12 +108,15 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): remap_dict[k] = cache_mapping_dict[str(v)] item_node_lst = [ - e[SOURCE_LABEL] for e in edges_lst - if e[TARGET_LABEL] in pyiron_workflow_modules.keys() and e[TARGET_PORT_LABEL] == "item" + e[SOURCE_LABEL] + for e in edges_lst + if e[TARGET_LABEL] in pyiron_workflow_modules.keys() + and e[TARGET_PORT_LABEL] == "item" ] values_from_dict_lst = [ - k for k, v in nodes_dict.items() + k + for k, v in nodes_dict.items() if isfunction(v) and v.__name__ == "get_values_from_dict" ] @@ -123,8 +126,12 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): remap_get_list_dict[e[SOURCE_LABEL]] = e[TARGET_LABEL] nodes_remaining_dict = { - k: v for k, v in nodes_dict.items() - if k not in pyiron_workflow_modules.keys() and k not in remap_dict.keys() and k not in item_node_lst and k not in remap_get_list_dict.values() + k: v + for k, v in nodes_dict.items() + if k not in pyiron_workflow_modules.keys() + and k not in remap_dict.keys() + and k not in item_node_lst + and k not in remap_get_list_dict.values() } nodes_store_lst = [] @@ -132,7 +139,11 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): for k, [i, v] in enumerate(nodes_remaining_dict.items()): if i in remap_get_list_dict: nodes_store_lst.append( - {"id": k, "type": "function", "value": "python_workflow_definition.shared.get_list"} + { + "id": k, + "type": "function", + "value": "python_workflow_definition.shared.get_list", + } ) elif isfunction(v): mod = v.__module__ @@ -148,15 +159,15 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): nodes_final_order_dict[i] = k remap_get_list_remove_edges = [ - edge for edge in edges_lst - if edge[TARGET_LABEL] in remap_get_list_dict.values() + edge for edge in edges_lst if edge[TARGET_LABEL] in remap_get_list_dict.values() ] edge_get_list_updated_lst = [] for edge in edges_lst: if edge[SOURCE_LABEL] in remap_get_list_dict.values(): connected_edge = [ - edge_con for edge_con in remap_get_list_remove_edges + edge_con + for edge_con in remap_get_list_remove_edges if edge_con[TARGET_LABEL] == edge[SOURCE_LABEL] ][-1] edge_updated = { @@ -207,7 +218,9 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): { SOURCE_LABEL: nodes_final_order_dict[source], SOURCE_PORT_LABEL: sourcehandle, - TARGET_LABEL: nodes_final_order_dict[source_dict[k][-1][TARGET_LABEL]], + TARGET_LABEL: nodes_final_order_dict[ + source_dict[k][-1][TARGET_LABEL] + ], TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL][2:], } ) @@ -216,7 +229,9 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): { SOURCE_LABEL: nodes_final_order_dict[source], SOURCE_PORT_LABEL: sourcehandle, - TARGET_LABEL: nodes_final_order_dict[source_dict[k][-1][TARGET_LABEL]], + TARGET_LABEL: nodes_final_order_dict[ + source_dict[k][-1][TARGET_LABEL] + ], TARGET_PORT_LABEL: source_dict[k][-1][TARGET_PORT_LABEL], } ) @@ -224,31 +239,44 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): nodes_to_skip = nodes_to_delete + list(pyiron_workflow_modules.keys()) for edge in edge_get_list_updated_lst: if ( - edge[TARGET_LABEL] not in nodes_to_skip - and edge[SOURCE_LABEL] not in nodes_to_skip + edge[TARGET_LABEL] not in nodes_to_skip + and edge[SOURCE_LABEL] not in nodes_to_skip ): source_node = nodes_remaining_dict[edge[SOURCE_LABEL]] - if isfunction(source_node) and source_node.__name__ == edge[SOURCE_PORT_LABEL]: - edge_new_lst.append({ - TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], - TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], - SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], - SOURCE_PORT_LABEL: None, - }) - elif isfunction(source_node) and source_node.__name__ == "get_dict" and edge[SOURCE_PORT_LABEL] == "dict": - edge_new_lst.append({ - TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], - TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], - SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], - SOURCE_PORT_LABEL: None, - }) + if ( + isfunction(source_node) + and source_node.__name__ == edge[SOURCE_PORT_LABEL] + ): + edge_new_lst.append( + { + TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: None, + } + ) + elif ( + isfunction(source_node) + and source_node.__name__ == "get_dict" + and edge[SOURCE_PORT_LABEL] == "dict" + ): + edge_new_lst.append( + { + TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: None, + } + ) else: - edge_new_lst.append({ - TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], - TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], - SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], - SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], - }) + edge_new_lst.append( + { + TARGET_LABEL: nodes_final_order_dict[edge[TARGET_LABEL]], + TARGET_PORT_LABEL: edge[TARGET_PORT_LABEL], + SOURCE_LABEL: nodes_final_order_dict[edge[SOURCE_LABEL]], + SOURCE_PORT_LABEL: edge[SOURCE_PORT_LABEL], + } + ) PythonWorkflowDefinitionWorkflow( **set_result_node( @@ -256,7 +284,7 @@ def write_workflow_json(graph_as_dict: dict, file_name: str = "workflow.json"): workflow_dict={ VERSION_LABEL: VERSION_NUMBER, NODES_LABEL: nodes_store_lst, - EDGES_LABEL: edge_updated_lst, + EDGES_LABEL: edge_new_lst, } ) ) From 9e541a6ef6f6cf312bf5955be8362167506a6b0e Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Mon, 26 May 2025 07:05:03 +0200 Subject: [PATCH 28/29] update notebook --- .../quantum_espresso/aiida.ipynb | 499 +----------------- .../quantum_espresso/jobflow.ipynb | 481 +---------------- .../quantum_espresso/pyiron_base.ipynb | 426 +-------------- .../pyiron_workflow.py | 1 + 4 files changed, 4 insertions(+), 1403 deletions(-) diff --git a/example_workflows/quantum_espresso/aiida.ipynb b/example_workflows/quantum_espresso/aiida.ipynb index a5c7184..e53eced 100644 --- a/example_workflows/quantum_espresso/aiida.ipynb +++ b/example_workflows/quantum_espresso/aiida.ipynb @@ -1,498 +1 @@ -{ - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.8" - } - }, - "nbformat_minor": 4, - "nbformat": 4, - "cells": [ - { - "cell_type": "markdown", - "source": "# Aiida", - "metadata": {} - }, - { - "cell_type": "markdown", - "source": "## Define workflow with aiida", - "metadata": {} - }, - { - "cell_type": "code", - "source": "from python_workflow_definition.aiida import write_workflow_json\nfrom python_workflow_definition.shared import get_dict, get_list\n\nfrom aiida import load_profile, orm\n\nload_profile()\n\nworkflow_json_filename = \"aiida_qe.json\"", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 1 - }, - { - "cell_type": "code", - "source": "from aiida_workgraph import task, WorkGraph", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 2 - }, - { - "cell_type": "code", - "source": "from workflow import (\n generate_structures,\n get_bulk_structure,\n calculate_qe as _calculate_qe,\n plot_energy_volume_curve,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 3 - }, - { - "cell_type": "code", - "source": "calculate_qe = task(outputs=[\"energy\", \"volume\", \"structure\"])(_calculate_qe)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 4 - }, - { - "cell_type": "code", - "source": "wg = WorkGraph(\"wg-qe\")", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 5 - }, - { - "cell_type": "markdown", - "source": "### Prepare the inputs", - "metadata": {} - }, - { - "cell_type": "code", - "source": "element = orm.Str(\"Al\")\na = orm.Float(4.04)\ncubic = orm.Bool(True)\nrelax_workdir = orm.Str(\"mini\")\npseudopotentials = orm.Dict({\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"})\nkpts = orm.List([3, 3, 3])\ncalc_type_relax = orm.Str(\"vc-relax\")\ncalc_type_scf = orm.Str(\"scf\")\nsmearing = orm.Float(0.02)\nstrain_lst = orm.List([0.9, 0.95, 1.0, 1.05, 1.1])", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 6 - }, - { - "cell_type": "markdown", - "source": "### Actual tasks to construct the EOS workflow", - "metadata": {} - }, - { - "cell_type": "code", - "source": "get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n element=element,\n a=a,\n cubic=cubic,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 7 - }, - { - "cell_type": "code", - "source": "relax_prepare_input_dict_task = wg.add_task(\n get_dict,\n structure=get_bulk_structure_task.outputs.result,\n calculation=calc_type_relax,\n kpts=kpts,\n pseudopotentials=pseudopotentials,\n smearing=smearing,\n)\n\nrelax_task = wg.add_task(\n calculate_qe,\n input_dict=relax_prepare_input_dict_task.outputs.result,\n working_directory=relax_workdir,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 8 - }, - { - "cell_type": "code", - "source": "generate_structures_task = wg.add_task(\n generate_structures,\n structure=relax_task.outputs.structure,\n strain_lst=strain_lst,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 9 - }, - { - "cell_type": "code", - "source": "get_volumes_task = wg.add_task(get_list)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 10 - }, - { - "cell_type": "code", - "source": "get_energies_task = wg.add_task(get_list)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 11 - }, - { - "cell_type": "code", - "source": "strain_dir_tasks, scf_qe_tasks, scf_get_dict_tasks = [], [], []\n\nfor i, strain in enumerate(strain_lst):\n\n structure_key = f\"s_{i}\"\n strain_dir = orm.Str(f\"strain_{i}\")\n generate_structures_task.add_output(\"workgraph.any\", structure_key)\n\n scf_prepare_input_dict_task = wg.add_task(\n get_dict,\n structure=generate_structures_task.outputs[structure_key],\n calculation=calc_type_scf,\n kpts=kpts,\n pseudopotentials=pseudopotentials,\n smearing=smearing,\n )\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n input_dict=scf_prepare_input_dict_task.outputs.result,\n working_directory=strain_dir,\n )\n\n # collect energy and volume\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 12 - }, - { - "cell_type": "code", - "source": "plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n volume_lst=get_volumes_task.outputs.result,\n energy_lst=get_energies_task.outputs.result,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 13 - }, - { - "cell_type": "code", - "source": "wg", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "execution_count": 14, - "output_type": "execute_result", - "data": { - "text/plain": "NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'wg-qe',…", - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 1, - "model_id": "5e2142f5189b4350bb20fb6f6fa3ceb4" - } - }, - "metadata": {} - } - ], - "execution_count": 14 - }, - { - "cell_type": "code", - "source": "_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 15 - }, - { - "cell_type": "code", - "source": "!cat {workflow_json_filename}", - "metadata": { - "trusted": true - }, - "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\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 2,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 3,\n \"type\": \"function\",\n \"value\": \"workflow.generate_structures\"\n },\n {\n \"id\": 4,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 5,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 6,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 7,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 8,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 9,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 10,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 11,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 12,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 13,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 14,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 15,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 16,\n \"type\": \"function\",\n \"value\": \"workflow.plot_energy_volume_curve\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 20,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 21,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 23,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 24,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"mini\"\n },\n {\n \"id\": 25,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.95,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 26,\n \"type\": \"input\",\n \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 27,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"strain_0\"\n },\n {\n \"id\": 28,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\n },\n {\n \"id\": 29,\n \"type\": \"input\",\n \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\n },\n {\n \"id\": 30,\n \"type\": \"input\",\n \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\n },\n {\n \"id\": 31,\n \"type\": \"input\",\n \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\n },\n {\n \"id\": 32,\n \"type\": \"output\",\n \"name\": \"result\"\n }\n ],\n \"edges\": [\n {\n \"target\": 1,\n \"targetPort\": \"structure\",\n \"source\": 0,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"input_dict\",\n \"source\": 1,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"structure\",\n \"source\": 2,\n \"sourcePort\": \"structure\"\n },\n {\n \"target\": 6,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_0\"\n },\n {\n \"target\": 7,\n \"targetPort\": \"input_dict\",\n \"source\": 6,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"0\",\n \"source\": 7,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"0\",\n \"source\": 7,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 8,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_1\"\n },\n {\n \"target\": 9,\n \"targetPort\": \"input_dict\",\n \"source\": 8,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"1\",\n \"source\": 9,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"1\",\n \"source\": 9,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 10,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_2\"\n },\n {\n \"target\": 11,\n \"targetPort\": \"input_dict\",\n \"source\": 10,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"2\",\n \"source\": 11,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"2\",\n \"source\": 11,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 12,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_3\"\n },\n {\n \"target\": 13,\n \"targetPort\": \"input_dict\",\n \"source\": 12,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"3\",\n \"source\": 13,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"3\",\n \"source\": 13,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_4\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"input_dict\",\n \"source\": 14,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"4\",\n \"source\": 15,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"4\",\n \"source\": 15,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"volume_lst\",\n \"source\": 4,\n \"sourcePort\": null\n },\n {\n \"target\": 16,\n \"targetPort\": \"energy_lst\",\n \"source\": 5,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"element\",\n \"source\": 17,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"a\",\n \"source\": 18,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"cubic\",\n \"source\": 19,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"calculation\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"working_directory\",\n \"source\": 24,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"strain_lst\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"working_directory\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"working_directory\",\n \"source\": 29,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"working_directory\",\n \"source\": 30,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"working_directory\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 16,\n \"sourcePort\": null\n }\n ]\n}" - } - ], - "execution_count": 16 - }, - { - "cell_type": "markdown", - "source": "## Load Workflow with jobflow", - "metadata": {} - }, - { - "cell_type": "code", - "source": "from python_workflow_definition.jobflow import load_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 17 - }, - { - "cell_type": "code", - "source": "from jobflow.managers.local import run_locally", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 18 - }, - { - "cell_type": "code", - "source": "flow = load_workflow_json(file_name=workflow_json_filename)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 19 - }, - { - "cell_type": "code", - "source": "flow[0].function_kwargs[\"a\"] = 4.05", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 20 - }, - { - "cell_type": "code", - "source": "result = run_locally(flow)\nresult", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:48:01,786 INFO Started executing jobs locally\n2025-05-24 05:48:02,013 INFO Starting job - get_bulk_structure (28c24969-efdd-4239-a6bd-af123fff4298)\n2025-05-24 05:48:02,017 INFO Finished job - get_bulk_structure (28c24969-efdd-4239-a6bd-af123fff4298)\n2025-05-24 05:48:02,018 INFO Starting job - get_dict (ffd8792f-e232-4cd7-8a66-15d61be9e29f)\n2025-05-24 05:48:02,019 INFO Finished job - get_dict (ffd8792f-e232-4cd7-8a66-15d61be9e29f)\n2025-05-24 05:48:02,020 INFO Starting job - calculate_qe (69b4c8f3-8419-4df1-b569-dd1c7fefd764)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:08863] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:48:54,204 INFO Finished job - calculate_qe (69b4c8f3-8419-4df1-b569-dd1c7fefd764)\n2025-05-24 05:48:54,205 INFO Starting job - generate_structures (2d24374c-9473-456d-98ff-1be0c02c2bb7)\n2025-05-24 05:48:54,208 INFO Finished job - generate_structures (2d24374c-9473-456d-98ff-1be0c02c2bb7)\n2025-05-24 05:48:54,209 INFO Starting job - get_dict (56abaa34-f9a4-4d28-bf90-2897fe970beb)\n2025-05-24 05:48:54,210 INFO Finished job - get_dict (56abaa34-f9a4-4d28-bf90-2897fe970beb)\n2025-05-24 05:48:54,210 INFO Starting job - get_dict (2dd35376-658a-46ff-a277-a9b8e88ddac5)\n2025-05-24 05:48:54,211 INFO Finished job - get_dict (2dd35376-658a-46ff-a277-a9b8e88ddac5)\n2025-05-24 05:48:54,211 INFO Starting job - get_dict (33527acb-a9e4-4422-8198-08f80992ac9e)\n2025-05-24 05:48:54,212 INFO Finished job - get_dict (33527acb-a9e4-4422-8198-08f80992ac9e)\n2025-05-24 05:48:54,213 INFO Starting job - get_dict (75067890-ee04-48e4-81e3-d8bf8072b673)\n2025-05-24 05:48:54,214 INFO Finished job - get_dict (75067890-ee04-48e4-81e3-d8bf8072b673)\n2025-05-24 05:48:54,214 INFO Starting job - get_dict (10b85da2-e05d-4de0-85bd-a572aab2a34f)\n2025-05-24 05:48:54,215 INFO Finished job - get_dict (10b85da2-e05d-4de0-85bd-a572aab2a34f)\n2025-05-24 05:48:54,216 INFO Starting job - calculate_qe (254a56bb-69a7-478c-a5bc-162d183e0454)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:08876] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:49:04,619 INFO Finished job - calculate_qe (254a56bb-69a7-478c-a5bc-162d183e0454)\n2025-05-24 05:49:04,620 INFO Starting job - calculate_qe (6f1b1b10-81d7-4f4a-95a9-c37697b4ff22)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:08887] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:49:15,345 INFO Finished job - calculate_qe (6f1b1b10-81d7-4f4a-95a9-c37697b4ff22)\n2025-05-24 05:49:15,346 INFO Starting job - calculate_qe (adfa9cb1-8d89-4943-832b-9e21782861cd)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:08897] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:49:26,680 INFO Finished job - calculate_qe (adfa9cb1-8d89-4943-832b-9e21782861cd)\n2025-05-24 05:49:26,681 INFO Starting job - calculate_qe (c8bd32cf-c431-4189-9f09-708a86fa8aa0)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:08908] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:49:40,830 INFO Finished job - calculate_qe (c8bd32cf-c431-4189-9f09-708a86fa8aa0)\n2025-05-24 05:49:40,831 INFO Starting job - calculate_qe (140c1cae-54ed-492f-8589-d9c0490142c6)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:08919] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 05:49:54,690 INFO Finished job - calculate_qe (140c1cae-54ed-492f-8589-d9c0490142c6)\n2025-05-24 05:49:54,691 INFO Starting job - get_list (1eade2dd-772e-4e49-8264-2ff6ee8ff6ff)\n2025-05-24 05:49:54,694 INFO Finished job - get_list (1eade2dd-772e-4e49-8264-2ff6ee8ff6ff)\n2025-05-24 05:49:54,694 INFO Starting job - get_list (0b1cb308-c310-4995-b18b-1441b1ff1a22)\n2025-05-24 05:49:54,697 INFO Finished job - get_list (0b1cb308-c310-4995-b18b-1441b1ff1a22)\n2025-05-24 05:49:54,698 INFO Starting job - plot_energy_volume_curve (2fd7c54d-8f3d-437c-a59f-8236978defdc)\n2025-05-24 05:49:54,794 INFO Finished job - plot_energy_volume_curve (2fd7c54d-8f3d-437c-a59f-8236978defdc)\n2025-05-24 05:49:54,795 INFO Finished executing jobs locally\n" - }, - { - "execution_count": 21, - "output_type": "execute_result", - "data": { - "text/plain": "{'28c24969-efdd-4239-a6bd-af123fff4298': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'ffd8792f-e232-4cd7-8a66-15d61be9e29f': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'vc-relax', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '69b4c8f3-8419-4df1-b569-dd1c7fefd764': {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.045637215946848, 0.0, 0.0], [0.0, 4.045637215946848, 0.0], [0.0, 0.0, 4.045637215946848]], \"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.0228186079734236, 2.0228186079734236], [2.0228186079734236, 0.0, 2.0228186079734236], [2.0228186079734236, 2.0228186079734236, 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.936526225353, 'volume': 66.21567448236287}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '2d24374c-9473-456d-98ff-1be0c02c2bb7': {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.9060197859621555, 0.0, 0.0], [0.0, 3.9060197859621555, 0.0], [0.0, 0.0, 3.9060197859621555]], \"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.9530098929810773, 1.9530098929810773], [1.9530098929810773, 0.0, 1.9530098929810773], [1.9530098929810773, 1.9530098929810773, 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.977053844318056, 0.0, 0.0], [0.0, 3.977053844318056, 0.0], [0.0, 0.0, 3.977053844318056]], \"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.9885269221590276, 1.9885269221590276], [1.9885269221590276, 0.0, 1.9885269221590276], [1.9885269221590276, 1.9885269221590276, 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.045637215946848, 0.0, 0.0], [0.0, 4.045637215946848, 0.0], [0.0, 0.0, 4.045637215946848]], \"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.0228186079734236, 2.0228186079734236], [2.0228186079734236, 0.0, 2.0228186079734236], [2.0228186079734236, 2.0228186079734236, 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.111970927282964, 0.0, 0.0], [0.0, 4.111970927282964, 0.0], [0.0, 0.0, 4.111970927282964]], \"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.0559854636414814, 2.0559854636414814], [2.0559854636414814, 0.0, 2.0559854636414814], [2.0559854636414814, 2.0559854636414814, 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.176230852372188, 0.0, 0.0], [0.0, 4.176230852372188, 0.0], [0.0, 0.0, 4.176230852372188]], \"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.0881154261860937, 2.0881154261860937], [2.0881154261860937, 0.0, 2.0881154261860937], [2.0881154261860937, 2.0881154261860937, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '56abaa34-f9a4-4d28-bf90-2897fe970beb': {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.9060197859621555, 0.0, 0.0], [0.0, 3.9060197859621555, 0.0], [0.0, 0.0, 3.9060197859621555]], \"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.9530098929810773, 1.9530098929810773], [1.9530098929810773, 0.0, 1.9530098929810773], [1.9530098929810773, 1.9530098929810773, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '2dd35376-658a-46ff-a277-a9b8e88ddac5': {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.977053844318056, 0.0, 0.0], [0.0, 3.977053844318056, 0.0], [0.0, 0.0, 3.977053844318056]], \"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.9885269221590276, 1.9885269221590276], [1.9885269221590276, 0.0, 1.9885269221590276], [1.9885269221590276, 1.9885269221590276, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '33527acb-a9e4-4422-8198-08f80992ac9e': {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.045637215946848, 0.0, 0.0], [0.0, 4.045637215946848, 0.0], [0.0, 0.0, 4.045637215946848]], \"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.0228186079734236, 2.0228186079734236], [2.0228186079734236, 0.0, 2.0228186079734236], [2.0228186079734236, 2.0228186079734236, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '75067890-ee04-48e4-81e3-d8bf8072b673': {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.111970927282964, 0.0, 0.0], [0.0, 4.111970927282964, 0.0], [0.0, 0.0, 4.111970927282964]], \"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.0559854636414814, 2.0559854636414814], [2.0559854636414814, 0.0, 2.0559854636414814], [2.0559854636414814, 2.0559854636414814, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '10b85da2-e05d-4de0-85bd-a572aab2a34f': {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.176230852372188, 0.0, 0.0], [0.0, 4.176230852372188, 0.0], [0.0, 0.0, 4.176230852372188]], \"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.0881154261860937, 2.0881154261860937], [2.0881154261860937, 0.0, 2.0881154261860937], [2.0881154261860937, 2.0881154261860937, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '254a56bb-69a7-478c-a5bc-162d183e0454': {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.906019768889195, 0.0, 0.0], [0.0, 3.906019768889195, 0.0], [0.0, 0.0, 3.906019768889195]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150612, 'volume': 59.59410625268055}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '6f1b1b10-81d7-4f4a-95a9-c37697b4ff22': {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.97705382693461, 0.0, 0.0], [0.0, 3.97705382693461, 0.0], [0.0, 0.0, 3.97705382693461]], \"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.9885269135082753, 1.9885269135082753], [1.9885269135082753, 0.0, 1.9885269135082753], [1.9885269135082753, 1.9885269135082753, 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.9161488594598, 'volume': 62.90488993338502}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'adfa9cb1-8d89-4943-832b-9e21782861cd': {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.045637198263626, 0.0, 0.0], [0.0, 4.045637198263626, 0.0], [0.0, 0.0, 4.045637198263626]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668352, 'volume': 66.21567361408935}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'c8bd32cf-c431-4189-9f09-708a86fa8aa0': {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.111970909309796, 0.0, 0.0], [0.0, 4.111970909309796, 0.0], [0.0, 0.0, 4.111970909309796]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025823, 'volume': 69.52645729479359}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '140c1cae-54ed-492f-8589-d9c0490142c6': {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.17623083411815, 0.0, 0.0], [0.0, 4.17623083411815, 0.0], [0.0, 0.0, 4.17623083411815]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0881154170729803, 2.0881154170729803], [2.0881154170729803, 0.0, 2.0881154170729803], [2.0881154170729803, 2.0881154170729803, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693437, 'volume': 72.83724097549829}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '1eade2dd-772e-4e49-8264-2ff6ee8ff6ff': {1: Response(output=[59.59410625268055, 62.90488993338502, 66.21567361408935, 69.52645729479359, 72.83724097549829], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '0b1cb308-c310-4995-b18b-1441b1ff1a22': {1: Response(output=[-1074.8457446150612, -1074.9161488594598, -1074.9365241668352, -1074.9192860025823, -1074.8737904693437], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '2fd7c54d-8f3d-437c-a59f-8236978defdc': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))}}" - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=" - }, - "metadata": {} - } - ], - "execution_count": 21 - }, - { - "cell_type": "markdown", - "source": "## Load Workflow with pyiron_base", - "metadata": {} - }, - { - "cell_type": "code", - "source": "from python_workflow_definition.pyiron_base import load_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 22 - }, - { - "cell_type": "code", - "source": "delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\ndelayed_object_lst[-1].draw()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "", - "image/svg+xml": "\n\n\n\n\ncreate_function_job_ce91e09311e572ee896f354746ffdb52\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed8a120>\n\n\n\nvolume_lst_4362c8494e9d76136a3dc40484677c25\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89ca0>\n\n\n\nvolume_lst_4362c8494e9d76136a3dc40484677c25->create_function_job_ce91e09311e572ee896f354746ffdb52\n\n\n\n\n\n0_48d1c0a308a7f85ce736e70fdee35d55\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88fe0>\n\n\n\n0_48d1c0a308a7f85ce736e70fdee35d55->volume_lst_4362c8494e9d76136a3dc40484677c25\n\n\n\n\n\ninput_dict_8627e51bf0fa1c75dee291b4340323c2\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89250>\n\n\n\ninput_dict_8627e51bf0fa1c75dee291b4340323c2->0_48d1c0a308a7f85ce736e70fdee35d55\n\n\n\n\n\n0_1721b1c587d3246df560cbea90be3167\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed5bd70>\n\n\n\ninput_dict_8627e51bf0fa1c75dee291b4340323c2->0_1721b1c587d3246df560cbea90be3167\n\n\n\n\n\nenergy_lst_b57492ae1fc39dfaf2681d3af8243aa4\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89340>\n\n\n\n0_1721b1c587d3246df560cbea90be3167->energy_lst_b57492ae1fc39dfaf2681d3af8243aa4\n\n\n\n\n\nstructure_af012e13faed0d05917b623737d05e8b\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88fb0>\n\n\n\nstructure_af012e13faed0d05917b623737d05e8b->input_dict_8627e51bf0fa1c75dee291b4340323c2\n\n\n\n\n\nstructure_bc5fd42ff40265090f1e99574d8705cf\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed5bf80>\n\n\n\nstructure_bc5fd42ff40265090f1e99574d8705cf->structure_af012e13faed0d05917b623737d05e8b\n\n\n\n\n\nstructure_b3473c8aec01409cf59d1ab8ae13b0e4\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88c80>\n\n\n\nstructure_bc5fd42ff40265090f1e99574d8705cf->structure_b3473c8aec01409cf59d1ab8ae13b0e4\n\n\n\n\n\nstructure_1b95020855b9511547e4b9d147627ef3\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88950>\n\n\n\nstructure_bc5fd42ff40265090f1e99574d8705cf->structure_1b95020855b9511547e4b9d147627ef3\n\n\n\n\n\nstructure_dc5cfe2671bba250d930134be90215e3\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88620>\n\n\n\nstructure_bc5fd42ff40265090f1e99574d8705cf->structure_dc5cfe2671bba250d930134be90215e3\n\n\n\n\n\nstructure_0c3f6812beb497f64d4c870867ff8b01\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed882f0>\n\n\n\nstructure_bc5fd42ff40265090f1e99574d8705cf->structure_0c3f6812beb497f64d4c870867ff8b01\n\n\n\n\n\ninput_dict_7994b289405d0aa8bda047d28839ddbf\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88f20>\n\n\n\nstructure_b3473c8aec01409cf59d1ab8ae13b0e4->input_dict_7994b289405d0aa8bda047d28839ddbf\n\n\n\n\n\ninput_dict_319e78e342e67e35a419f59eef3a5dd8\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88bf0>\n\n\n\nstructure_1b95020855b9511547e4b9d147627ef3->input_dict_319e78e342e67e35a419f59eef3a5dd8\n\n\n\n\n\ninput_dict_155901cdf9fd0dbb07cd9ae061d26936\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed888c0>\n\n\n\nstructure_dc5cfe2671bba250d930134be90215e3->input_dict_155901cdf9fd0dbb07cd9ae061d26936\n\n\n\n\n\ninput_dict_8e1b79be7495dee3b8ab20b53ae70673\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88590>\n\n\n\nstructure_0c3f6812beb497f64d4c870867ff8b01->input_dict_8e1b79be7495dee3b8ab20b53ae70673\n\n\n\n\n\ninput_dict_e87d51228d04b598ed01c576c04974d3\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed5b710>\n\n\n\ninput_dict_e87d51228d04b598ed01c576c04974d3->structure_bc5fd42ff40265090f1e99574d8705cf\n\n\n\n\n\nstructure_dfe10bce77b4e5e0e99fc065e50a75a8\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed5b950>\n\n\n\nstructure_dfe10bce77b4e5e0e99fc065e50a75a8->input_dict_e87d51228d04b598ed01c576c04974d3\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_dfe10bce77b4e5e0e99fc065e50a75a8\n\n\n\n\n\na_457b6d376c6fce696df148a385afa46d\n\na=4.04\n\n\n\na_457b6d376c6fce696df148a385afa46d->structure_dfe10bce77b4e5e0e99fc065e50a75a8\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_dfe10bce77b4e5e0e99fc065e50a75a8\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_e87d51228d04b598ed01c576c04974d3\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_8627e51bf0fa1c75dee291b4340323c2\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_e87d51228d04b598ed01c576c04974d3\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_7994b289405d0aa8bda047d28839ddbf\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_319e78e342e67e35a419f59eef3a5dd8\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_155901cdf9fd0dbb07cd9ae061d26936\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_8e1b79be7495dee3b8ab20b53ae70673\n\n\n\n\n\n1_eca78ff83d64c5f761b971a2ed89c46d\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89370>\n\n\n\ninput_dict_7994b289405d0aa8bda047d28839ddbf->1_eca78ff83d64c5f761b971a2ed89c46d\n\n\n\n\n\n1_1dda55804b8c5fad99178011f9e02a31\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed5bdd0>\n\n\n\ninput_dict_7994b289405d0aa8bda047d28839ddbf->1_1dda55804b8c5fad99178011f9e02a31\n\n\n\n\n\n2_3d421c4b25f966d418b487e9bcc07050\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89850>\n\n\n\ninput_dict_319e78e342e67e35a419f59eef3a5dd8->2_3d421c4b25f966d418b487e9bcc07050\n\n\n\n\n\n2_8214b14dfa8739686a7b35b9991651ec\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89eb0>\n\n\n\ninput_dict_319e78e342e67e35a419f59eef3a5dd8->2_8214b14dfa8739686a7b35b9991651ec\n\n\n\n\n\n3_b116ea1b52d0f5cba9218547d9878e49\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed88d40>\n\n\n\ninput_dict_155901cdf9fd0dbb07cd9ae061d26936->3_b116ea1b52d0f5cba9218547d9878e49\n\n\n\n\n\n3_23d597151f325f654ab132719a58a92c\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89e50>\n\n\n\ninput_dict_155901cdf9fd0dbb07cd9ae061d26936->3_23d597151f325f654ab132719a58a92c\n\n\n\n\n\n4_46b58af9c8d7d6e1055921a1c97893c0\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed889b0>\n\n\n\ninput_dict_8e1b79be7495dee3b8ab20b53ae70673->4_46b58af9c8d7d6e1055921a1c97893c0\n\n\n\n\n\n4_8a2a2119bba392d8d14dc78b7b1f750b\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x72f36ed89d60>\n\n\n\ninput_dict_8e1b79be7495dee3b8ab20b53ae70673->4_8a2a2119bba392d8d14dc78b7b1f750b\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_8627e51bf0fa1c75dee291b4340323c2\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_e87d51228d04b598ed01c576c04974d3\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_7994b289405d0aa8bda047d28839ddbf\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_319e78e342e67e35a419f59eef3a5dd8\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_155901cdf9fd0dbb07cd9ae061d26936\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_8e1b79be7495dee3b8ab20b53ae70673\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_8627e51bf0fa1c75dee291b4340323c2\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_e87d51228d04b598ed01c576c04974d3\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_7994b289405d0aa8bda047d28839ddbf\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_319e78e342e67e35a419f59eef3a5dd8\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_155901cdf9fd0dbb07cd9ae061d26936\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_8e1b79be7495dee3b8ab20b53ae70673\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_bc5fd42ff40265090f1e99574d8705cf\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781\n\nstrain_lst=[0.9, 0.95, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_af012e13faed0d05917b623737d05e8b\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_b3473c8aec01409cf59d1ab8ae13b0e4\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_1b95020855b9511547e4b9d147627ef3\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_dc5cfe2671bba250d930134be90215e3\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_0c3f6812beb497f64d4c870867ff8b01\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_8627e51bf0fa1c75dee291b4340323c2\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_7994b289405d0aa8bda047d28839ddbf\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_319e78e342e67e35a419f59eef3a5dd8\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_155901cdf9fd0dbb07cd9ae061d26936\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_8e1b79be7495dee3b8ab20b53ae70673\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_48d1c0a308a7f85ce736e70fdee35d55\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_1721b1c587d3246df560cbea90be3167\n\n\n\n\n\n1_eca78ff83d64c5f761b971a2ed89c46d->volume_lst_4362c8494e9d76136a3dc40484677c25\n\n\n\n\n\n1_1dda55804b8c5fad99178011f9e02a31->energy_lst_b57492ae1fc39dfaf2681d3af8243aa4\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_eca78ff83d64c5f761b971a2ed89c46d\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_1dda55804b8c5fad99178011f9e02a31\n\n\n\n\n\n2_3d421c4b25f966d418b487e9bcc07050->volume_lst_4362c8494e9d76136a3dc40484677c25\n\n\n\n\n\n2_8214b14dfa8739686a7b35b9991651ec->energy_lst_b57492ae1fc39dfaf2681d3af8243aa4\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_3d421c4b25f966d418b487e9bcc07050\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_8214b14dfa8739686a7b35b9991651ec\n\n\n\n\n\n3_b116ea1b52d0f5cba9218547d9878e49->volume_lst_4362c8494e9d76136a3dc40484677c25\n\n\n\n\n\n3_23d597151f325f654ab132719a58a92c->energy_lst_b57492ae1fc39dfaf2681d3af8243aa4\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_b116ea1b52d0f5cba9218547d9878e49\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_23d597151f325f654ab132719a58a92c\n\n\n\n\n\n4_46b58af9c8d7d6e1055921a1c97893c0->volume_lst_4362c8494e9d76136a3dc40484677c25\n\n\n\n\n\n4_8a2a2119bba392d8d14dc78b7b1f750b->energy_lst_b57492ae1fc39dfaf2681d3af8243aa4\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_46b58af9c8d7d6e1055921a1c97893c0\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_8a2a2119bba392d8d14dc78b7b1f750b\n\n\n\n\n\nenergy_lst_b57492ae1fc39dfaf2681d3af8243aa4->create_function_job_ce91e09311e572ee896f354746ffdb52\n\n\n\n\n" - }, - "metadata": {} - } - ], - "execution_count": 23 - }, - { - "cell_type": "code", - "source": "delayed_object_lst[0].input['a'] = 4.05", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 24 - }, - { - "cell_type": "code", - "source": "delayed_object_lst[-1].pull()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_bulk_structure_2ca4aeae204ceaa28593c93054b07908 was saved and received the ID: 1\nThe job get_dict_20400c1655d51731f9f5ffb50c2b401f was saved and received the ID: 2\nThe job calculate_qe_b261e97e2e1714bf57ce6e5016ae4632 was saved and received the ID: 3\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:08955] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job generate_structures_fcb3884e78b15be7a9a6069869171c61 was saved and received the ID: 4\nThe job get_dict_9d50dca89ce2c8f1319206888212f261 was saved and received the ID: 5\nThe job calculate_qe_495edf27cca1893fd71d860b009fde57 was saved and received the ID: 6\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:08970] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_c6f3d017cbf308a2712facb53625f0ca was saved and received the ID: 7\nThe job calculate_qe_7dc568c59eb166c911415fcb78d508b6 was saved and received the ID: 8\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:08982] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_df08484509ac6c4b41f32ea3fb5035cf was saved and received the ID: 9\nThe job calculate_qe_923ca5c6b53423773a8c74e3340d3471 was saved and received the ID: 10\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:08993] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_04da5d650a8c957b7325cc9188f1cd07 was saved and received the ID: 11\nThe job calculate_qe_49ab6c2d99e5462024081421d2c1b7a7 was saved and received the ID: 12\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:09004] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_9d21f3f8e376847d495acc88b24aa2bd was saved and received the ID: 13\nThe job calculate_qe_4ca4360fd423b8cef4abf77502fef1ca was saved and received the ID: 14\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:09015] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_list_b7d643bf967628f7c04f17614baa0c5f was saved and received the ID: 15\nThe job get_list_1980b54721033684c33ad75357848857 was saved and received the ID: 16\nThe job plot_energy_volume_curve_9ba5af92db6796aafb006576962dec7c was saved and received the ID: 17\n" - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=" - }, - "metadata": {} - } - ], - "execution_count": 25 - }, - { - "metadata": {}, - "cell_type": "markdown", - "source": "## Load Workflow with pyiron_workflow" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf = load_workflow_json(file_name=workflow_json_filename)" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf.draw(size=(10,10))" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf.run()" - } - ] -} +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Aiida","metadata":{}},{"cell_type":"markdown","source":"## Define workflow with aiida","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.aiida import write_workflow_json\nfrom python_workflow_definition.shared import get_dict, get_list\n\nfrom aiida import load_profile, orm\n\nload_profile()\n\nworkflow_json_filename = \"aiida_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from aiida_workgraph import task, WorkGraph","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"from workflow import (\n generate_structures,\n get_bulk_structure,\n calculate_qe as _calculate_qe,\n plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"code","source":"calculate_qe = task(outputs=[\"energy\", \"volume\", \"structure\"])(_calculate_qe)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"wg = WorkGraph(\"wg-qe\")","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"markdown","source":"### Prepare the inputs","metadata":{}},{"cell_type":"code","source":"element = orm.Str(\"Al\")\na = orm.Float(4.04)\ncubic = orm.Bool(True)\nrelax_workdir = orm.Str(\"mini\")\npseudopotentials = orm.Dict({\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"})\nkpts = orm.List([3, 3, 3])\ncalc_type_relax = orm.Str(\"vc-relax\")\ncalc_type_scf = orm.Str(\"scf\")\nsmearing = orm.Float(0.02)\nstrain_lst = orm.List([0.9, 0.95, 1.0, 1.05, 1.1])","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"markdown","source":"### Actual tasks to construct the EOS workflow","metadata":{}},{"cell_type":"code","source":"get_bulk_structure_task = wg.add_task(\n get_bulk_structure,\n element=element,\n a=a,\n cubic=cubic,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"relax_prepare_input_dict_task = wg.add_task(\n get_dict,\n structure=get_bulk_structure_task.outputs.result,\n calculation=calc_type_relax,\n kpts=kpts,\n pseudopotentials=pseudopotentials,\n smearing=smearing,\n)\n\nrelax_task = wg.add_task(\n calculate_qe,\n input_dict=relax_prepare_input_dict_task.outputs.result,\n working_directory=relax_workdir,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"generate_structures_task = wg.add_task(\n generate_structures,\n structure=relax_task.outputs.structure,\n strain_lst=strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"cell_type":"code","source":"get_volumes_task = wg.add_task(get_list)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"get_energies_task = wg.add_task(get_list)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"cell_type":"code","source":"strain_dir_tasks, scf_qe_tasks, scf_get_dict_tasks = [], [], []\n\nfor i, strain in enumerate(strain_lst):\n\n structure_key = f\"s_{i}\"\n strain_dir = orm.Str(f\"strain_{i}\")\n generate_structures_task.add_output(\"workgraph.any\", structure_key)\n\n scf_prepare_input_dict_task = wg.add_task(\n get_dict,\n structure=generate_structures_task.outputs[structure_key],\n calculation=calc_type_scf,\n kpts=kpts,\n pseudopotentials=pseudopotentials,\n smearing=smearing,\n )\n\n scf_qe_task = wg.add_task(\n calculate_qe,\n input_dict=scf_prepare_input_dict_task.outputs.result,\n working_directory=strain_dir,\n )\n\n # collect energy and volume\n get_energies_task.set({f\"{i}\": scf_qe_task.outputs.energy})\n get_volumes_task.set({f\"{i}\": scf_qe_task.outputs.volume})","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"cell_type":"code","source":"plot_energy_volume_curve_task = wg.add_task(\n plot_energy_volume_curve,\n volume_lst=get_volumes_task.outputs.result,\n energy_lst=get_energies_task.outputs.result,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"cell_type":"code","source":"wg","metadata":{"trusted":true},"outputs":[{"execution_count":14,"output_type":"execute_result","data":{"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'wg-qe',…","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":1,"model_id":"8cde6dcdf8224a4a9c002550a0165c73"}},"metadata":{}}],"execution_count":14},{"cell_type":"code","source":"_ = write_workflow_json(wg=wg, file_name=workflow_json_filename)\n","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"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\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 2,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 3,\n \"type\": \"function\",\n \"value\": \"workflow.generate_structures\"\n },\n {\n \"id\": 4,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 5,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 6,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 7,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 8,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 9,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 10,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 11,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 12,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 13,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 14,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 15,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 16,\n \"type\": \"function\",\n \"value\": \"workflow.plot_energy_volume_curve\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 20,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 21,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 23,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 24,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"mini\"\n },\n {\n \"id\": 25,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.95,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 26,\n \"type\": \"input\",\n \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 27,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"strain_0\"\n },\n {\n \"id\": 28,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\n },\n {\n \"id\": 29,\n \"type\": \"input\",\n \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\n },\n {\n \"id\": 30,\n \"type\": \"input\",\n \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\n },\n {\n \"id\": 31,\n \"type\": \"input\",\n \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\n },\n {\n \"id\": 32,\n \"type\": \"output\",\n \"name\": \"result\"\n }\n ],\n \"edges\": [\n {\n \"target\": 1,\n \"targetPort\": \"structure\",\n \"source\": 0,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"input_dict\",\n \"source\": 1,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"structure\",\n \"source\": 2,\n \"sourcePort\": \"structure\"\n },\n {\n \"target\": 6,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_0\"\n },\n {\n \"target\": 7,\n \"targetPort\": \"input_dict\",\n \"source\": 6,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"0\",\n \"source\": 7,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"0\",\n \"source\": 7,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 8,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_1\"\n },\n {\n \"target\": 9,\n \"targetPort\": \"input_dict\",\n \"source\": 8,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"1\",\n \"source\": 9,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"1\",\n \"source\": 9,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 10,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_2\"\n },\n {\n \"target\": 11,\n \"targetPort\": \"input_dict\",\n \"source\": 10,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"2\",\n \"source\": 11,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"2\",\n \"source\": 11,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 12,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_3\"\n },\n {\n \"target\": 13,\n \"targetPort\": \"input_dict\",\n \"source\": 12,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"3\",\n \"source\": 13,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"3\",\n \"source\": 13,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_4\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"input_dict\",\n \"source\": 14,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"4\",\n \"source\": 15,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"4\",\n \"source\": 15,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"volume_lst\",\n \"source\": 4,\n \"sourcePort\": null\n },\n {\n \"target\": 16,\n \"targetPort\": \"energy_lst\",\n \"source\": 5,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"element\",\n \"source\": 17,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"a\",\n \"source\": 18,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"cubic\",\n \"source\": 19,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"calculation\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"working_directory\",\n \"source\": 24,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"strain_lst\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"working_directory\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"working_directory\",\n \"source\": 29,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"working_directory\",\n \"source\": 30,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"working_directory\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 16,\n \"sourcePort\": null\n }\n ]\n}"}],"execution_count":16},{"cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":17},{"cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":19},{"cell_type":"code","source":"flow[0].function_kwargs[\"a\"] = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":20},{"cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-05-26 04:52:50,581 INFO Started executing jobs locally\n2025-05-26 04:52:50,675 INFO Starting job - get_bulk_structure (3ac8790d-eb22-4532-be62-de8fbef1b1d6)\n2025-05-26 04:52:50,678 INFO Finished job - get_bulk_structure (3ac8790d-eb22-4532-be62-de8fbef1b1d6)\n2025-05-26 04:52:50,678 INFO Starting job - get_dict (c4961244-74bf-450f-8d51-1185a6fa636e)\n2025-05-26 04:52:50,679 INFO Finished job - get_dict (c4961244-74bf-450f-8d51-1185a6fa636e)\n2025-05-26 04:52:50,680 INFO Starting job - calculate_qe (1c454eb0-0ad4-4b71-9d98-9d767f2eeb26)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02130] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:53:41,492 INFO Finished job - calculate_qe (1c454eb0-0ad4-4b71-9d98-9d767f2eeb26)\n2025-05-26 04:53:41,493 INFO Starting job - generate_structures (4b55ebda-5c1f-4778-96b0-04b01637fd55)\n2025-05-26 04:53:41,497 INFO Finished job - generate_structures (4b55ebda-5c1f-4778-96b0-04b01637fd55)\n2025-05-26 04:53:41,498 INFO Starting job - get_dict (b565cdc4-4ce6-4a26-80aa-df13d5c66c6a)\n2025-05-26 04:53:41,501 INFO Finished job - get_dict (b565cdc4-4ce6-4a26-80aa-df13d5c66c6a)\n2025-05-26 04:53:41,502 INFO Starting job - get_dict (b77d779a-5ef4-444f-be7e-386f16f7ec4a)\n2025-05-26 04:53:41,505 INFO Finished job - get_dict (b77d779a-5ef4-444f-be7e-386f16f7ec4a)\n2025-05-26 04:53:41,506 INFO Starting job - get_dict (bd7706a1-7c30-4c5c-9319-a082dc3950ad)\n2025-05-26 04:53:41,509 INFO Finished job - get_dict (bd7706a1-7c30-4c5c-9319-a082dc3950ad)\n2025-05-26 04:53:41,510 INFO Starting job - get_dict (05f7faac-40ed-495e-b0dc-26ba16f805c8)\n2025-05-26 04:53:41,513 INFO Finished job - get_dict (05f7faac-40ed-495e-b0dc-26ba16f805c8)\n2025-05-26 04:53:41,516 INFO Starting job - get_dict (378217fd-e39a-45a3-ba59-435de2062c71)\n2025-05-26 04:53:41,531 INFO Finished job - get_dict (378217fd-e39a-45a3-ba59-435de2062c71)\n2025-05-26 04:53:41,532 INFO Starting job - calculate_qe (45551771-435e-4dc6-913f-07091732e0a3)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02145] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:53:51,562 INFO Finished job - calculate_qe (45551771-435e-4dc6-913f-07091732e0a3)\n2025-05-26 04:53:51,563 INFO Starting job - calculate_qe (548d3d66-855c-45f6-803d-894aaf90fd6b)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02155] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:54:02,977 INFO Finished job - calculate_qe (548d3d66-855c-45f6-803d-894aaf90fd6b)\n2025-05-26 04:54:02,978 INFO Starting job - calculate_qe (d309162b-9af7-4270-bfd5-fc0c893ba9f0)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02165] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:54:14,530 INFO Finished job - calculate_qe (d309162b-9af7-4270-bfd5-fc0c893ba9f0)\n2025-05-26 04:54:14,531 INFO Starting job - calculate_qe (67abe614-2777-4184-92e6-f5443def6503)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02175] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:54:27,806 INFO Finished job - calculate_qe (67abe614-2777-4184-92e6-f5443def6503)\n2025-05-26 04:54:27,807 INFO Starting job - calculate_qe (35826c86-14ca-4341-90f0-894b9be0d16d)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02185] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:54:41,828 INFO Finished job - calculate_qe (35826c86-14ca-4341-90f0-894b9be0d16d)\n2025-05-26 04:54:41,829 INFO Starting job - get_list (87cd2e29-15fc-4e35-845f-47211f6a1090)\n2025-05-26 04:54:41,835 INFO Finished job - get_list (87cd2e29-15fc-4e35-845f-47211f6a1090)\n2025-05-26 04:54:41,836 INFO Starting job - get_list (3b0846af-d37d-4199-897b-16f124a5516a)\n2025-05-26 04:54:41,839 INFO Finished job - get_list (3b0846af-d37d-4199-897b-16f124a5516a)\n2025-05-26 04:54:41,840 INFO Starting job - plot_energy_volume_curve (88a18290-ffeb-40b6-b0e8-fca1ee6fade4)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:54:41,900 INFO Finished job - plot_energy_volume_curve (88a18290-ffeb-40b6-b0e8-fca1ee6fade4)\n2025-05-26 04:54:41,901 INFO Finished executing jobs locally\n"},{"execution_count":21,"output_type":"execute_result","data":{"text/plain":"{'3ac8790d-eb22-4532-be62-de8fbef1b1d6': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'c4961244-74bf-450f-8d51-1185a6fa636e': {1: Response(output={'structure': '{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'vc-relax', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '1c454eb0-0ad4-4b71-9d98-9d767f2eeb26': {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.045637215946779, 0.0, 0.0], [0.0, 4.045637215946779, 0.0], [0.0, 0.0, 4.045637215946779]], \"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.0228186079733894, 2.0228186079733894], [2.0228186079733894, 0.0, 2.0228186079733894], [2.0228186079733894, 2.0228186079733894, 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.9365262253605, 'volume': 66.21567448235946}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '4b55ebda-5c1f-4778-96b0-04b01637fd55': {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.9060197859620884, 0.0, 0.0], [0.0, 3.9060197859620884, 0.0], [0.0, 0.0, 3.9060197859620884]], \"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.9530098929810442, 1.9530098929810442], [1.9530098929810442, 0.0, 1.9530098929810442], [1.9530098929810442, 1.9530098929810442, 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.977053844317988, 0.0, 0.0], [0.0, 3.977053844317988, 0.0], [0.0, 0.0, 3.977053844317988]], \"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.9885269221589943, 1.9885269221589943], [1.9885269221589943, 0.0, 1.9885269221589943], [1.9885269221589943, 1.9885269221589943, 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.045637215946779, 0.0, 0.0], [0.0, 4.045637215946779, 0.0], [0.0, 0.0, 4.045637215946779]], \"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.0228186079733894, 2.0228186079733894], [2.0228186079733894, 0.0, 2.0228186079733894], [2.0228186079733894, 2.0228186079733894, 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.111970927282893, 0.0, 0.0], [0.0, 4.111970927282893, 0.0], [0.0, 0.0, 4.111970927282893]], \"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.0559854636414463, 2.0559854636414463], [2.0559854636414463, 0.0, 2.0559854636414463], [2.0559854636414463, 2.0559854636414463, 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.176230852372117, 0.0, 0.0], [0.0, 4.176230852372117, 0.0], [0.0, 0.0, 4.176230852372117]], \"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.0881154261860586, 2.0881154261860586], [2.0881154261860586, 0.0, 2.0881154261860586], [2.0881154261860586, 2.0881154261860586, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'b565cdc4-4ce6-4a26-80aa-df13d5c66c6a': {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.9060197859620884, 0.0, 0.0], [0.0, 3.9060197859620884, 0.0], [0.0, 0.0, 3.9060197859620884]], \"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.9530098929810442, 1.9530098929810442], [1.9530098929810442, 0.0, 1.9530098929810442], [1.9530098929810442, 1.9530098929810442, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'b77d779a-5ef4-444f-be7e-386f16f7ec4a': {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.977053844317988, 0.0, 0.0], [0.0, 3.977053844317988, 0.0], [0.0, 0.0, 3.977053844317988]], \"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.9885269221589943, 1.9885269221589943], [1.9885269221589943, 0.0, 1.9885269221589943], [1.9885269221589943, 1.9885269221589943, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'bd7706a1-7c30-4c5c-9319-a082dc3950ad': {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.045637215946779, 0.0, 0.0], [0.0, 4.045637215946779, 0.0], [0.0, 0.0, 4.045637215946779]], \"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.0228186079733894, 2.0228186079733894], [2.0228186079733894, 0.0, 2.0228186079733894], [2.0228186079733894, 2.0228186079733894, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '05f7faac-40ed-495e-b0dc-26ba16f805c8': {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.111970927282893, 0.0, 0.0], [0.0, 4.111970927282893, 0.0], [0.0, 0.0, 4.111970927282893]], \"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.0559854636414463, 2.0559854636414463], [2.0559854636414463, 0.0, 2.0559854636414463], [2.0559854636414463, 2.0559854636414463, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '378217fd-e39a-45a3-ba59-435de2062c71': {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.176230852372117, 0.0, 0.0], [0.0, 4.176230852372117, 0.0], [0.0, 0.0, 4.176230852372117]], \"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.0881154261860586, 2.0881154261860586], [2.0881154261860586, 0.0, 2.0881154261860586], [2.0881154261860586, 2.0881154261860586, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'calculation': 'scf', 'kpts': [3, 3, 3], 'pseudopotentials': {'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}, 'smearing': 0.02}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '45551771-435e-4dc6-913f-07091732e0a3': {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.906019768889126, 0.0, 0.0], [0.0, 3.906019768889126, 0.0], [0.0, 0.0, 3.906019768889126]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150642, 'volume': 59.59410625267737}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '548d3d66-855c-45f6-803d-894aaf90fd6b': {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.9770538269345397, 0.0, 0.0], [0.0, 3.9770538269345397, 0.0], [0.0, 0.0, 3.9770538269345397]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269135082746, 1.9885269135082746], [1.9885269135082746, 0.0, 1.9885269135082746], [1.9885269135082746, 1.9885269135082746, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.916148859459, 'volume': 62.90488993338167}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'd309162b-9af7-4270-bfd5-fc0c893ba9f0': {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.045637198263556, 0.0, 0.0], [0.0, 4.045637198263556, 0.0], [0.0, 0.0, 4.045637198263556]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668359, 'volume': 66.21567361408594}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '67abe614-2777-4184-92e6-f5443def6503': {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.111970909309726, 0.0, 0.0], [0.0, 4.111970909309726, 0.0], [0.0, 0.0, 4.111970909309726]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025844, 'volume': 69.52645729479006}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '35826c86-14ca-4341-90f0-894b9be0d16d': {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.17623083411808, 0.0, 0.0], [0.0, 4.17623083411808, 0.0], [0.0, 0.0, 4.17623083411808]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.08811541707298, 2.08811541707298], [2.08811541707298, 0.0, 2.08811541707298], [2.08811541707298, 2.08811541707298, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693412, 'volume': 72.83724097549467}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '87cd2e29-15fc-4e35-845f-47211f6a1090': {1: Response(output=[59.59410625267737, 62.90488993338167, 66.21567361408594, 69.52645729479006, 72.83724097549467], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '3b0846af-d37d-4199-897b-16f124a5516a': {1: Response(output=[-1074.8457446150642, -1074.916148859459, -1074.9365241668359, -1074.9192860025844, -1074.8737904693412], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '88a18290-ffeb-40b6-b0e8-fca1ee6fade4': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))}}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":21},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":22},{"cell_type":"code","source":"delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\ndelayed_object_lst[-1].draw()","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_2dd37919a07881ec35b48b79261ff390\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x76e38867a510>\n\n\n\nvolume_lst_3a9d8118eb14b1a474fbd6ebdc78755d\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x76e388678470>\n\n\n\nvolume_lst_3a9d8118eb14b1a474fbd6ebdc78755d->create_function_job_2dd37919a07881ec35b48b79261ff390\n\n\n\n\n\n0_a9794c804499521a0ab9ea2cff0500a5\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679790>\n\n\n\n0_a9794c804499521a0ab9ea2cff0500a5->volume_lst_3a9d8118eb14b1a474fbd6ebdc78755d\n\n\n\n\n\ninput_dict_199d8ddb39100dfde98b937df71f9e62\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679640>\n\n\n\ninput_dict_199d8ddb39100dfde98b937df71f9e62->0_a9794c804499521a0ab9ea2cff0500a5\n\n\n\n\n\n0_114ef2e3771735da6b268f82effc2ec4\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x76e38867a300>\n\n\n\ninput_dict_199d8ddb39100dfde98b937df71f9e62->0_114ef2e3771735da6b268f82effc2ec4\n\n\n\n\n\nenergy_lst_63ae189fad790382f5cf0940678c54d6\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679700>\n\n\n\n0_114ef2e3771735da6b268f82effc2ec4->energy_lst_63ae189fad790382f5cf0940678c54d6\n\n\n\n\n\nstructure_d0527c0703fcb9fb054aa650b4594053\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679370>\n\n\n\nstructure_d0527c0703fcb9fb054aa650b4594053->input_dict_199d8ddb39100dfde98b937df71f9e62\n\n\n\n\n\nstructure_0be62b07a99e8ffab057f3214c0826d1\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e388678650>\n\n\n\nstructure_0be62b07a99e8ffab057f3214c0826d1->structure_d0527c0703fcb9fb054aa650b4594053\n\n\n\n\n\nstructure_fe302a8bff25da05cd1653eb33e11409\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679040>\n\n\n\nstructure_0be62b07a99e8ffab057f3214c0826d1->structure_fe302a8bff25da05cd1653eb33e11409\n\n\n\n\n\nstructure_467af4337e84ea49bfbf05893ab4d2b6\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e388678cb0>\n\n\n\nstructure_0be62b07a99e8ffab057f3214c0826d1->structure_467af4337e84ea49bfbf05893ab4d2b6\n\n\n\n\n\nstructure_bac337a65cedef9d7d93433033561948\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e395200aa0>\n\n\n\nstructure_0be62b07a99e8ffab057f3214c0826d1->structure_bac337a65cedef9d7d93433033561948\n\n\n\n\n\nstructure_297df784365c490600edb61686e8375e\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e388678980>\n\n\n\nstructure_0be62b07a99e8ffab057f3214c0826d1->structure_297df784365c490600edb61686e8375e\n\n\n\n\n\ninput_dict_61544c190a92e7e3c48a8e27d7493f93\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x76e3886792e0>\n\n\n\nstructure_fe302a8bff25da05cd1653eb33e11409->input_dict_61544c190a92e7e3c48a8e27d7493f93\n\n\n\n\n\ninput_dict_c8599abc416e76a13e7fdd654083464d\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x76e388678fb0>\n\n\n\nstructure_467af4337e84ea49bfbf05893ab4d2b6->input_dict_c8599abc416e76a13e7fdd654083464d\n\n\n\n\n\ninput_dict_39ff3b093c7af4b691297d26a0944f04\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x76e388678140>\n\n\n\nstructure_bac337a65cedef9d7d93433033561948->input_dict_39ff3b093c7af4b691297d26a0944f04\n\n\n\n\n\ninput_dict_9db8363b46b99584f513f7a9614dd22d\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x76e38b8bf4a0>\n\n\n\nstructure_297df784365c490600edb61686e8375e->input_dict_9db8363b46b99584f513f7a9614dd22d\n\n\n\n\n\ninput_dict_4bf0a304f408347d8c495fe72b1f5351\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x76e388657ce0>\n\n\n\ninput_dict_4bf0a304f408347d8c495fe72b1f5351->structure_0be62b07a99e8ffab057f3214c0826d1\n\n\n\n\n\nstructure_85578fbee37b882dfe6c61e46c6e3e6f\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x76e388657e00>\n\n\n\nstructure_85578fbee37b882dfe6c61e46c6e3e6f->input_dict_4bf0a304f408347d8c495fe72b1f5351\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_85578fbee37b882dfe6c61e46c6e3e6f\n\n\n\n\n\na_457b6d376c6fce696df148a385afa46d\n\na=4.04\n\n\n\na_457b6d376c6fce696df148a385afa46d->structure_85578fbee37b882dfe6c61e46c6e3e6f\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_85578fbee37b882dfe6c61e46c6e3e6f\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_4bf0a304f408347d8c495fe72b1f5351\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_199d8ddb39100dfde98b937df71f9e62\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_4bf0a304f408347d8c495fe72b1f5351\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_61544c190a92e7e3c48a8e27d7493f93\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_c8599abc416e76a13e7fdd654083464d\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_39ff3b093c7af4b691297d26a0944f04\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_9db8363b46b99584f513f7a9614dd22d\n\n\n\n\n\n1_bd319eedb0f799b5a7b32d898fc37aac\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679730>\n\n\n\ninput_dict_61544c190a92e7e3c48a8e27d7493f93->1_bd319eedb0f799b5a7b32d898fc37aac\n\n\n\n\n\n1_1c531d3dedfcb8ccd1735fb8647a93a1\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x76e38867a2d0>\n\n\n\ninput_dict_61544c190a92e7e3c48a8e27d7493f93->1_1c531d3dedfcb8ccd1735fb8647a93a1\n\n\n\n\n\n2_10b8d86df31efb98fd394e77e3844197\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679c10>\n\n\n\ninput_dict_c8599abc416e76a13e7fdd654083464d->2_10b8d86df31efb98fd394e77e3844197\n\n\n\n\n\n2_9e637dbd1c8b2498c7b16c988ec96697\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x76e38867a1e0>\n\n\n\ninput_dict_c8599abc416e76a13e7fdd654083464d->2_9e637dbd1c8b2498c7b16c988ec96697\n\n\n\n\n\n3_3377c152644227fb254585b855a83939\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679070>\n\n\n\ninput_dict_39ff3b093c7af4b691297d26a0944f04->3_3377c152644227fb254585b855a83939\n\n\n\n\n\n3_90324db5f7de99a93f4026efbf85ef5d\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x76e388679cd0>\n\n\n\ninput_dict_39ff3b093c7af4b691297d26a0944f04->3_90324db5f7de99a93f4026efbf85ef5d\n\n\n\n\n\n4_81ac7aa8786b3edc4893de089ff4984c\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x76e3886790d0>\n\n\n\ninput_dict_9db8363b46b99584f513f7a9614dd22d->4_81ac7aa8786b3edc4893de089ff4984c\n\n\n\n\n\n4_e9f006b1cf9b1af3b5b6dd98fa6fbb6a\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x76e38867a180>\n\n\n\ninput_dict_9db8363b46b99584f513f7a9614dd22d->4_e9f006b1cf9b1af3b5b6dd98fa6fbb6a\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_199d8ddb39100dfde98b937df71f9e62\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_4bf0a304f408347d8c495fe72b1f5351\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_61544c190a92e7e3c48a8e27d7493f93\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_c8599abc416e76a13e7fdd654083464d\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_39ff3b093c7af4b691297d26a0944f04\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_9db8363b46b99584f513f7a9614dd22d\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_199d8ddb39100dfde98b937df71f9e62\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_4bf0a304f408347d8c495fe72b1f5351\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_61544c190a92e7e3c48a8e27d7493f93\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_c8599abc416e76a13e7fdd654083464d\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_39ff3b093c7af4b691297d26a0944f04\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_9db8363b46b99584f513f7a9614dd22d\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_0be62b07a99e8ffab057f3214c0826d1\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781\n\nstrain_lst=[0.9, 0.95, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_d0527c0703fcb9fb054aa650b4594053\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_fe302a8bff25da05cd1653eb33e11409\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_467af4337e84ea49bfbf05893ab4d2b6\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_bac337a65cedef9d7d93433033561948\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_297df784365c490600edb61686e8375e\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_199d8ddb39100dfde98b937df71f9e62\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_61544c190a92e7e3c48a8e27d7493f93\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_c8599abc416e76a13e7fdd654083464d\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_39ff3b093c7af4b691297d26a0944f04\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_9db8363b46b99584f513f7a9614dd22d\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_a9794c804499521a0ab9ea2cff0500a5\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_114ef2e3771735da6b268f82effc2ec4\n\n\n\n\n\n1_bd319eedb0f799b5a7b32d898fc37aac->volume_lst_3a9d8118eb14b1a474fbd6ebdc78755d\n\n\n\n\n\n1_1c531d3dedfcb8ccd1735fb8647a93a1->energy_lst_63ae189fad790382f5cf0940678c54d6\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_bd319eedb0f799b5a7b32d898fc37aac\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_1c531d3dedfcb8ccd1735fb8647a93a1\n\n\n\n\n\n2_10b8d86df31efb98fd394e77e3844197->volume_lst_3a9d8118eb14b1a474fbd6ebdc78755d\n\n\n\n\n\n2_9e637dbd1c8b2498c7b16c988ec96697->energy_lst_63ae189fad790382f5cf0940678c54d6\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_10b8d86df31efb98fd394e77e3844197\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_9e637dbd1c8b2498c7b16c988ec96697\n\n\n\n\n\n3_3377c152644227fb254585b855a83939->volume_lst_3a9d8118eb14b1a474fbd6ebdc78755d\n\n\n\n\n\n3_90324db5f7de99a93f4026efbf85ef5d->energy_lst_63ae189fad790382f5cf0940678c54d6\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_3377c152644227fb254585b855a83939\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_90324db5f7de99a93f4026efbf85ef5d\n\n\n\n\n\n4_81ac7aa8786b3edc4893de089ff4984c->volume_lst_3a9d8118eb14b1a474fbd6ebdc78755d\n\n\n\n\n\n4_e9f006b1cf9b1af3b5b6dd98fa6fbb6a->energy_lst_63ae189fad790382f5cf0940678c54d6\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_81ac7aa8786b3edc4893de089ff4984c\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_e9f006b1cf9b1af3b5b6dd98fa6fbb6a\n\n\n\n\n\nenergy_lst_63ae189fad790382f5cf0940678c54d6->create_function_job_2dd37919a07881ec35b48b79261ff390\n\n\n\n\n"},"metadata":{}}],"execution_count":23},{"cell_type":"code","source":"delayed_object_lst[0].input['a'] = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"cell_type":"code","source":"delayed_object_lst[-1].pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job get_bulk_structure_2ca4aeae204ceaa28593c93054b07908 was saved and received the ID: 1\nThe job get_dict_20400c1655d51731f9f5ffb50c2b401f was saved and received the ID: 2\nThe job calculate_qe_b261e97e2e1714bf57ce6e5016ae4632 was saved and received the ID: 3\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02215] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job generate_structures_4ebba2fa25817e4d72c841e3b2e8b6f0 was saved and received the ID: 4\nThe job get_dict_869b937d7880c2f0aa7d1ff12e5658fe was saved and received the ID: 5\nThe job calculate_qe_1e1d1a32203e271ae2255924d3e9b14f was saved and received the ID: 6\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02247] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_afe14b210783e4e61e6d468d63799bad was saved and received the ID: 7\nThe job calculate_qe_0c07010ebc24b938a57832c41fcd74af was saved and received the ID: 8\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02261] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_c42b900d2b5d0c900d1158c58ab1a259 was saved and received the ID: 9\nThe job calculate_qe_808bdd6630f3c0da564a58075a232427 was saved and received the ID: 10\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02271] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_db89bfa1573064c1e658fee65739f0d7 was saved and received the ID: 11\nThe job calculate_qe_91a59b931c007125c72d9a407632de03 was saved and received the ID: 12\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02281] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_8e6eb778e855d484b1763a645b753abf was saved and received the ID: 13\nThe job calculate_qe_80b6905597629098e2dca3067098d3e9 was saved and received the ID: 14\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02295] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_list_befc04228af2690aa933355368b2374b was saved and received the ID: 15\nThe job get_list_de1f227902310f2b34d080eff15204c9 was saved and received the ID: 16\nThe job plot_energy_volume_curve_a817e1974411e9ad4e1c06ce96b8a65d was saved and received the ID: 17\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":25},{"cell_type":"markdown","source":"## Load Workflow with pyiron_workflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.pyiron_workflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":26},{"cell_type":"code","source":"wf = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":27},{"cell_type":"code","source":"wf.get_bulk_structure.inputs.a.value = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":28},{"cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":29,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclusteraiida_qe\n\naiida_qe: Workflow\n\nclusteraiida_qeInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_bulk_structure\n\n\n\n\n\n\n\nget_bulk_structure: get_bulk_structure\n\n\nclusteraiida_qeget_bulk_structureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_bulk_structureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_dict_0\n\n\n\n\n\n\n\nget_dict_0: get_dict\n\n\nclusteraiida_qeget_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qecalculate_qe_0\n\n\n\n\n\n\n\ncalculate_qe_0: calculate_qe\n\n\nclusteraiida_qecalculate_qe_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qecalculate_qe_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qegenerate_structures\n\n\n\n\n\n\n\ngenerate_structures: generate_structures\n\n\nclusteraiida_qegenerate_structuresInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_list_0\n\n\n\n\n\n\n\nget_list_0: get_list\n\n\nclusteraiida_qeget_list_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_list_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_list_1\n\n\n\n\n\n\n\nget_list_1: get_list\n\n\nclusteraiida_qeget_list_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_list_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_dict_1\n\n\n\n\n\n\n\nget_dict_1: get_dict\n\n\nclusteraiida_qeget_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qecalculate_qe_1\n\n\n\n\n\n\n\ncalculate_qe_1: calculate_qe\n\n\nclusteraiida_qecalculate_qe_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qecalculate_qe_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_dict_2\n\n\n\n\n\n\n\nget_dict_2: get_dict\n\n\nclusteraiida_qeget_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qecalculate_qe_2\n\n\n\n\n\n\n\ncalculate_qe_2: calculate_qe\n\n\nclusteraiida_qecalculate_qe_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qecalculate_qe_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_dict_3\n\n\n\n\n\n\n\nget_dict_3: get_dict\n\n\nclusteraiida_qeget_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qecalculate_qe_3\n\n\n\n\n\n\n\ncalculate_qe_3: calculate_qe\n\n\nclusteraiida_qecalculate_qe_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qecalculate_qe_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_dict_4\n\n\n\n\n\n\n\nget_dict_4: get_dict\n\n\nclusteraiida_qeget_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qecalculate_qe_4\n\n\n\n\n\n\n\ncalculate_qe_4: calculate_qe\n\n\nclusteraiida_qecalculate_qe_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qecalculate_qe_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeget_dict_5\n\n\n\n\n\n\n\nget_dict_5: get_dict\n\n\nclusteraiida_qeget_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeget_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qecalculate_qe_5\n\n\n\n\n\n\n\ncalculate_qe_5: calculate_qe\n\n\nclusteraiida_qecalculate_qe_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qecalculate_qe_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeplot_energy_volume_curve\n\n\n\n\n\n\n\nplot_energy_volume_curve: plot_energy_volume_curve\n\n\nclusteraiida_qeplot_energy_volume_curveInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeplot_energy_volume_curveOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150\n\n\n\n\n\n\n\ninjected_GetItem_2859163708959743150: GetItem\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309\n\n\n\n\n\n\n\ninjected_GetItem_2095185757530090309: GetItem\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644\n\n\n\n\n\n\n\ninjected_GetItem_m6396244699285524644: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098\n\n\n\n\n\n\n\ninjected_GetItem_m3217087382920924098: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699\n\n\n\n\n\n\n\ninjected_GetItem_m1410919064082391699: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383\n\n\n\n\n\n\n\ninjected_GetItem_m9115075428129331383: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643\n\n\n\n\n\n\n\ninjected_GetItem_m7237000809964411643: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550\n\n\n\n\n\n\n\ninjected_GetItem_m5860620980043280550: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223\n\n\n\n\n\n\n\ninjected_GetItem_m6458391072898921223: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370\n\n\n\n\n\n\n\ninjected_GetItem_1684197267152821370: GetItem\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670\n\n\n\n\n\n\n\ninjected_GetItem_3919628805879474670: GetItem\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946\n\n\n\n\n\n\n\ninjected_GetItem_m740119179149754946: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754\n\n\n\n\n\n\n\ninjected_GetItem_2084798752545049754: GetItem\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068\n\n\n\n\n\n\n\ninjected_GetItem_2761976441505203068: GetItem\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855\n\n\n\n\n\n\n\ninjected_GetItem_m4556998621263697855: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862\n\n\n\n\n\n\n\ninjected_GetItem_m9206283876700615862: GetItem\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclusteraiida_qeInputsrun\n\nrun\n\n\n\nclusteraiida_qeOutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeInputsget_bulk_structure__element\n\nget_bulk_structure__element\n\n\n\nclusteraiida_qeget_bulk_structureInputselement\n\nelement\n\n\n\nclusteraiida_qeInputsget_bulk_structure__element->clusteraiida_qeget_bulk_structureInputselement\n\n\n\n\n\n\nclusteraiida_qeInputsget_bulk_structure__a\n\nget_bulk_structure__a\n\n\n\nclusteraiida_qeget_bulk_structureInputsa\n\na\n\n\n\nclusteraiida_qeInputsget_bulk_structure__a->clusteraiida_qeget_bulk_structureInputsa\n\n\n\n\n\n\nclusteraiida_qeInputsget_bulk_structure__cubic\n\nget_bulk_structure__cubic\n\n\n\nclusteraiida_qeget_bulk_structureInputscubic\n\ncubic\n\n\n\nclusteraiida_qeInputsget_bulk_structure__cubic->clusteraiida_qeget_bulk_structureInputscubic\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_0__calculation\n\nget_dict_0__calculation\n\n\n\nclusteraiida_qeget_dict_0Inputscalculation\n\ncalculation\n\n\n\nclusteraiida_qeInputsget_dict_0__calculation->clusteraiida_qeget_dict_0Inputscalculation\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_0__kpts\n\nget_dict_0__kpts\n\n\n\nclusteraiida_qeget_dict_0Inputskpts\n\nkpts\n\n\n\nclusteraiida_qeInputsget_dict_0__kpts->clusteraiida_qeget_dict_0Inputskpts\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_0__pseudopotentials\n\nget_dict_0__pseudopotentials\n\n\n\nclusteraiida_qeget_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusteraiida_qeInputsget_dict_0__pseudopotentials->clusteraiida_qeget_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_0__smearing\n\nget_dict_0__smearing\n\n\n\nclusteraiida_qeget_dict_0Inputssmearing\n\nsmearing\n\n\n\nclusteraiida_qeInputsget_dict_0__smearing->clusteraiida_qeget_dict_0Inputssmearing\n\n\n\n\n\n\nclusteraiida_qeInputscalculate_qe_0__working_directory\n\ncalculate_qe_0__working_directory\n\n\n\nclusteraiida_qecalculate_qe_0Inputsworking_directory\n\nworking_directory\n\n\n\nclusteraiida_qeInputscalculate_qe_0__working_directory->clusteraiida_qecalculate_qe_0Inputsworking_directory\n\n\n\n\n\n\nclusteraiida_qeInputsgenerate_structures__strain_lst\n\ngenerate_structures__strain_lst\n\n\n\nclusteraiida_qegenerate_structuresInputsstrain_lst\n\nstrain_lst\n\n\n\nclusteraiida_qeInputsgenerate_structures__strain_lst->clusteraiida_qegenerate_structuresInputsstrain_lst\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_1__calculation\n\nget_dict_1__calculation\n\n\n\nclusteraiida_qeget_dict_1Inputscalculation\n\ncalculation\n\n\n\nclusteraiida_qeInputsget_dict_1__calculation->clusteraiida_qeget_dict_1Inputscalculation\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_1__kpts\n\nget_dict_1__kpts\n\n\n\nclusteraiida_qeget_dict_1Inputskpts\n\nkpts\n\n\n\nclusteraiida_qeInputsget_dict_1__kpts->clusteraiida_qeget_dict_1Inputskpts\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_1__pseudopotentials\n\nget_dict_1__pseudopotentials\n\n\n\nclusteraiida_qeget_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusteraiida_qeInputsget_dict_1__pseudopotentials->clusteraiida_qeget_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_1__smearing\n\nget_dict_1__smearing\n\n\n\nclusteraiida_qeget_dict_1Inputssmearing\n\nsmearing\n\n\n\nclusteraiida_qeInputsget_dict_1__smearing->clusteraiida_qeget_dict_1Inputssmearing\n\n\n\n\n\n\nclusteraiida_qeInputscalculate_qe_1__working_directory\n\ncalculate_qe_1__working_directory\n\n\n\nclusteraiida_qecalculate_qe_1Inputsworking_directory\n\nworking_directory\n\n\n\nclusteraiida_qeInputscalculate_qe_1__working_directory->clusteraiida_qecalculate_qe_1Inputsworking_directory\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_2__calculation\n\nget_dict_2__calculation\n\n\n\nclusteraiida_qeget_dict_2Inputscalculation\n\ncalculation\n\n\n\nclusteraiida_qeInputsget_dict_2__calculation->clusteraiida_qeget_dict_2Inputscalculation\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_2__kpts\n\nget_dict_2__kpts\n\n\n\nclusteraiida_qeget_dict_2Inputskpts\n\nkpts\n\n\n\nclusteraiida_qeInputsget_dict_2__kpts->clusteraiida_qeget_dict_2Inputskpts\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_2__pseudopotentials\n\nget_dict_2__pseudopotentials\n\n\n\nclusteraiida_qeget_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusteraiida_qeInputsget_dict_2__pseudopotentials->clusteraiida_qeget_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_2__smearing\n\nget_dict_2__smearing\n\n\n\nclusteraiida_qeget_dict_2Inputssmearing\n\nsmearing\n\n\n\nclusteraiida_qeInputsget_dict_2__smearing->clusteraiida_qeget_dict_2Inputssmearing\n\n\n\n\n\n\nclusteraiida_qeInputscalculate_qe_2__working_directory\n\ncalculate_qe_2__working_directory\n\n\n\nclusteraiida_qecalculate_qe_2Inputsworking_directory\n\nworking_directory\n\n\n\nclusteraiida_qeInputscalculate_qe_2__working_directory->clusteraiida_qecalculate_qe_2Inputsworking_directory\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_3__calculation\n\nget_dict_3__calculation\n\n\n\nclusteraiida_qeget_dict_3Inputscalculation\n\ncalculation\n\n\n\nclusteraiida_qeInputsget_dict_3__calculation->clusteraiida_qeget_dict_3Inputscalculation\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_3__kpts\n\nget_dict_3__kpts\n\n\n\nclusteraiida_qeget_dict_3Inputskpts\n\nkpts\n\n\n\nclusteraiida_qeInputsget_dict_3__kpts->clusteraiida_qeget_dict_3Inputskpts\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_3__pseudopotentials\n\nget_dict_3__pseudopotentials\n\n\n\nclusteraiida_qeget_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusteraiida_qeInputsget_dict_3__pseudopotentials->clusteraiida_qeget_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_3__smearing\n\nget_dict_3__smearing\n\n\n\nclusteraiida_qeget_dict_3Inputssmearing\n\nsmearing\n\n\n\nclusteraiida_qeInputsget_dict_3__smearing->clusteraiida_qeget_dict_3Inputssmearing\n\n\n\n\n\n\nclusteraiida_qeInputscalculate_qe_3__working_directory\n\ncalculate_qe_3__working_directory\n\n\n\nclusteraiida_qecalculate_qe_3Inputsworking_directory\n\nworking_directory\n\n\n\nclusteraiida_qeInputscalculate_qe_3__working_directory->clusteraiida_qecalculate_qe_3Inputsworking_directory\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_4__calculation\n\nget_dict_4__calculation\n\n\n\nclusteraiida_qeget_dict_4Inputscalculation\n\ncalculation\n\n\n\nclusteraiida_qeInputsget_dict_4__calculation->clusteraiida_qeget_dict_4Inputscalculation\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_4__kpts\n\nget_dict_4__kpts\n\n\n\nclusteraiida_qeget_dict_4Inputskpts\n\nkpts\n\n\n\nclusteraiida_qeInputsget_dict_4__kpts->clusteraiida_qeget_dict_4Inputskpts\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_4__pseudopotentials\n\nget_dict_4__pseudopotentials\n\n\n\nclusteraiida_qeget_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusteraiida_qeInputsget_dict_4__pseudopotentials->clusteraiida_qeget_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_4__smearing\n\nget_dict_4__smearing\n\n\n\nclusteraiida_qeget_dict_4Inputssmearing\n\nsmearing\n\n\n\nclusteraiida_qeInputsget_dict_4__smearing->clusteraiida_qeget_dict_4Inputssmearing\n\n\n\n\n\n\nclusteraiida_qeInputscalculate_qe_4__working_directory\n\ncalculate_qe_4__working_directory\n\n\n\nclusteraiida_qecalculate_qe_4Inputsworking_directory\n\nworking_directory\n\n\n\nclusteraiida_qeInputscalculate_qe_4__working_directory->clusteraiida_qecalculate_qe_4Inputsworking_directory\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_5__calculation\n\nget_dict_5__calculation\n\n\n\nclusteraiida_qeget_dict_5Inputscalculation\n\ncalculation\n\n\n\nclusteraiida_qeInputsget_dict_5__calculation->clusteraiida_qeget_dict_5Inputscalculation\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_5__kpts\n\nget_dict_5__kpts\n\n\n\nclusteraiida_qeget_dict_5Inputskpts\n\nkpts\n\n\n\nclusteraiida_qeInputsget_dict_5__kpts->clusteraiida_qeget_dict_5Inputskpts\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_5__pseudopotentials\n\nget_dict_5__pseudopotentials\n\n\n\nclusteraiida_qeget_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusteraiida_qeInputsget_dict_5__pseudopotentials->clusteraiida_qeget_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclusteraiida_qeInputsget_dict_5__smearing\n\nget_dict_5__smearing\n\n\n\nclusteraiida_qeget_dict_5Inputssmearing\n\nsmearing\n\n\n\nclusteraiida_qeInputsget_dict_5__smearing->clusteraiida_qeget_dict_5Inputssmearing\n\n\n\n\n\n\nclusteraiida_qeInputscalculate_qe_5__working_directory\n\ncalculate_qe_5__working_directory\n\n\n\nclusteraiida_qecalculate_qe_5Inputsworking_directory\n\nworking_directory\n\n\n\nclusteraiida_qeInputscalculate_qe_5__working_directory->clusteraiida_qecalculate_qe_5Inputsworking_directory\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2859163708959743150__item\n\ninjected_GetItem_2859163708959743150__item\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2859163708959743150__item->clusteraiida_qeinjected_GetItem_2859163708959743150Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2095185757530090309__item\n\ninjected_GetItem_2095185757530090309__item\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2095185757530090309__item->clusteraiida_qeinjected_GetItem_2095185757530090309Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m6396244699285524644__item\n\ninjected_GetItem_m6396244699285524644__item\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m6396244699285524644__item->clusteraiida_qeinjected_GetItem_m6396244699285524644Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m3217087382920924098__item\n\ninjected_GetItem_m3217087382920924098__item\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m3217087382920924098__item->clusteraiida_qeinjected_GetItem_m3217087382920924098Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m1410919064082391699__item\n\ninjected_GetItem_m1410919064082391699__item\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m1410919064082391699__item->clusteraiida_qeinjected_GetItem_m1410919064082391699Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m9115075428129331383__item\n\ninjected_GetItem_m9115075428129331383__item\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m9115075428129331383__item->clusteraiida_qeinjected_GetItem_m9115075428129331383Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m7237000809964411643__item\n\ninjected_GetItem_m7237000809964411643__item\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m7237000809964411643__item->clusteraiida_qeinjected_GetItem_m7237000809964411643Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m5860620980043280550__item\n\ninjected_GetItem_m5860620980043280550__item\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m5860620980043280550__item->clusteraiida_qeinjected_GetItem_m5860620980043280550Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m6458391072898921223__item\n\ninjected_GetItem_m6458391072898921223__item\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m6458391072898921223__item->clusteraiida_qeinjected_GetItem_m6458391072898921223Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_1684197267152821370__item\n\ninjected_GetItem_1684197267152821370__item\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_1684197267152821370__item->clusteraiida_qeinjected_GetItem_1684197267152821370Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_3919628805879474670__item\n\ninjected_GetItem_3919628805879474670__item\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_3919628805879474670__item->clusteraiida_qeinjected_GetItem_3919628805879474670Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m740119179149754946__item\n\ninjected_GetItem_m740119179149754946__item\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m740119179149754946__item->clusteraiida_qeinjected_GetItem_m740119179149754946Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2084798752545049754__item\n\ninjected_GetItem_2084798752545049754__item\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2084798752545049754__item->clusteraiida_qeinjected_GetItem_2084798752545049754Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2761976441505203068__item\n\ninjected_GetItem_2761976441505203068__item\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_2761976441505203068__item->clusteraiida_qeinjected_GetItem_2761976441505203068Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m4556998621263697855__item\n\ninjected_GetItem_m4556998621263697855__item\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m4556998621263697855__item->clusteraiida_qeinjected_GetItem_m4556998621263697855Inputsitem\n\n\n\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m9206283876700615862__item\n\ninjected_GetItem_m9206283876700615862__item\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862Inputsitem\n\nitem\n\n\n\nclusteraiida_qeInputsinjected_GetItem_m9206283876700615862__item->clusteraiida_qeinjected_GetItem_m9206283876700615862Inputsitem\n\n\n\n\n\n\nclusteraiida_qeOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n\nplot_energy_volume_curve__plot_energy_volume_curve\n\n\n\nclusteraiida_qeget_bulk_structureInputsrun\n\nrun\n\n\n\nclusteraiida_qeget_bulk_structureOutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_bulk_structureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_bulk_structureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_bulk_structureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclusteraiida_qeget_dict_0Inputsstructure\n\nstructure\n\n\n\nclusteraiida_qeget_bulk_structureOutputsWithInjectionget_bulk_structure->clusteraiida_qeget_dict_0Inputsstructure\n\n\n\n\n\n\nclusteraiida_qeget_dict_0Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_dict_0OutputsWithInjectionget_dict_0\n\nget_dict_0\n\n\n\nclusteraiida_qecalculate_qe_0Inputsinput_dict\n\ninput_dict\n\n\n\nclusteraiida_qeget_dict_0OutputsWithInjectionget_dict_0->clusteraiida_qecalculate_qe_0Inputsinput_dict\n\n\n\n\n\n\nclusteraiida_qecalculate_qe_0Inputsrun\n\nrun\n\n\n\nclusteraiida_qecalculate_qe_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qecalculate_qe_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qecalculate_qe_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0\n\ncalculate_qe_0\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0->clusteraiida_qeinjected_GetItem_2859163708959743150Inputsobj\n\n\n\n\n\n\nclusteraiida_qegenerate_structuresInputsrun\n\nrun\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qegenerate_structuresInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qegenerate_structuresInputsstructure\n\nstructure\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309Inputsobj\n\nobj\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusteraiida_qeinjected_GetItem_2095185757530090309Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699Inputsobj\n\nobj\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusteraiida_qeinjected_GetItem_m1410919064082391699Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550Inputsobj\n\nobj\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusteraiida_qeinjected_GetItem_m5860620980043280550Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670Inputsobj\n\nobj\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusteraiida_qeinjected_GetItem_3919628805879474670Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068Inputsobj\n\nobj\n\n\n\nclusteraiida_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusteraiida_qeinjected_GetItem_2761976441505203068Inputsobj\n\n\n\n\n\n\nclusteraiida_qeget_list_0Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_list_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_list_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_list_0Inputss_0\n\ns_0\n\n\n\nclusteraiida_qeget_list_0Inputss_1\n\ns_1\n\n\n\nclusteraiida_qeget_list_0Inputss_2\n\ns_2\n\n\n\nclusteraiida_qeget_list_0Inputss_3\n\ns_3\n\n\n\nclusteraiida_qeget_list_0Inputss_4\n\ns_4\n\n\n\nclusteraiida_qeget_list_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_list_0OutputsWithInjectionget_list_0\n\nget_list_0\n\n\n\nclusteraiida_qeplot_energy_volume_curveInputsvolume_lst\n\nvolume_lst\n\n\n\nclusteraiida_qeget_list_0OutputsWithInjectionget_list_0->clusteraiida_qeplot_energy_volume_curveInputsvolume_lst\n\n\n\n\n\n\nclusteraiida_qeget_list_1Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_list_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_list_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_list_1Inputss_0\n\ns_0\n\n\n\nclusteraiida_qeget_list_1Inputss_1\n\ns_1\n\n\n\nclusteraiida_qeget_list_1Inputss_2\n\ns_2\n\n\n\nclusteraiida_qeget_list_1Inputss_3\n\ns_3\n\n\n\nclusteraiida_qeget_list_1Inputss_4\n\ns_4\n\n\n\nclusteraiida_qeget_list_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_list_1OutputsWithInjectionget_list_1\n\nget_list_1\n\n\n\nclusteraiida_qeplot_energy_volume_curveInputsenergy_lst\n\nenergy_lst\n\n\n\nclusteraiida_qeget_list_1OutputsWithInjectionget_list_1->clusteraiida_qeplot_energy_volume_curveInputsenergy_lst\n\n\n\n\n\n\nclusteraiida_qeget_dict_1Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_dict_1Inputsstructure\n\nstructure\n\n\n\nclusteraiida_qeget_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_dict_1OutputsWithInjectionget_dict_1\n\nget_dict_1\n\n\n\nclusteraiida_qecalculate_qe_1Inputsinput_dict\n\ninput_dict\n\n\n\nclusteraiida_qeget_dict_1OutputsWithInjectionget_dict_1->clusteraiida_qecalculate_qe_1Inputsinput_dict\n\n\n\n\n\n\nclusteraiida_qecalculate_qe_1Inputsrun\n\nrun\n\n\n\nclusteraiida_qecalculate_qe_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qecalculate_qe_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qecalculate_qe_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1\n\ncalculate_qe_1\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusteraiida_qeinjected_GetItem_m6396244699285524644Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusteraiida_qeinjected_GetItem_m3217087382920924098Inputsobj\n\n\n\n\n\n\nclusteraiida_qeget_dict_2Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_dict_2Inputsstructure\n\nstructure\n\n\n\nclusteraiida_qeget_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_dict_2OutputsWithInjectionget_dict_2\n\nget_dict_2\n\n\n\nclusteraiida_qecalculate_qe_2Inputsinput_dict\n\ninput_dict\n\n\n\nclusteraiida_qeget_dict_2OutputsWithInjectionget_dict_2->clusteraiida_qecalculate_qe_2Inputsinput_dict\n\n\n\n\n\n\nclusteraiida_qecalculate_qe_2Inputsrun\n\nrun\n\n\n\nclusteraiida_qecalculate_qe_2OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qecalculate_qe_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qecalculate_qe_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2\n\ncalculate_qe_2\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusteraiida_qeinjected_GetItem_m9115075428129331383Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusteraiida_qeinjected_GetItem_m7237000809964411643Inputsobj\n\n\n\n\n\n\nclusteraiida_qeget_dict_3Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_dict_3Inputsstructure\n\nstructure\n\n\n\nclusteraiida_qeget_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_dict_3OutputsWithInjectionget_dict_3\n\nget_dict_3\n\n\n\nclusteraiida_qecalculate_qe_3Inputsinput_dict\n\ninput_dict\n\n\n\nclusteraiida_qeget_dict_3OutputsWithInjectionget_dict_3->clusteraiida_qecalculate_qe_3Inputsinput_dict\n\n\n\n\n\n\nclusteraiida_qecalculate_qe_3Inputsrun\n\nrun\n\n\n\nclusteraiida_qecalculate_qe_3OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qecalculate_qe_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qecalculate_qe_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3\n\ncalculate_qe_3\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusteraiida_qeinjected_GetItem_m6458391072898921223Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusteraiida_qeinjected_GetItem_1684197267152821370Inputsobj\n\n\n\n\n\n\nclusteraiida_qeget_dict_4Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_dict_4Inputsstructure\n\nstructure\n\n\n\nclusteraiida_qeget_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_dict_4OutputsWithInjectionget_dict_4\n\nget_dict_4\n\n\n\nclusteraiida_qecalculate_qe_4Inputsinput_dict\n\ninput_dict\n\n\n\nclusteraiida_qeget_dict_4OutputsWithInjectionget_dict_4->clusteraiida_qecalculate_qe_4Inputsinput_dict\n\n\n\n\n\n\nclusteraiida_qecalculate_qe_4Inputsrun\n\nrun\n\n\n\nclusteraiida_qecalculate_qe_4OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qecalculate_qe_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qecalculate_qe_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4\n\ncalculate_qe_4\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusteraiida_qeinjected_GetItem_m740119179149754946Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusteraiida_qeinjected_GetItem_2084798752545049754Inputsobj\n\n\n\n\n\n\nclusteraiida_qeget_dict_5Inputsrun\n\nrun\n\n\n\nclusteraiida_qeget_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeget_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeget_dict_5Inputsstructure\n\nstructure\n\n\n\nclusteraiida_qeget_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeget_dict_5OutputsWithInjectionget_dict_5\n\nget_dict_5\n\n\n\nclusteraiida_qecalculate_qe_5Inputsinput_dict\n\ninput_dict\n\n\n\nclusteraiida_qeget_dict_5OutputsWithInjectionget_dict_5->clusteraiida_qecalculate_qe_5Inputsinput_dict\n\n\n\n\n\n\nclusteraiida_qecalculate_qe_5Inputsrun\n\nrun\n\n\n\nclusteraiida_qecalculate_qe_5OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qecalculate_qe_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qecalculate_qe_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5\n\ncalculate_qe_5\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusteraiida_qeinjected_GetItem_m4556998621263697855Inputsobj\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862Inputsobj\n\nobj\n\n\n\nclusteraiida_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusteraiida_qeinjected_GetItem_m9206283876700615862Inputsobj\n\n\n\n\n\n\nclusteraiida_qeplot_energy_volume_curveInputsrun\n\nrun\n\n\n\nclusteraiida_qeplot_energy_volume_curveOutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeplot_energy_volume_curveInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeplot_energy_volume_curveOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclusteraiida_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve->clusteraiida_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_2859163708959743150OutputsWithInjectiongetitem->clusteraiida_qegenerate_structuresInputsstructure\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_2095185757530090309OutputsWithInjectiongetitem->clusteraiida_qeget_dict_1Inputsstructure\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m6396244699285524644OutputsWithInjectiongetitem->clusteraiida_qeget_list_1Inputss_0\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m3217087382920924098OutputsWithInjectiongetitem->clusteraiida_qeget_list_0Inputss_0\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m1410919064082391699OutputsWithInjectiongetitem->clusteraiida_qeget_dict_2Inputsstructure\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m9115075428129331383OutputsWithInjectiongetitem->clusteraiida_qeget_list_1Inputss_1\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m7237000809964411643OutputsWithInjectiongetitem->clusteraiida_qeget_list_0Inputss_1\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m5860620980043280550OutputsWithInjectiongetitem->clusteraiida_qeget_dict_3Inputsstructure\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m6458391072898921223OutputsWithInjectiongetitem->clusteraiida_qeget_list_1Inputss_2\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_1684197267152821370OutputsWithInjectiongetitem->clusteraiida_qeget_list_0Inputss_2\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_3919628805879474670OutputsWithInjectiongetitem->clusteraiida_qeget_dict_4Inputsstructure\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m740119179149754946OutputsWithInjectiongetitem->clusteraiida_qeget_list_1Inputss_3\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_2084798752545049754OutputsWithInjectiongetitem->clusteraiida_qeget_list_0Inputss_3\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_2761976441505203068OutputsWithInjectiongetitem->clusteraiida_qeget_dict_5Inputsstructure\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m4556998621263697855OutputsWithInjectiongetitem->clusteraiida_qeget_list_1Inputss_4\n\n\n\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862Inputsrun\n\nrun\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862OutputsWithInjectionran\n\nran\n\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusteraiida_qeinjected_GetItem_m9206283876700615862OutputsWithInjectiongetitem->clusteraiida_qeget_list_0Inputss_4\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":29},{"cell_type":"code","source":"wf.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02308] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02404] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02421] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02443] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02459] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02470] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"execution_count":30,"output_type":"execute_result","data":{"text/plain":"{'plot_energy_volume_curve__plot_energy_volume_curve': None}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":30}]} \ No newline at end of file diff --git a/example_workflows/quantum_espresso/jobflow.ipynb b/example_workflows/quantum_espresso/jobflow.ipynb index b4dddf6..d8e0863 100644 --- a/example_workflows/quantum_espresso/jobflow.ipynb +++ b/example_workflows/quantum_espresso/jobflow.ipynb @@ -1,480 +1 @@ -{ - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.8" - } - }, - "nbformat_minor": 4, - "nbformat": 4, - "cells": [ - { - "cell_type": "markdown", - "source": "# jobflow", - "metadata": {} - }, - { - "cell_type": "markdown", - "source": "[`jobflow`](https://materialsproject.github.io/jobflow/index.html) and [`atomate2`](https://materialsproject.github.io/atomate2/index.html) are key packages of the [Materials Project](https://materialsproject.org/) . `jobflow` was especially designed to simplify the execution of dynamic workflows -- when the actual number of jobs is dynamically determined upon runtime instead of being statically fixed before running the workflow(s). `jobflow`'s overall flexibility allows for building workflows that go beyond the usage in materials science. `jobflow` serves as the basis of `atomate2`, which implements data generation workflows in the context of materials science and will be used for data generation in the Materials Project in the future.", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - } - }, - { - "cell_type": "markdown", - "source": "## Define workflow with jobflow\n\nWe start by importing the job decorator and Flow class from `jobflow` and the respective PWD tools.", - "metadata": {} - }, - { - "cell_type": "code", - "source": "import numpy as np", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 1 - }, - { - "cell_type": "code", - "source": "from jobflow import job, Flow", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 2 - }, - { - "cell_type": "code", - "source": "from python_workflow_definition.jobflow import write_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 3 - }, - { - "cell_type": "markdown", - "source": "## Quantum Espresso Workflow\nWe will use the knowledge from the previous arithmetic workflow example to create the Quantum Espresso-related tasks for calculating an \"Energy vs. Volume\" curve. It’s important to note that this is only a basic implementation, and further extensions towards data validation or for a simplified user experience can be added. For example, one can typically configure run commands for quantum-chemical programs via configuration files in atomate2.", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - } - }, - { - "cell_type": "code", - "source": "from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 4 - }, - { - "cell_type": "code", - "source": "workflow_json_filename = \"jobflow_qe.json\"", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 5 - }, - { - "cell_type": "code", - "source": "calculate_qe = job(_calculate_qe)\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 6 - }, - { - "cell_type": "markdown", - "source": "We need to specify the typical QE input like pseudopotential(s) and structure model.", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - } - }, - { - "cell_type": "code", - "source": "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 7 - }, - { - "cell_type": "code", - "source": "structure = get_bulk_structure(\n element=\"Al\",\n a=4.04,\n cubic=True,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 8 - }, - { - "cell_type": "code", - "source": "calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure.output,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 9 - }, - { - "cell_type": "markdown", - "source": "Next, for the \"Energy vs. Volume\" curve, we meed to specify the number of strained structures and save them into a list object. For each of the strained structures, we will carry out a QE calculation.", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - } - }, - { - "cell_type": "code", - "source": "number_of_strains = 5\nstructure_lst = generate_structures(\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 10 - }, - { - "cell_type": "code", - "source": "job_strain_lst = []\nfor i in range(number_of_strains):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": getattr(structure_lst.output, f\"s_{i}\"),\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n )\n job_strain_lst.append(calc_strain)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 11 - }, - { - "cell_type": "markdown", - "source": "Finally, we specify a plotter for the \"Energy vs. Volume\" curve and can export the workflow.", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - } - }, - { - "cell_type": "code", - "source": "plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 12 - }, - { - "cell_type": "code", - "source": "flow = Flow([structure, calc_mini, structure_lst] + job_strain_lst + [plot])", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 13 - }, - { - "cell_type": "code", - "source": "write_workflow_json(flow=flow, file_name=workflow_json_filename)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 14 - }, - { - "cell_type": "code", - "source": "!cat {workflow_json_filename}", - "metadata": { - "trusted": true - }, - "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 \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 10,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 11,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 12,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"mini\"\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 \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 15,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 16,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.9500000000000001,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"strain_0\"\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 \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\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 \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\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 \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\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 \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\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\": 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\": 1,\n \"targetPort\": \"input_dict\",\n \"source\": 13,\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\": 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\": 3,\n \"targetPort\": \"input_dict\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"working_directory\",\n \"source\": 22,\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\": 4,\n \"targetPort\": \"input_dict\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"working_directory\",\n \"source\": 24,\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\": 5,\n \"targetPort\": \"input_dict\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"working_directory\",\n \"source\": 26,\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\": 6,\n \"targetPort\": \"input_dict\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\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\": 7,\n \"targetPort\": \"input_dict\",\n \"source\": 29,\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\": \"volume_lst\",\n \"source\": 30,\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\": 8,\n \"targetPort\": \"energy_lst\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 8,\n \"sourcePort\": null\n }\n ]\n}" - } - ], - "execution_count": 15 - }, - { - "cell_type": "markdown", - "source": "## Load Workflow with aiida\n\nNow, we can import the workflow, run it with `aiida` and plot the \"Energy vs. Volume\" curve.", - "metadata": {} - }, - { - "cell_type": "code", - "source": "from aiida import orm, load_profile\n\nload_profile()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "execution_count": 16, - "output_type": "execute_result", - "data": { - "text/plain": "Profile" - }, - "metadata": {} - } - ], - "execution_count": 16 - }, - { - "cell_type": "code", - "source": "from python_workflow_definition.aiida import load_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 17 - }, - { - "cell_type": "code", - "source": "wg = load_workflow_json(workflow_json_filename)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 18 - }, - { - "cell_type": "code", - "source": "wg.nodes.get_bulk_structure1.inputs.a.value = orm.Float(4.05)", - "metadata": { - "scrolled": true, - "trusted": true - }, - "outputs": [], - "execution_count": 19 - }, - { - "cell_type": "code", - "source": "wg", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "execution_count": 20, - "output_type": "execute_result", - "data": { - "text/plain": "NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…", - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 1, - "model_id": "39e130485f144a8abbf5c63c4812a3e3" - } - }, - "metadata": {} - } - ], - "execution_count": 20 - }, - { - "cell_type": "code", - "source": "wg.run()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": "05/24/2025 05:55:37 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure1\n05/24/2025 05:55:38 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_bulk_structure1, type: PyFunction, finished.\n05/24/2025 05:55:38 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict10\n05/24/2025 05:55:38 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_dict10, type: PyFunction, finished.\n05/24/2025 05:55:38 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe2\n[jupyter-pythonworkflow-fl--x---d7231032:10078] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 05:56:29 AM <10006> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n05/24/2025 05:56:29 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: calculate_qe2, type: PyFunction, finished.\n05/24/2025 05:56:30 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures3\n05/24/2025 05:56:30 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: generate_structures3, type: PyFunction, finished.\n05/24/2025 05:56:30 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict11,get_dict12,get_dict13,get_dict14,get_dict15\n05/24/2025 05:56:31 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_dict11, type: PyFunction, finished.\n05/24/2025 05:56:31 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe4,get_dict12,get_dict13,get_dict14,get_dict15\n[jupyter-pythonworkflow-fl--x---d7231032:10097] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 05:56:42 AM <10006> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 05:56:42 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: calculate_qe4, type: PyFunction, finished.\n05/24/2025 05:56:42 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict12,get_dict13,get_dict14,get_dict15\n05/24/2025 05:56:43 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_dict12, type: PyFunction, finished.\n05/24/2025 05:56:43 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe5,get_dict13,get_dict14,get_dict15\n[jupyter-pythonworkflow-fl--x---d7231032:10108] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 05:56:54 AM <10006> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 05:56:55 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: calculate_qe5, type: PyFunction, finished.\n05/24/2025 05:56:55 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict13,get_dict14,get_dict15\n05/24/2025 05:56:55 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_dict13, type: PyFunction, finished.\n05/24/2025 05:56:55 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe6,get_dict14,get_dict15\n[jupyter-pythonworkflow-fl--x---d7231032:10120] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 05:57:07 AM <10006> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 05:57:08 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: calculate_qe6, type: PyFunction, finished.\n05/24/2025 05:57:08 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict14,get_dict15\n05/24/2025 05:57:08 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_dict14, type: PyFunction, finished.\n05/24/2025 05:57:08 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe7,get_dict15\n[jupyter-pythonworkflow-fl--x---d7231032:10131] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 05:57:22 AM <10006> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 05:57:22 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: calculate_qe7, type: PyFunction, finished.\n05/24/2025 05:57:22 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict15\n05/24/2025 05:57:23 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_dict15, type: PyFunction, finished.\n05/24/2025 05:57:23 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe8\n[jupyter-pythonworkflow-fl--x---d7231032:10146] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 05:57:40 AM <10006> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 05:57:40 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: calculate_qe8, type: PyFunction, finished.\n05/24/2025 05:57:40 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list16,get_list17\n05/24/2025 05:57:41 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_list16, type: PyFunction, finished.\n05/24/2025 05:57:41 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list17\n05/24/2025 05:57:41 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: get_list17, type: PyFunction, finished.\n05/24/2025 05:57:41 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve9\n05/24/2025 05:57:41 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve9, type: PyFunction, finished.\n05/24/2025 05:57:42 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n05/24/2025 05:57:42 AM <10006> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [155|WorkGraphEngine|finalize]: Finalize workgraph.\n" - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=" - }, - "metadata": {} - } - ], - "execution_count": 21 - }, - { - "cell_type": "markdown", - "source": "## Load Workflow with pyiron_base\n\nAnd we can repeat the same process using `pyiron`.", - "metadata": {} - }, - { - "cell_type": "code", - "source": "from python_workflow_definition.pyiron_base import load_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 22 - }, - { - "cell_type": "code", - "source": "delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\ndelayed_object_lst[-1].draw()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "", - "image/svg+xml": "\n\n\n\n\ncreate_function_job_c1bd4fa8a953503eb91dd3a4c0e050c1\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faaa5a0>\n\n\n\nvolume_lst_3bbc92d0a53d92db965d7d7300f35662\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faaa120>\n\n\n\nvolume_lst_3bbc92d0a53d92db965d7d7300f35662->create_function_job_c1bd4fa8a953503eb91dd3a4c0e050c1\n\n\n\n\n\n0_1486065434a8893d86e82aa18a53c13f\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9190>\n\n\n\n0_1486065434a8893d86e82aa18a53c13f->volume_lst_3bbc92d0a53d92db965d7d7300f35662\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_1486065434a8893d86e82aa18a53c13f\n\n\n\n\n\n0_10cddf24f3df2b8e55717b9765166f6d\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faaa390>\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_10cddf24f3df2b8e55717b9765166f6d\n\n\n\n\n\nenergy_lst_0a36f26513e729da8bf6203d51de85ce\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa91f0>\n\n\n\n0_10cddf24f3df2b8e55717b9765166f6d->energy_lst_0a36f26513e729da8bf6203d51de85ce\n\n\n\n\n\ninput_dict_de0231a2cb57ae7c5f270591e461e498\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9700>\n\n\n\ninput_dict_de0231a2cb57ae7c5f270591e461e498->0_1486065434a8893d86e82aa18a53c13f\n\n\n\n\n\ninput_dict_de0231a2cb57ae7c5f270591e461e498->0_10cddf24f3df2b8e55717b9765166f6d\n\n\n\n\n\nstructure_ebabdb4e3893711b0b0b9bde48219a29\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9430>\n\n\n\nstructure_ebabdb4e3893711b0b0b9bde48219a29->input_dict_de0231a2cb57ae7c5f270591e461e498\n\n\n\n\n\nstructure_fa711d84fccf4b52119bc24d6a7d148c\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa84a0>\n\n\n\nstructure_fa711d84fccf4b52119bc24d6a7d148c->structure_ebabdb4e3893711b0b0b9bde48219a29\n\n\n\n\n\nstructure_42401d269bf34371c3019bdc4bfb75a2\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9100>\n\n\n\nstructure_fa711d84fccf4b52119bc24d6a7d148c->structure_42401d269bf34371c3019bdc4bfb75a2\n\n\n\n\n\nstructure_c78a04df8e59a6ea69048b21d98d8f35\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa8dd0>\n\n\n\nstructure_fa711d84fccf4b52119bc24d6a7d148c->structure_c78a04df8e59a6ea69048b21d98d8f35\n\n\n\n\n\nstructure_035363b78ccad8fa3d1ed5663631f443\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa8b00>\n\n\n\nstructure_fa711d84fccf4b52119bc24d6a7d148c->structure_035363b78ccad8fa3d1ed5663631f443\n\n\n\n\n\nstructure_082651b60d0775f1e4fd226180d32ccd\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa87d0>\n\n\n\nstructure_fa711d84fccf4b52119bc24d6a7d148c->structure_082651b60d0775f1e4fd226180d32ccd\n\n\n\n\n\ninput_dict_244ae7db7309f48a16fb16f358edb739\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa93a0>\n\n\n\nstructure_42401d269bf34371c3019bdc4bfb75a2->input_dict_244ae7db7309f48a16fb16f358edb739\n\n\n\n\n\ninput_dict_811eb58a852081af57d9d8db9199be2e\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9070>\n\n\n\nstructure_c78a04df8e59a6ea69048b21d98d8f35->input_dict_811eb58a852081af57d9d8db9199be2e\n\n\n\n\n\ninput_dict_524ee86f5c443ec91b3b7be26ca077a8\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa8d40>\n\n\n\nstructure_035363b78ccad8fa3d1ed5663631f443->input_dict_524ee86f5c443ec91b3b7be26ca077a8\n\n\n\n\n\ninput_dict_d68a1483bcccf569bef4e76ffedd1551\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa8a70>\n\n\n\nstructure_082651b60d0775f1e4fd226180d32ccd->input_dict_d68a1483bcccf569bef4e76ffedd1551\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_fa711d84fccf4b52119bc24d6a7d148c\n\n\n\n\n\ninput_dict_f6f21f5be91964bd92bb0715985756ac\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x761e9fa6fbc0>\n\n\n\ninput_dict_f6f21f5be91964bd92bb0715985756ac->structure_fa711d84fccf4b52119bc24d6a7d148c\n\n\n\n\n\nstructure_dfe10bce77b4e5e0e99fc065e50a75a8\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x761e9fa6fc50>\n\n\n\nstructure_dfe10bce77b4e5e0e99fc065e50a75a8->input_dict_f6f21f5be91964bd92bb0715985756ac\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_dfe10bce77b4e5e0e99fc065e50a75a8\n\n\n\n\n\na_457b6d376c6fce696df148a385afa46d\n\na=4.04\n\n\n\na_457b6d376c6fce696df148a385afa46d->structure_dfe10bce77b4e5e0e99fc065e50a75a8\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_dfe10bce77b4e5e0e99fc065e50a75a8\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_de0231a2cb57ae7c5f270591e461e498\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_f6f21f5be91964bd92bb0715985756ac\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_244ae7db7309f48a16fb16f358edb739\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_811eb58a852081af57d9d8db9199be2e\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_524ee86f5c443ec91b3b7be26ca077a8\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_d68a1483bcccf569bef4e76ffedd1551\n\n\n\n\n\n1_8f0b6b80405de7055941d933f333b118\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa91c0>\n\n\n\ninput_dict_244ae7db7309f48a16fb16f358edb739->1_8f0b6b80405de7055941d933f333b118\n\n\n\n\n\n1_85e2b119e56f47d946031fd8b36e0cd8\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faaa360>\n\n\n\ninput_dict_244ae7db7309f48a16fb16f358edb739->1_85e2b119e56f47d946031fd8b36e0cd8\n\n\n\n\n\n2_78df7e08d41d7db70268f99c46ec23dd\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9850>\n\n\n\ninput_dict_811eb58a852081af57d9d8db9199be2e->2_78df7e08d41d7db70268f99c46ec23dd\n\n\n\n\n\n2_54d3f470018f712d94b43362cb5614f2\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faaa1b0>\n\n\n\ninput_dict_811eb58a852081af57d9d8db9199be2e->2_54d3f470018f712d94b43362cb5614f2\n\n\n\n\n\n3_25174fe7df906bcbea5eab0c37f8c0ba\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa8bf0>\n\n\n\ninput_dict_524ee86f5c443ec91b3b7be26ca077a8->3_25174fe7df906bcbea5eab0c37f8c0ba\n\n\n\n\n\n3_b70a098fcddf3aca598cafe9252716e4\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9fa0>\n\n\n\ninput_dict_524ee86f5c443ec91b3b7be26ca077a8->3_b70a098fcddf3aca598cafe9252716e4\n\n\n\n\n\n4_5fe4f431a207376dcfe8aa838521623e\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa8800>\n\n\n\ninput_dict_d68a1483bcccf569bef4e76ffedd1551->4_5fe4f431a207376dcfe8aa838521623e\n\n\n\n\n\n4_6f3d87fbd398bfb6ce97e69b03f91033\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x761e9faa9cd0>\n\n\n\ninput_dict_d68a1483bcccf569bef4e76ffedd1551->4_6f3d87fbd398bfb6ce97e69b03f91033\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_de0231a2cb57ae7c5f270591e461e498\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_f6f21f5be91964bd92bb0715985756ac\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_244ae7db7309f48a16fb16f358edb739\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_811eb58a852081af57d9d8db9199be2e\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_524ee86f5c443ec91b3b7be26ca077a8\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_d68a1483bcccf569bef4e76ffedd1551\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_f6f21f5be91964bd92bb0715985756ac\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_de0231a2cb57ae7c5f270591e461e498\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_f6f21f5be91964bd92bb0715985756ac\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_244ae7db7309f48a16fb16f358edb739\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_811eb58a852081af57d9d8db9199be2e\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_524ee86f5c443ec91b3b7be26ca077a8\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_d68a1483bcccf569bef4e76ffedd1551\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86\n\nstrain_lst=[0.9, 0.9500000000000001, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_ebabdb4e3893711b0b0b9bde48219a29\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_42401d269bf34371c3019bdc4bfb75a2\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_c78a04df8e59a6ea69048b21d98d8f35\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_035363b78ccad8fa3d1ed5663631f443\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_082651b60d0775f1e4fd226180d32ccd\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_de0231a2cb57ae7c5f270591e461e498\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_244ae7db7309f48a16fb16f358edb739\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_811eb58a852081af57d9d8db9199be2e\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_524ee86f5c443ec91b3b7be26ca077a8\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_d68a1483bcccf569bef4e76ffedd1551\n\n\n\n\n\n1_8f0b6b80405de7055941d933f333b118->volume_lst_3bbc92d0a53d92db965d7d7300f35662\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_8f0b6b80405de7055941d933f333b118\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_85e2b119e56f47d946031fd8b36e0cd8\n\n\n\n\n\n1_85e2b119e56f47d946031fd8b36e0cd8->energy_lst_0a36f26513e729da8bf6203d51de85ce\n\n\n\n\n\n2_78df7e08d41d7db70268f99c46ec23dd->volume_lst_3bbc92d0a53d92db965d7d7300f35662\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_78df7e08d41d7db70268f99c46ec23dd\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_54d3f470018f712d94b43362cb5614f2\n\n\n\n\n\n2_54d3f470018f712d94b43362cb5614f2->energy_lst_0a36f26513e729da8bf6203d51de85ce\n\n\n\n\n\n3_25174fe7df906bcbea5eab0c37f8c0ba->volume_lst_3bbc92d0a53d92db965d7d7300f35662\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_25174fe7df906bcbea5eab0c37f8c0ba\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_b70a098fcddf3aca598cafe9252716e4\n\n\n\n\n\n3_b70a098fcddf3aca598cafe9252716e4->energy_lst_0a36f26513e729da8bf6203d51de85ce\n\n\n\n\n\n4_5fe4f431a207376dcfe8aa838521623e->volume_lst_3bbc92d0a53d92db965d7d7300f35662\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_5fe4f431a207376dcfe8aa838521623e\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_6f3d87fbd398bfb6ce97e69b03f91033\n\n\n\n\n\n4_6f3d87fbd398bfb6ce97e69b03f91033->energy_lst_0a36f26513e729da8bf6203d51de85ce\n\n\n\n\n\nenergy_lst_0a36f26513e729da8bf6203d51de85ce->create_function_job_c1bd4fa8a953503eb91dd3a4c0e050c1\n\n\n\n\n" - }, - "metadata": {} - } - ], - "execution_count": 23 - }, - { - "cell_type": "code", - "source": "delayed_object_lst[0].input['a'] = 4.05", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 24 - }, - { - "cell_type": "code", - "source": "delayed_object_lst[-1].pull()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_bulk_structure_2ca4aeae204ceaa28593c93054b07908 was saved and received the ID: 1\nThe job get_dict_1e47509b88d63a21fd421686554c8f4a was saved and received the ID: 2\nThe job calculate_qe_411e578f2700d09ba2df9a4c682b4582 was saved and received the ID: 3\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10178] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job generate_structures_758c1e24a8384d1f25f5126debddf480 was saved and received the ID: 4\nThe job get_dict_db80165b1c83d6fa1ef1eef8d8b3188b was saved and received the ID: 5\nThe job calculate_qe_c74608e7e5992312ade6c5737ad4d4f1 was saved and received the ID: 6\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10193] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_97c2cc17b8b86f75ac4b6341cd45956c was saved and received the ID: 7\nThe job calculate_qe_3c59fd7824f74b10476745bf9830882f was saved and received the ID: 8\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10204] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_8c518d80d423ba91c334fe6a5d9543bd was saved and received the ID: 9\nThe job calculate_qe_38624f0e23e56cbc7b388ef79234a0cf was saved and received the ID: 10\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10215] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_85562edba169c3c58d84415c89cc95ec was saved and received the ID: 11\nThe job calculate_qe_78709c5d9efddf18fe3df6c5e14d06ed was saved and received the ID: 12\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10226] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_dict_c540734353f48fac14af5c29bd88abc9 was saved and received the ID: 13\nThe job calculate_qe_1e912623736f139236a98ac679574bb4 was saved and received the ID: 14\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10242] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "The job get_list_eacb691fa58e50c0936b26623a5e36f9 was saved and received the ID: 15\nThe job get_list_069bfd570461c3607a17813d3ecb126c was saved and received the ID: 16\nThe job plot_energy_volume_curve_99f8fb836badb998aff830b255f6b0eb was saved and received the ID: 17\n" - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=" - }, - "metadata": {} - } - ], - "execution_count": 25 - }, - { - "metadata": {}, - "cell_type": "markdown", - "source": "## Load Workflow with pyiron_workflow" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf = load_workflow_json(file_name=workflow_json_filename)" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf.draw(size=(10,10))" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf.run()" - } - ] -} +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.8"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# jobflow","metadata":{}},{"cell_type":"markdown","source":"[`jobflow`](https://materialsproject.github.io/jobflow/index.html) and [`atomate2`](https://materialsproject.github.io/atomate2/index.html) are key packages of the [Materials Project](https://materialsproject.org/) . `jobflow` was especially designed to simplify the execution of dynamic workflows -- when the actual number of jobs is dynamically determined upon runtime instead of being statically fixed before running the workflow(s). `jobflow`'s overall flexibility allows for building workflows that go beyond the usage in materials science. `jobflow` serves as the basis of `atomate2`, which implements data generation workflows in the context of materials science and will be used for data generation in the Materials Project in the future.","metadata":{"collapsed":false,"jupyter":{"outputs_hidden":false}}},{"cell_type":"markdown","source":"## Define workflow with jobflow\n\nWe start by importing the job decorator and Flow class from `jobflow` and the respective PWD tools.","metadata":{}},{"cell_type":"code","source":"import numpy as np","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"cell_type":"code","source":"from jobflow import job, Flow","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"cell_type":"code","source":"from python_workflow_definition.jobflow import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"cell_type":"markdown","source":"## Quantum Espresso Workflow\nWe will use the knowledge from the previous arithmetic workflow example to create the Quantum Espresso-related tasks for calculating an \"Energy vs. Volume\" curve. It’s important to note that this is only a basic implementation, and further extensions towards data validation or for a simplified user experience can be added. For example, one can typically configure run commands for quantum-chemical programs via configuration files in atomate2.","metadata":{"collapsed":false,"jupyter":{"outputs_hidden":false}}},{"cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"cell_type":"code","source":"workflow_json_filename = \"jobflow_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"cell_type":"code","source":"calculate_qe = job(_calculate_qe)\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"cell_type":"markdown","source":"We need to specify the typical QE input like pseudopotential(s) and structure model.","metadata":{"collapsed":false,"jupyter":{"outputs_hidden":false}}},{"cell_type":"code","source":"pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"cell_type":"code","source":"structure = get_bulk_structure(\n element=\"Al\",\n a=4.04,\n cubic=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"cell_type":"code","source":"calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure.output,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"cell_type":"markdown","source":"Next, for the \"Energy vs. Volume\" curve, we meed to specify the number of strained structures and save them into a list object. For each of the strained structures, we will carry out a QE calculation.","metadata":{"collapsed":false,"jupyter":{"outputs_hidden":false}}},{"cell_type":"code","source":"number_of_strains = 5\nstructure_lst = generate_structures(\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": getattr(structure_lst.output, f\"s_{i}\"),\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n )\n job_strain_lst.append(calc_strain)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"cell_type":"markdown","source":"Finally, we specify a plotter for the \"Energy vs. Volume\" curve and can export the workflow.","metadata":{"collapsed":false,"jupyter":{"outputs_hidden":false}}},{"cell_type":"code","source":"plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"cell_type":"code","source":"flow = Flow([structure, calc_mini, structure_lst] + job_strain_lst + [plot])","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"cell_type":"code","source":"write_workflow_json(flow=flow, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"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 \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 10,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 11,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 12,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"mini\"\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 \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 15,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 16,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.9500000000000001,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"strain_0\"\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 \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\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 \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\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 \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\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 \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\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\": 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\": 1,\n \"targetPort\": \"input_dict\",\n \"source\": 13,\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\": 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\": 3,\n \"targetPort\": \"input_dict\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"working_directory\",\n \"source\": 22,\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\": 4,\n \"targetPort\": \"input_dict\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"working_directory\",\n \"source\": 24,\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\": 5,\n \"targetPort\": \"input_dict\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"working_directory\",\n \"source\": 26,\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\": 6,\n \"targetPort\": \"input_dict\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\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\": 7,\n \"targetPort\": \"input_dict\",\n \"source\": 29,\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\": \"volume_lst\",\n \"source\": 30,\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\": 8,\n \"targetPort\": \"energy_lst\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 8,\n \"sourcePort\": null\n }\n ]\n}"}],"execution_count":15},{"cell_type":"markdown","source":"## Load Workflow with aiida\n\nNow, we can import the workflow, run it with `aiida` and plot the \"Energy vs. Volume\" curve.","metadata":{}},{"cell_type":"code","source":"from aiida import orm, load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":16,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":16},{"cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":17},{"cell_type":"code","source":"wg = load_workflow_json(workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"cell_type":"code","source":"wg.nodes.get_bulk_structure1.inputs.a.value = orm.Float(4.05)","metadata":{"scrolled":true,"trusted":true},"outputs":[],"execution_count":19},{"cell_type":"code","source":"wg","metadata":{"trusted":true},"outputs":[{"execution_count":20,"output_type":"execute_result","data":{"text/plain":"NodeGraphWidget(settings={'minimap': True}, style={'width': '90%', 'height': '600px'}, value={'name': 'WorkGra…","application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":1,"model_id":"e9bb01de73ff4284a7578d7064ae369f"}},"metadata":{}}],"execution_count":20},{"cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"05/26/2025 04:59:05 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure1\n05/26/2025 04:59:05 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_bulk_structure1, type: PyFunction, finished.\n05/26/2025 04:59:05 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict10\n05/26/2025 04:59:06 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_dict10, type: PyFunction, finished.\n05/26/2025 04:59:06 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe2\n[jupyter-pythonworkflow-fl--x---218119f8:02569] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:59:56 AM <2497> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n05/26/2025 04:59:57 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: calculate_qe2, type: PyFunction, finished.\n05/26/2025 04:59:57 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures3\n05/26/2025 04:59:58 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: generate_structures3, type: PyFunction, finished.\n05/26/2025 04:59:58 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict11,get_dict12,get_dict13,get_dict14,get_dict15\n05/26/2025 04:59:58 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_dict11, type: PyFunction, finished.\n05/26/2025 04:59:58 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe4,get_dict12,get_dict13,get_dict14,get_dict15\n[jupyter-pythonworkflow-fl--x---218119f8:02586] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:00:10 AM <2497> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:00:10 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: calculate_qe4, type: PyFunction, finished.\n05/26/2025 05:00:10 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict12,get_dict13,get_dict14,get_dict15\n05/26/2025 05:00:11 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_dict12, type: PyFunction, finished.\n05/26/2025 05:00:11 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe5,get_dict13,get_dict14,get_dict15\n[jupyter-pythonworkflow-fl--x---218119f8:02596] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:00:22 AM <2497> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:00:22 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: calculate_qe5, type: PyFunction, finished.\n05/26/2025 05:00:22 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict13,get_dict14,get_dict15\n05/26/2025 05:00:23 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_dict13, type: PyFunction, finished.\n05/26/2025 05:00:23 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe6,get_dict14,get_dict15\n[jupyter-pythonworkflow-fl--x---218119f8:02606] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:00:35 AM <2497> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:00:35 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: calculate_qe6, type: PyFunction, finished.\n05/26/2025 05:00:35 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict14,get_dict15\n05/26/2025 05:00:35 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_dict14, type: PyFunction, finished.\n05/26/2025 05:00:36 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe7,get_dict15\n[jupyter-pythonworkflow-fl--x---218119f8:02616] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:00:50 AM <2497> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:00:51 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: calculate_qe7, type: PyFunction, finished.\n05/26/2025 05:00:51 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict15\n05/26/2025 05:00:51 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_dict15, type: PyFunction, finished.\n05/26/2025 05:00:51 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe8\n[jupyter-pythonworkflow-fl--x---218119f8:02626] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:01:05 AM <2497> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:01:05 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: calculate_qe8, type: PyFunction, finished.\n05/26/2025 05:01:06 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list16,get_list17\n05/26/2025 05:01:06 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_list16, type: PyFunction, finished.\n05/26/2025 05:01:07 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list17\n05/26/2025 05:01:07 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: get_list17, type: PyFunction, finished.\n05/26/2025 05:01:07 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve9\n05/26/2025 05:01:08 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve9, type: PyFunction, finished.\n05/26/2025 05:01:08 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n05/26/2025 05:01:08 AM <2497> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [111|WorkGraphEngine|finalize]: Finalize workgraph.\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":21},{"cell_type":"markdown","source":"## Load Workflow with pyiron_base\n\nAnd we can repeat the same process using `pyiron`.","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":22},{"cell_type":"code","source":"delayed_object_lst = load_workflow_json(file_name=workflow_json_filename)\ndelayed_object_lst[-1].draw()","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_7a6b0a5d731ab6c2313227f09941d617\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521b110>\n\n\n\nvolume_lst_30c54979ac77823618f2e69329ff2e23\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521aea0>\n\n\n\nvolume_lst_30c54979ac77823618f2e69329ff2e23->create_function_job_7a6b0a5d731ab6c2313227f09941d617\n\n\n\n\n\n0_b28c4ab19cf80aceb6ea9905c5579cdf\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a900>\n\n\n\n0_b28c4ab19cf80aceb6ea9905c5579cdf->volume_lst_30c54979ac77823618f2e69329ff2e23\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_b28c4ab19cf80aceb6ea9905c5579cdf\n\n\n\n\n\n0_31407cd5438b8f801835dcb5c1b4d41c\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a2d0>\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_31407cd5438b8f801835dcb5c1b4d41c\n\n\n\n\n\nenergy_lst_7a67d028a4fc3e7b717ea0eabdc78b61\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a870>\n\n\n\n0_31407cd5438b8f801835dcb5c1b4d41c->energy_lst_7a67d028a4fc3e7b717ea0eabdc78b61\n\n\n\n\n\ninput_dict_26015174619bcf580cff994859503441\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72e615219610>\n\n\n\ninput_dict_26015174619bcf580cff994859503441->0_b28c4ab19cf80aceb6ea9905c5579cdf\n\n\n\n\n\ninput_dict_26015174619bcf580cff994859503441->0_31407cd5438b8f801835dcb5c1b4d41c\n\n\n\n\n\nstructure_d68ff2adbab972340efae09bf2dca5b6\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e615219340>\n\n\n\nstructure_d68ff2adbab972340efae09bf2dca5b6->input_dict_26015174619bcf580cff994859503441\n\n\n\n\n\nstructure_f26c3fb8bc87bf85ed5296f40ec2ae34\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e6154ef320>\n\n\n\nstructure_f26c3fb8bc87bf85ed5296f40ec2ae34->structure_d68ff2adbab972340efae09bf2dca5b6\n\n\n\n\n\nstructure_6c6a71df64a4775eb5b2b6627712d17c\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e615219010>\n\n\n\nstructure_f26c3fb8bc87bf85ed5296f40ec2ae34->structure_6c6a71df64a4775eb5b2b6627712d17c\n\n\n\n\n\nstructure_535ac9ea932cf7dd1ea2a048ff184ef9\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e615218ce0>\n\n\n\nstructure_f26c3fb8bc87bf85ed5296f40ec2ae34->structure_535ac9ea932cf7dd1ea2a048ff184ef9\n\n\n\n\n\nstructure_b52cf29645cbdc73b2126ad614a6748d\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e6152189b0>\n\n\n\nstructure_f26c3fb8bc87bf85ed5296f40ec2ae34->structure_b52cf29645cbdc73b2126ad614a6748d\n\n\n\n\n\nstructure_8b6656321f1e07cd30f21bb9d083f734\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e615218680>\n\n\n\nstructure_f26c3fb8bc87bf85ed5296f40ec2ae34->structure_8b6656321f1e07cd30f21bb9d083f734\n\n\n\n\n\ninput_dict_aa3da715c96cd1fef134c69b1da72e42\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72e6152192b0>\n\n\n\nstructure_6c6a71df64a4775eb5b2b6627712d17c->input_dict_aa3da715c96cd1fef134c69b1da72e42\n\n\n\n\n\ninput_dict_eac440c283c1a2924bb89ecb82a35639\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72e615218f80>\n\n\n\nstructure_535ac9ea932cf7dd1ea2a048ff184ef9->input_dict_eac440c283c1a2924bb89ecb82a35639\n\n\n\n\n\ninput_dict_523110518563cadc66dc6aefb11923b8\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72e615218c50>\n\n\n\nstructure_b52cf29645cbdc73b2126ad614a6748d->input_dict_523110518563cadc66dc6aefb11923b8\n\n\n\n\n\ninput_dict_20011bd02b7fe4c3fa64102f5cee0ce1\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72e615218920>\n\n\n\nstructure_8b6656321f1e07cd30f21bb9d083f734->input_dict_20011bd02b7fe4c3fa64102f5cee0ce1\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_f26c3fb8bc87bf85ed5296f40ec2ae34\n\n\n\n\n\ninput_dict_f2214e5b325d98ae04c3309fcba1e8c7\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x72e6151fbbf0>\n\n\n\ninput_dict_f2214e5b325d98ae04c3309fcba1e8c7->structure_f26c3fb8bc87bf85ed5296f40ec2ae34\n\n\n\n\n\nstructure_85578fbee37b882dfe6c61e46c6e3e6f\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x72e6151fbc80>\n\n\n\nstructure_85578fbee37b882dfe6c61e46c6e3e6f->input_dict_f2214e5b325d98ae04c3309fcba1e8c7\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_85578fbee37b882dfe6c61e46c6e3e6f\n\n\n\n\n\na_457b6d376c6fce696df148a385afa46d\n\na=4.04\n\n\n\na_457b6d376c6fce696df148a385afa46d->structure_85578fbee37b882dfe6c61e46c6e3e6f\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_85578fbee37b882dfe6c61e46c6e3e6f\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_26015174619bcf580cff994859503441\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_f2214e5b325d98ae04c3309fcba1e8c7\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_aa3da715c96cd1fef134c69b1da72e42\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_eac440c283c1a2924bb89ecb82a35639\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_523110518563cadc66dc6aefb11923b8\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_20011bd02b7fe4c3fa64102f5cee0ce1\n\n\n\n\n\n1_7641bae76279fbdc2c20282392d6c910\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a8d0>\n\n\n\ninput_dict_aa3da715c96cd1fef134c69b1da72e42->1_7641bae76279fbdc2c20282392d6c910\n\n\n\n\n\n1_6a3f07c7438420109a6c39351d9758ad\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a2a0>\n\n\n\ninput_dict_aa3da715c96cd1fef134c69b1da72e42->1_6a3f07c7438420109a6c39351d9758ad\n\n\n\n\n\n2_3cb49005be6d0d7ed322544b87487017\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a6f0>\n\n\n\ninput_dict_eac440c283c1a2924bb89ecb82a35639->2_3cb49005be6d0d7ed322544b87487017\n\n\n\n\n\n2_98818efec695006665bf7df606718768\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x72e615219df0>\n\n\n\ninput_dict_eac440c283c1a2924bb89ecb82a35639->2_98818efec695006665bf7df606718768\n\n\n\n\n\n3_139a6bb55cab1b6d5192deadc359db9a\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521aa50>\n\n\n\ninput_dict_523110518563cadc66dc6aefb11923b8->3_139a6bb55cab1b6d5192deadc359db9a\n\n\n\n\n\n3_9d10a16dc50af676367547dceb0d00b7\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a420>\n\n\n\ninput_dict_523110518563cadc66dc6aefb11923b8->3_9d10a16dc50af676367547dceb0d00b7\n\n\n\n\n\n4_8c659057d9f7b0eb48589698a769c3e3\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521ab10>\n\n\n\ninput_dict_20011bd02b7fe4c3fa64102f5cee0ce1->4_8c659057d9f7b0eb48589698a769c3e3\n\n\n\n\n\n4_2ab7c060eeaf5356ef9c2df021a5051d\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x72e61521a4e0>\n\n\n\ninput_dict_20011bd02b7fe4c3fa64102f5cee0ce1->4_2ab7c060eeaf5356ef9c2df021a5051d\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_26015174619bcf580cff994859503441\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_f2214e5b325d98ae04c3309fcba1e8c7\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_aa3da715c96cd1fef134c69b1da72e42\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_eac440c283c1a2924bb89ecb82a35639\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_523110518563cadc66dc6aefb11923b8\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_20011bd02b7fe4c3fa64102f5cee0ce1\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_f2214e5b325d98ae04c3309fcba1e8c7\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_26015174619bcf580cff994859503441\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_f2214e5b325d98ae04c3309fcba1e8c7\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_aa3da715c96cd1fef134c69b1da72e42\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_eac440c283c1a2924bb89ecb82a35639\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_523110518563cadc66dc6aefb11923b8\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_20011bd02b7fe4c3fa64102f5cee0ce1\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86\n\nstrain_lst=[0.9, 0.9500000000000001, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_d68ff2adbab972340efae09bf2dca5b6\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_6c6a71df64a4775eb5b2b6627712d17c\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_535ac9ea932cf7dd1ea2a048ff184ef9\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_b52cf29645cbdc73b2126ad614a6748d\n\n\n\n\n\nstrain_lst_17d5bcbc7579ab5e0f98577d05347b86->structure_8b6656321f1e07cd30f21bb9d083f734\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_26015174619bcf580cff994859503441\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_aa3da715c96cd1fef134c69b1da72e42\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_eac440c283c1a2924bb89ecb82a35639\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_523110518563cadc66dc6aefb11923b8\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_20011bd02b7fe4c3fa64102f5cee0ce1\n\n\n\n\n\n1_7641bae76279fbdc2c20282392d6c910->volume_lst_30c54979ac77823618f2e69329ff2e23\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_7641bae76279fbdc2c20282392d6c910\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_6a3f07c7438420109a6c39351d9758ad\n\n\n\n\n\n1_6a3f07c7438420109a6c39351d9758ad->energy_lst_7a67d028a4fc3e7b717ea0eabdc78b61\n\n\n\n\n\n2_3cb49005be6d0d7ed322544b87487017->volume_lst_30c54979ac77823618f2e69329ff2e23\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_3cb49005be6d0d7ed322544b87487017\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_98818efec695006665bf7df606718768\n\n\n\n\n\n2_98818efec695006665bf7df606718768->energy_lst_7a67d028a4fc3e7b717ea0eabdc78b61\n\n\n\n\n\n3_139a6bb55cab1b6d5192deadc359db9a->volume_lst_30c54979ac77823618f2e69329ff2e23\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_139a6bb55cab1b6d5192deadc359db9a\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_9d10a16dc50af676367547dceb0d00b7\n\n\n\n\n\n3_9d10a16dc50af676367547dceb0d00b7->energy_lst_7a67d028a4fc3e7b717ea0eabdc78b61\n\n\n\n\n\n4_8c659057d9f7b0eb48589698a769c3e3->volume_lst_30c54979ac77823618f2e69329ff2e23\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_8c659057d9f7b0eb48589698a769c3e3\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_2ab7c060eeaf5356ef9c2df021a5051d\n\n\n\n\n\n4_2ab7c060eeaf5356ef9c2df021a5051d->energy_lst_7a67d028a4fc3e7b717ea0eabdc78b61\n\n\n\n\n\nenergy_lst_7a67d028a4fc3e7b717ea0eabdc78b61->create_function_job_7a6b0a5d731ab6c2313227f09941d617\n\n\n\n\n"},"metadata":{}}],"execution_count":23},{"cell_type":"code","source":"delayed_object_lst[0].input['a'] = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"cell_type":"code","source":"delayed_object_lst[-1].pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job get_bulk_structure_2ca4aeae204ceaa28593c93054b07908 was saved and received the ID: 1\nThe job get_dict_1e47509b88d63a21fd421686554c8f4a was saved and received the ID: 2\nThe job calculate_qe_411e578f2700d09ba2df9a4c682b4582 was saved and received the ID: 3\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02656] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job generate_structures_550221ce8aa27fbdf50dbf13e059ce24 was saved and received the ID: 4\nThe job get_dict_68a4c6ff00bffbd8f249d6022ec8abb2 was saved and received the ID: 5\nThe job calculate_qe_8e11594357cf470d576634593684ae66 was saved and received the ID: 6\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02670] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_64aacd2badb7b0a126a5662dabd1ce0c was saved and received the ID: 7\nThe job calculate_qe_95276d45f24b5e6e645aab15a3b853df was saved and received the ID: 8\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02680] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_7079cab3db71ad163cfc2e39fcf98688 was saved and received the ID: 9\nThe job calculate_qe_3c1dbc8b42e651e328ae99033a426980 was saved and received the ID: 10\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02690] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_0e89a9ec0ef1fd918240aa8d2dc44178 was saved and received the ID: 11\nThe job calculate_qe_2550d6d1ccd7ab3d68c384d3887a3fe3 was saved and received the ID: 12\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02700] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_2ac7f25535cfa6c6850c0f9af197b541 was saved and received the ID: 13\nThe job calculate_qe_10d82eb36a247279f62c63b70e1a55d2 was saved and received the ID: 14\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02710] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_list_e21c87f95f3795055e7214eec6d7c927 was saved and received the ID: 15\nThe job get_list_61df540ee8a34a06782249cbe8834865 was saved and received the ID: 16\nThe job plot_energy_volume_curve_bbe171c30a8de804ba8d4227e65e62bf was saved and received the ID: 17\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":25},{"cell_type":"markdown","source":"## Load Workflow with pyiron_workflow","metadata":{}},{"cell_type":"code","source":"from python_workflow_definition.pyiron_workflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":26},{"cell_type":"code","source":"wf = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":27},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"wf.get_bulk_structure.inputs.a.value = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":28},{"cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":29,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclusterjobflow_qe\n\njobflow_qe: Workflow\n\nclusterjobflow_qeInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_bulk_structure\n\n\n\n\n\n\n\nget_bulk_structure: get_bulk_structure\n\n\nclusterjobflow_qeget_bulk_structureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_bulk_structureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qecalculate_qe_0\n\n\n\n\n\n\n\ncalculate_qe_0: calculate_qe\n\n\nclusterjobflow_qecalculate_qe_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qecalculate_qe_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qegenerate_structures\n\n\n\n\n\n\n\ngenerate_structures: generate_structures\n\n\nclusterjobflow_qegenerate_structuresInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qecalculate_qe_1\n\n\n\n\n\n\n\ncalculate_qe_1: calculate_qe\n\n\nclusterjobflow_qecalculate_qe_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qecalculate_qe_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qecalculate_qe_2\n\n\n\n\n\n\n\ncalculate_qe_2: calculate_qe\n\n\nclusterjobflow_qecalculate_qe_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qecalculate_qe_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qecalculate_qe_3\n\n\n\n\n\n\n\ncalculate_qe_3: calculate_qe\n\n\nclusterjobflow_qecalculate_qe_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qecalculate_qe_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qecalculate_qe_4\n\n\n\n\n\n\n\ncalculate_qe_4: calculate_qe\n\n\nclusterjobflow_qecalculate_qe_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qecalculate_qe_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qecalculate_qe_5\n\n\n\n\n\n\n\ncalculate_qe_5: calculate_qe\n\n\nclusterjobflow_qecalculate_qe_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qecalculate_qe_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeplot_energy_volume_curve\n\n\n\n\n\n\n\nplot_energy_volume_curve: plot_energy_volume_curve\n\n\nclusterjobflow_qeplot_energy_volume_curveInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeplot_energy_volume_curveOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_dict_0\n\n\n\n\n\n\n\nget_dict_0: get_dict\n\n\nclusterjobflow_qeget_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_dict_1\n\n\n\n\n\n\n\nget_dict_1: get_dict\n\n\nclusterjobflow_qeget_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_dict_2\n\n\n\n\n\n\n\nget_dict_2: get_dict\n\n\nclusterjobflow_qeget_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_dict_3\n\n\n\n\n\n\n\nget_dict_3: get_dict\n\n\nclusterjobflow_qeget_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_dict_4\n\n\n\n\n\n\n\nget_dict_4: get_dict\n\n\nclusterjobflow_qeget_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_dict_5\n\n\n\n\n\n\n\nget_dict_5: get_dict\n\n\nclusterjobflow_qeget_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_list_0\n\n\n\n\n\n\n\nget_list_0: get_list\n\n\nclusterjobflow_qeget_list_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_list_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeget_list_1\n\n\n\n\n\n\n\nget_list_1: get_list\n\n\nclusterjobflow_qeget_list_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeget_list_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325\n\n\n\n\n\n\n\ninjected_GetItem_5694145002635648325: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365\n\n\n\n\n\n\n\ninjected_GetItem_m7622113868385731365: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791\n\n\n\n\n\n\n\ninjected_GetItem_m7790390688026446791: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348\n\n\n\n\n\n\n\ninjected_GetItem_5456709381594516348: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486\n\n\n\n\n\n\n\ninjected_GetItem_4383803830111319486: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834\n\n\n\n\n\n\n\ninjected_GetItem_m3166596768653844834: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303\n\n\n\n\n\n\n\ninjected_GetItem_4953877338424805303: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943\n\n\n\n\n\n\n\ninjected_GetItem_5783905775072188943: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119\n\n\n\n\n\n\n\ninjected_GetItem_7844378773575257119: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799\n\n\n\n\n\n\n\ninjected_GetItem_7793121321835543799: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898\n\n\n\n\n\n\n\ninjected_GetItem_m4457864957213635898: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240\n\n\n\n\n\n\n\ninjected_GetItem_m4756093589586022240: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325\n\n\n\n\n\n\n\ninjected_GetItem_m8892127622114284325: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342\n\n\n\n\n\n\n\ninjected_GetItem_7481934391931090342: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338\n\n\n\n\n\n\n\ninjected_GetItem_1478812047534775338: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138\n\n\n\n\n\n\n\ninjected_GetItem_m6581548438773794138: GetItem\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclusterjobflow_qeInputsrun\n\nrun\n\n\n\nclusterjobflow_qeOutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeInputsget_bulk_structure__element\n\nget_bulk_structure__element\n\n\n\nclusterjobflow_qeget_bulk_structureInputselement\n\nelement\n\n\n\nclusterjobflow_qeInputsget_bulk_structure__element->clusterjobflow_qeget_bulk_structureInputselement\n\n\n\n\n\n\nclusterjobflow_qeInputsget_bulk_structure__a\n\nget_bulk_structure__a\n\n\n\nclusterjobflow_qeget_bulk_structureInputsa\n\na\n\n\n\nclusterjobflow_qeInputsget_bulk_structure__a->clusterjobflow_qeget_bulk_structureInputsa\n\n\n\n\n\n\nclusterjobflow_qeInputsget_bulk_structure__cubic\n\nget_bulk_structure__cubic\n\n\n\nclusterjobflow_qeget_bulk_structureInputscubic\n\ncubic\n\n\n\nclusterjobflow_qeInputsget_bulk_structure__cubic->clusterjobflow_qeget_bulk_structureInputscubic\n\n\n\n\n\n\nclusterjobflow_qeInputscalculate_qe_0__working_directory\n\ncalculate_qe_0__working_directory\n\n\n\nclusterjobflow_qecalculate_qe_0Inputsworking_directory\n\nworking_directory\n\n\n\nclusterjobflow_qeInputscalculate_qe_0__working_directory->clusterjobflow_qecalculate_qe_0Inputsworking_directory\n\n\n\n\n\n\nclusterjobflow_qeInputsgenerate_structures__strain_lst\n\ngenerate_structures__strain_lst\n\n\n\nclusterjobflow_qegenerate_structuresInputsstrain_lst\n\nstrain_lst\n\n\n\nclusterjobflow_qeInputsgenerate_structures__strain_lst->clusterjobflow_qegenerate_structuresInputsstrain_lst\n\n\n\n\n\n\nclusterjobflow_qeInputscalculate_qe_1__working_directory\n\ncalculate_qe_1__working_directory\n\n\n\nclusterjobflow_qecalculate_qe_1Inputsworking_directory\n\nworking_directory\n\n\n\nclusterjobflow_qeInputscalculate_qe_1__working_directory->clusterjobflow_qecalculate_qe_1Inputsworking_directory\n\n\n\n\n\n\nclusterjobflow_qeInputscalculate_qe_2__working_directory\n\ncalculate_qe_2__working_directory\n\n\n\nclusterjobflow_qecalculate_qe_2Inputsworking_directory\n\nworking_directory\n\n\n\nclusterjobflow_qeInputscalculate_qe_2__working_directory->clusterjobflow_qecalculate_qe_2Inputsworking_directory\n\n\n\n\n\n\nclusterjobflow_qeInputscalculate_qe_3__working_directory\n\ncalculate_qe_3__working_directory\n\n\n\nclusterjobflow_qecalculate_qe_3Inputsworking_directory\n\nworking_directory\n\n\n\nclusterjobflow_qeInputscalculate_qe_3__working_directory->clusterjobflow_qecalculate_qe_3Inputsworking_directory\n\n\n\n\n\n\nclusterjobflow_qeInputscalculate_qe_4__working_directory\n\ncalculate_qe_4__working_directory\n\n\n\nclusterjobflow_qecalculate_qe_4Inputsworking_directory\n\nworking_directory\n\n\n\nclusterjobflow_qeInputscalculate_qe_4__working_directory->clusterjobflow_qecalculate_qe_4Inputsworking_directory\n\n\n\n\n\n\nclusterjobflow_qeInputscalculate_qe_5__working_directory\n\ncalculate_qe_5__working_directory\n\n\n\nclusterjobflow_qecalculate_qe_5Inputsworking_directory\n\nworking_directory\n\n\n\nclusterjobflow_qeInputscalculate_qe_5__working_directory->clusterjobflow_qecalculate_qe_5Inputsworking_directory\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_0__pseudopotentials\n\nget_dict_0__pseudopotentials\n\n\n\nclusterjobflow_qeget_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterjobflow_qeInputsget_dict_0__pseudopotentials->clusterjobflow_qeget_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_0__kpts\n\nget_dict_0__kpts\n\n\n\nclusterjobflow_qeget_dict_0Inputskpts\n\nkpts\n\n\n\nclusterjobflow_qeInputsget_dict_0__kpts->clusterjobflow_qeget_dict_0Inputskpts\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_0__calculation\n\nget_dict_0__calculation\n\n\n\nclusterjobflow_qeget_dict_0Inputscalculation\n\ncalculation\n\n\n\nclusterjobflow_qeInputsget_dict_0__calculation->clusterjobflow_qeget_dict_0Inputscalculation\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_0__smearing\n\nget_dict_0__smearing\n\n\n\nclusterjobflow_qeget_dict_0Inputssmearing\n\nsmearing\n\n\n\nclusterjobflow_qeInputsget_dict_0__smearing->clusterjobflow_qeget_dict_0Inputssmearing\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_1__pseudopotentials\n\nget_dict_1__pseudopotentials\n\n\n\nclusterjobflow_qeget_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterjobflow_qeInputsget_dict_1__pseudopotentials->clusterjobflow_qeget_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_1__kpts\n\nget_dict_1__kpts\n\n\n\nclusterjobflow_qeget_dict_1Inputskpts\n\nkpts\n\n\n\nclusterjobflow_qeInputsget_dict_1__kpts->clusterjobflow_qeget_dict_1Inputskpts\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_1__calculation\n\nget_dict_1__calculation\n\n\n\nclusterjobflow_qeget_dict_1Inputscalculation\n\ncalculation\n\n\n\nclusterjobflow_qeInputsget_dict_1__calculation->clusterjobflow_qeget_dict_1Inputscalculation\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_1__smearing\n\nget_dict_1__smearing\n\n\n\nclusterjobflow_qeget_dict_1Inputssmearing\n\nsmearing\n\n\n\nclusterjobflow_qeInputsget_dict_1__smearing->clusterjobflow_qeget_dict_1Inputssmearing\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_2__pseudopotentials\n\nget_dict_2__pseudopotentials\n\n\n\nclusterjobflow_qeget_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterjobflow_qeInputsget_dict_2__pseudopotentials->clusterjobflow_qeget_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_2__kpts\n\nget_dict_2__kpts\n\n\n\nclusterjobflow_qeget_dict_2Inputskpts\n\nkpts\n\n\n\nclusterjobflow_qeInputsget_dict_2__kpts->clusterjobflow_qeget_dict_2Inputskpts\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_2__calculation\n\nget_dict_2__calculation\n\n\n\nclusterjobflow_qeget_dict_2Inputscalculation\n\ncalculation\n\n\n\nclusterjobflow_qeInputsget_dict_2__calculation->clusterjobflow_qeget_dict_2Inputscalculation\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_2__smearing\n\nget_dict_2__smearing\n\n\n\nclusterjobflow_qeget_dict_2Inputssmearing\n\nsmearing\n\n\n\nclusterjobflow_qeInputsget_dict_2__smearing->clusterjobflow_qeget_dict_2Inputssmearing\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_3__pseudopotentials\n\nget_dict_3__pseudopotentials\n\n\n\nclusterjobflow_qeget_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterjobflow_qeInputsget_dict_3__pseudopotentials->clusterjobflow_qeget_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_3__kpts\n\nget_dict_3__kpts\n\n\n\nclusterjobflow_qeget_dict_3Inputskpts\n\nkpts\n\n\n\nclusterjobflow_qeInputsget_dict_3__kpts->clusterjobflow_qeget_dict_3Inputskpts\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_3__calculation\n\nget_dict_3__calculation\n\n\n\nclusterjobflow_qeget_dict_3Inputscalculation\n\ncalculation\n\n\n\nclusterjobflow_qeInputsget_dict_3__calculation->clusterjobflow_qeget_dict_3Inputscalculation\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_3__smearing\n\nget_dict_3__smearing\n\n\n\nclusterjobflow_qeget_dict_3Inputssmearing\n\nsmearing\n\n\n\nclusterjobflow_qeInputsget_dict_3__smearing->clusterjobflow_qeget_dict_3Inputssmearing\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_4__pseudopotentials\n\nget_dict_4__pseudopotentials\n\n\n\nclusterjobflow_qeget_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterjobflow_qeInputsget_dict_4__pseudopotentials->clusterjobflow_qeget_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_4__kpts\n\nget_dict_4__kpts\n\n\n\nclusterjobflow_qeget_dict_4Inputskpts\n\nkpts\n\n\n\nclusterjobflow_qeInputsget_dict_4__kpts->clusterjobflow_qeget_dict_4Inputskpts\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_4__calculation\n\nget_dict_4__calculation\n\n\n\nclusterjobflow_qeget_dict_4Inputscalculation\n\ncalculation\n\n\n\nclusterjobflow_qeInputsget_dict_4__calculation->clusterjobflow_qeget_dict_4Inputscalculation\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_4__smearing\n\nget_dict_4__smearing\n\n\n\nclusterjobflow_qeget_dict_4Inputssmearing\n\nsmearing\n\n\n\nclusterjobflow_qeInputsget_dict_4__smearing->clusterjobflow_qeget_dict_4Inputssmearing\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_5__pseudopotentials\n\nget_dict_5__pseudopotentials\n\n\n\nclusterjobflow_qeget_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterjobflow_qeInputsget_dict_5__pseudopotentials->clusterjobflow_qeget_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_5__kpts\n\nget_dict_5__kpts\n\n\n\nclusterjobflow_qeget_dict_5Inputskpts\n\nkpts\n\n\n\nclusterjobflow_qeInputsget_dict_5__kpts->clusterjobflow_qeget_dict_5Inputskpts\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_5__calculation\n\nget_dict_5__calculation\n\n\n\nclusterjobflow_qeget_dict_5Inputscalculation\n\ncalculation\n\n\n\nclusterjobflow_qeInputsget_dict_5__calculation->clusterjobflow_qeget_dict_5Inputscalculation\n\n\n\n\n\n\nclusterjobflow_qeInputsget_dict_5__smearing\n\nget_dict_5__smearing\n\n\n\nclusterjobflow_qeget_dict_5Inputssmearing\n\nsmearing\n\n\n\nclusterjobflow_qeInputsget_dict_5__smearing->clusterjobflow_qeget_dict_5Inputssmearing\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_5694145002635648325__item\n\ninjected_GetItem_5694145002635648325__item\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_5694145002635648325__item->clusterjobflow_qeinjected_GetItem_5694145002635648325Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m7622113868385731365__item\n\ninjected_GetItem_m7622113868385731365__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m7622113868385731365__item->clusterjobflow_qeinjected_GetItem_m7622113868385731365Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m7790390688026446791__item\n\ninjected_GetItem_m7790390688026446791__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m7790390688026446791__item->clusterjobflow_qeinjected_GetItem_m7790390688026446791Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_5456709381594516348__item\n\ninjected_GetItem_5456709381594516348__item\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_5456709381594516348__item->clusterjobflow_qeinjected_GetItem_5456709381594516348Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_4383803830111319486__item\n\ninjected_GetItem_4383803830111319486__item\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_4383803830111319486__item->clusterjobflow_qeinjected_GetItem_4383803830111319486Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m3166596768653844834__item\n\ninjected_GetItem_m3166596768653844834__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m3166596768653844834__item->clusterjobflow_qeinjected_GetItem_m3166596768653844834Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_4953877338424805303__item\n\ninjected_GetItem_4953877338424805303__item\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_4953877338424805303__item->clusterjobflow_qeinjected_GetItem_4953877338424805303Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_5783905775072188943__item\n\ninjected_GetItem_5783905775072188943__item\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_5783905775072188943__item->clusterjobflow_qeinjected_GetItem_5783905775072188943Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_7844378773575257119__item\n\ninjected_GetItem_7844378773575257119__item\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_7844378773575257119__item->clusterjobflow_qeinjected_GetItem_7844378773575257119Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_7793121321835543799__item\n\ninjected_GetItem_7793121321835543799__item\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_7793121321835543799__item->clusterjobflow_qeinjected_GetItem_7793121321835543799Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m4457864957213635898__item\n\ninjected_GetItem_m4457864957213635898__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m4457864957213635898__item->clusterjobflow_qeinjected_GetItem_m4457864957213635898Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m4756093589586022240__item\n\ninjected_GetItem_m4756093589586022240__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m4756093589586022240__item->clusterjobflow_qeinjected_GetItem_m4756093589586022240Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m8892127622114284325__item\n\ninjected_GetItem_m8892127622114284325__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m8892127622114284325__item->clusterjobflow_qeinjected_GetItem_m8892127622114284325Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_7481934391931090342__item\n\ninjected_GetItem_7481934391931090342__item\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_7481934391931090342__item->clusterjobflow_qeinjected_GetItem_7481934391931090342Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_1478812047534775338__item\n\ninjected_GetItem_1478812047534775338__item\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_1478812047534775338__item->clusterjobflow_qeinjected_GetItem_1478812047534775338Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m6581548438773794138__item\n\ninjected_GetItem_m6581548438773794138__item\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138Inputsitem\n\nitem\n\n\n\nclusterjobflow_qeInputsinjected_GetItem_m6581548438773794138__item->clusterjobflow_qeinjected_GetItem_m6581548438773794138Inputsitem\n\n\n\n\n\n\nclusterjobflow_qeOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n\nplot_energy_volume_curve__plot_energy_volume_curve\n\n\n\nclusterjobflow_qeget_bulk_structureInputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_bulk_structureOutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_bulk_structureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_bulk_structureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_bulk_structureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclusterjobflow_qeget_dict_0Inputsstructure\n\nstructure\n\n\n\nclusterjobflow_qeget_bulk_structureOutputsWithInjectionget_bulk_structure->clusterjobflow_qeget_dict_0Inputsstructure\n\n\n\n\n\n\nclusterjobflow_qecalculate_qe_0Inputsrun\n\nrun\n\n\n\nclusterjobflow_qecalculate_qe_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qecalculate_qe_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qecalculate_qe_0Inputsinput_dict\n\ninput_dict\n\n\n\nclusterjobflow_qecalculate_qe_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0\n\ncalculate_qe_0\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0->clusterjobflow_qeinjected_GetItem_5694145002635648325Inputsobj\n\n\n\n\n\n\nclusterjobflow_qegenerate_structuresInputsrun\n\nrun\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qegenerate_structuresInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qegenerate_structuresInputsstructure\n\nstructure\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365Inputsobj\n\nobj\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterjobflow_qeinjected_GetItem_m7622113868385731365Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791Inputsobj\n\nobj\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterjobflow_qeinjected_GetItem_m7790390688026446791Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348Inputsobj\n\nobj\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterjobflow_qeinjected_GetItem_5456709381594516348Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486Inputsobj\n\nobj\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterjobflow_qeinjected_GetItem_4383803830111319486Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834Inputsobj\n\nobj\n\n\n\nclusterjobflow_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterjobflow_qeinjected_GetItem_m3166596768653844834Inputsobj\n\n\n\n\n\n\nclusterjobflow_qecalculate_qe_1Inputsrun\n\nrun\n\n\n\nclusterjobflow_qecalculate_qe_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qecalculate_qe_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qecalculate_qe_1Inputsinput_dict\n\ninput_dict\n\n\n\nclusterjobflow_qecalculate_qe_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1\n\ncalculate_qe_1\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusterjobflow_qeinjected_GetItem_4953877338424805303Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusterjobflow_qeinjected_GetItem_m4756093589586022240Inputsobj\n\n\n\n\n\n\nclusterjobflow_qecalculate_qe_2Inputsrun\n\nrun\n\n\n\nclusterjobflow_qecalculate_qe_2OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qecalculate_qe_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qecalculate_qe_2Inputsinput_dict\n\ninput_dict\n\n\n\nclusterjobflow_qecalculate_qe_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2\n\ncalculate_qe_2\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusterjobflow_qeinjected_GetItem_5783905775072188943Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusterjobflow_qeinjected_GetItem_m8892127622114284325Inputsobj\n\n\n\n\n\n\nclusterjobflow_qecalculate_qe_3Inputsrun\n\nrun\n\n\n\nclusterjobflow_qecalculate_qe_3OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qecalculate_qe_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qecalculate_qe_3Inputsinput_dict\n\ninput_dict\n\n\n\nclusterjobflow_qecalculate_qe_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3\n\ncalculate_qe_3\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusterjobflow_qeinjected_GetItem_7844378773575257119Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusterjobflow_qeinjected_GetItem_7481934391931090342Inputsobj\n\n\n\n\n\n\nclusterjobflow_qecalculate_qe_4Inputsrun\n\nrun\n\n\n\nclusterjobflow_qecalculate_qe_4OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qecalculate_qe_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qecalculate_qe_4Inputsinput_dict\n\ninput_dict\n\n\n\nclusterjobflow_qecalculate_qe_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4\n\ncalculate_qe_4\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusterjobflow_qeinjected_GetItem_7793121321835543799Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusterjobflow_qeinjected_GetItem_1478812047534775338Inputsobj\n\n\n\n\n\n\nclusterjobflow_qecalculate_qe_5Inputsrun\n\nrun\n\n\n\nclusterjobflow_qecalculate_qe_5OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qecalculate_qe_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qecalculate_qe_5Inputsinput_dict\n\ninput_dict\n\n\n\nclusterjobflow_qecalculate_qe_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5\n\ncalculate_qe_5\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusterjobflow_qeinjected_GetItem_m4457864957213635898Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138Inputsobj\n\nobj\n\n\n\nclusterjobflow_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusterjobflow_qeinjected_GetItem_m6581548438773794138Inputsobj\n\n\n\n\n\n\nclusterjobflow_qeplot_energy_volume_curveInputsrun\n\nrun\n\n\n\nclusterjobflow_qeplot_energy_volume_curveOutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeplot_energy_volume_curveInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeplot_energy_volume_curveInputsvolume_lst\n\nvolume_lst\n\n\n\nclusterjobflow_qeplot_energy_volume_curveInputsenergy_lst\n\nenergy_lst\n\n\n\nclusterjobflow_qeplot_energy_volume_curveOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclusterjobflow_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve->clusterjobflow_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n\n\n\n\n\n\nclusterjobflow_qeget_dict_0Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_dict_0OutputsWithInjectionget_dict_0\n\nget_dict_0\n\n\n\nclusterjobflow_qeget_dict_0OutputsWithInjectionget_dict_0->clusterjobflow_qecalculate_qe_0Inputsinput_dict\n\n\n\n\n\n\nclusterjobflow_qeget_dict_1Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_dict_1Inputsstructure\n\nstructure\n\n\n\nclusterjobflow_qeget_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_dict_1OutputsWithInjectionget_dict_1\n\nget_dict_1\n\n\n\nclusterjobflow_qeget_dict_1OutputsWithInjectionget_dict_1->clusterjobflow_qecalculate_qe_1Inputsinput_dict\n\n\n\n\n\n\nclusterjobflow_qeget_dict_2Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_dict_2Inputsstructure\n\nstructure\n\n\n\nclusterjobflow_qeget_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_dict_2OutputsWithInjectionget_dict_2\n\nget_dict_2\n\n\n\nclusterjobflow_qeget_dict_2OutputsWithInjectionget_dict_2->clusterjobflow_qecalculate_qe_2Inputsinput_dict\n\n\n\n\n\n\nclusterjobflow_qeget_dict_3Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_dict_3Inputsstructure\n\nstructure\n\n\n\nclusterjobflow_qeget_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_dict_3OutputsWithInjectionget_dict_3\n\nget_dict_3\n\n\n\nclusterjobflow_qeget_dict_3OutputsWithInjectionget_dict_3->clusterjobflow_qecalculate_qe_3Inputsinput_dict\n\n\n\n\n\n\nclusterjobflow_qeget_dict_4Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_dict_4Inputsstructure\n\nstructure\n\n\n\nclusterjobflow_qeget_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_dict_4OutputsWithInjectionget_dict_4\n\nget_dict_4\n\n\n\nclusterjobflow_qeget_dict_4OutputsWithInjectionget_dict_4->clusterjobflow_qecalculate_qe_4Inputsinput_dict\n\n\n\n\n\n\nclusterjobflow_qeget_dict_5Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_dict_5Inputsstructure\n\nstructure\n\n\n\nclusterjobflow_qeget_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_dict_5OutputsWithInjectionget_dict_5\n\nget_dict_5\n\n\n\nclusterjobflow_qeget_dict_5OutputsWithInjectionget_dict_5->clusterjobflow_qecalculate_qe_5Inputsinput_dict\n\n\n\n\n\n\nclusterjobflow_qeget_list_0Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_list_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_list_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_list_0Inputss_0\n\ns_0\n\n\n\nclusterjobflow_qeget_list_0Inputss_1\n\ns_1\n\n\n\nclusterjobflow_qeget_list_0Inputss_2\n\ns_2\n\n\n\nclusterjobflow_qeget_list_0Inputss_3\n\ns_3\n\n\n\nclusterjobflow_qeget_list_0Inputss_4\n\ns_4\n\n\n\nclusterjobflow_qeget_list_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_list_0OutputsWithInjectionget_list_0\n\nget_list_0\n\n\n\nclusterjobflow_qeget_list_0OutputsWithInjectionget_list_0->clusterjobflow_qeplot_energy_volume_curveInputsvolume_lst\n\n\n\n\n\n\nclusterjobflow_qeget_list_1Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeget_list_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeget_list_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeget_list_1Inputss_0\n\ns_0\n\n\n\nclusterjobflow_qeget_list_1Inputss_1\n\ns_1\n\n\n\nclusterjobflow_qeget_list_1Inputss_2\n\ns_2\n\n\n\nclusterjobflow_qeget_list_1Inputss_3\n\ns_3\n\n\n\nclusterjobflow_qeget_list_1Inputss_4\n\ns_4\n\n\n\nclusterjobflow_qeget_list_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeget_list_1OutputsWithInjectionget_list_1\n\nget_list_1\n\n\n\nclusterjobflow_qeget_list_1OutputsWithInjectionget_list_1->clusterjobflow_qeplot_energy_volume_curveInputsenergy_lst\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_5694145002635648325OutputsWithInjectiongetitem->clusterjobflow_qegenerate_structuresInputsstructure\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m7622113868385731365OutputsWithInjectiongetitem->clusterjobflow_qeget_dict_1Inputsstructure\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m7790390688026446791OutputsWithInjectiongetitem->clusterjobflow_qeget_dict_2Inputsstructure\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_5456709381594516348OutputsWithInjectiongetitem->clusterjobflow_qeget_dict_3Inputsstructure\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_4383803830111319486OutputsWithInjectiongetitem->clusterjobflow_qeget_dict_4Inputsstructure\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m3166596768653844834OutputsWithInjectiongetitem->clusterjobflow_qeget_dict_5Inputsstructure\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_4953877338424805303OutputsWithInjectiongetitem->clusterjobflow_qeget_list_0Inputss_0\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_5783905775072188943OutputsWithInjectiongetitem->clusterjobflow_qeget_list_0Inputss_1\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_7844378773575257119OutputsWithInjectiongetitem->clusterjobflow_qeget_list_0Inputss_2\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_7793121321835543799OutputsWithInjectiongetitem->clusterjobflow_qeget_list_0Inputss_3\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m4457864957213635898OutputsWithInjectiongetitem->clusterjobflow_qeget_list_0Inputss_4\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m4756093589586022240OutputsWithInjectiongetitem->clusterjobflow_qeget_list_1Inputss_0\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m8892127622114284325OutputsWithInjectiongetitem->clusterjobflow_qeget_list_1Inputss_1\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_7481934391931090342OutputsWithInjectiongetitem->clusterjobflow_qeget_list_1Inputss_2\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_1478812047534775338OutputsWithInjectiongetitem->clusterjobflow_qeget_list_1Inputss_3\n\n\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138Inputsrun\n\nrun\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138OutputsWithInjectionran\n\nran\n\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterjobflow_qeinjected_GetItem_m6581548438773794138OutputsWithInjectiongetitem->clusterjobflow_qeget_list_1Inputss_4\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":29},{"cell_type":"code","source":"wf.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:02722] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02738] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02748] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02758] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02768] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02778] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"execution_count":30,"output_type":"execute_result","data":{"text/plain":"{'plot_energy_volume_curve__plot_energy_volume_curve': None}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":30}]} \ No newline at end of file diff --git a/example_workflows/quantum_espresso/pyiron_base.ipynb b/example_workflows/quantum_espresso/pyiron_base.ipynb index e524f6c..5e7da33 100644 --- a/example_workflows/quantum_espresso/pyiron_base.ipynb +++ b/example_workflows/quantum_espresso/pyiron_base.ipynb @@ -1,425 +1 @@ -{ - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.8" - } - }, - "nbformat_minor": 5, - "nbformat": 4, - "cells": [ - { - "id": "be2d61b0-0d47-4349-b4b0-1b767c961644", - "cell_type": "markdown", - "source": "# pyiron", - "metadata": {} - }, - { - "id": "0bad2a57-1bd2-4837-94fe-f8c60e211fae", - "cell_type": "markdown", - "source": "## Define workflow with pyiron_base", - "metadata": {} - }, - { - "id": "a2ed2608-9e1b-4a81-81cb-5079573ea2d1", - "cell_type": "code", - "source": "import numpy as np\nfrom pyiron_base import job\nfrom python_workflow_definition.pyiron_base import write_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 1 - }, - { - "id": "ea65c6275f956bdb", - "cell_type": "code", - "source": [ - "from workflow import (\n", - " calculate_qe as _calculate_qe, \n", - " generate_structures as _generate_structures, \n", - " get_bulk_structure as _get_bulk_structure, \n", - " plot_energy_volume_curve as _plot_energy_volume_curve,\n", - ")" - ], - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 2 - }, - { - "id": "686a6a5f54a0cef5", - "cell_type": "code", - "source": "workflow_json_filename = \"pyiron_base_qe.json\"", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 3 - }, - { - "id": "208ddfb8-dfda-4227-aa1f-3dc29e34ea82", - "cell_type": "code", - "source": "calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 4 - }, - { - "id": "5071d3a0-7c1f-44c5-85e0-dede1566c10c", - "cell_type": "code", - "source": "pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 5 - }, - { - "id": "1f1cb12f-4001-478d-8ea0-b369f4f2981a", - "cell_type": "code", - "source": "structure = get_bulk_structure(\n element=\"Al\",\n a=4.04,\n cubic=True,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 6 - }, - { - "id": "4140f07b-af54-41ef-be22-df6b5b53bf95", - "cell_type": "code", - "source": "calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 7 - }, - { - "id": "3c4dae11-8750-42d5-807c-cd19f2b65706", - "cell_type": "code", - "source": "number_of_strains = 5\nstructure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n list_length=number_of_strains,\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 8 - }, - { - "id": "fdf3b62d-6cce-4312-8a5b-057224e36aca", - "cell_type": "code", - "source": "job_strain_lst = []\nfor i, structure_strain in enumerate(structure_lst):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": structure_strain,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n )\n job_strain_lst.append(calc_strain)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 9 - }, - { - "id": "b2823306-0a8a-4ae6-bb1f-104e90e2fe41", - "cell_type": "code", - "source": "plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 10 - }, - { - "id": "52646121-335f-48e6-bd5e-a1d69d00e8bc", - "cell_type": "code", - "source": "write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 11 - }, - { - "id": "72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee", - "cell_type": "code", - "source": "!cat {workflow_json_filename}", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "{\n \"version\": \"0.1.0\",\n \"nodes\": [\n {\n \"id\": 0,\n \"type\": \"function\",\n \"value\": \"workflow.plot_energy_volume_curve\"\n },\n {\n \"id\": 1,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 2,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 3,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 4,\n \"type\": \"function\",\n \"value\": \"workflow.generate_structures\"\n },\n {\n \"id\": 5,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 6,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 7,\n \"type\": \"function\",\n \"value\": \"workflow.get_bulk_structure\"\n },\n {\n \"id\": 8,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 9,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 10,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 11,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 12,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 13,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 14,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 15,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 16,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"strain_0\"\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"mini\"\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 20,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 21,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 23,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 24,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 25,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 26,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.9500000000000001,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 27,\n \"type\": \"input\",\n \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 28,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\n },\n {\n \"id\": 29,\n \"type\": \"input\",\n \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\n },\n {\n \"id\": 30,\n \"type\": \"input\",\n \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\n },\n {\n \"id\": 31,\n \"type\": \"input\",\n \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\n },\n {\n \"id\": 32,\n \"type\": \"output\",\n \"name\": \"result\"\n }\n ],\n \"edges\": [\n {\n \"target\": 0,\n \"targetPort\": \"volume_lst\",\n \"source\": 1,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"0\",\n \"source\": 2,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 2,\n \"targetPort\": \"working_directory\",\n \"source\": 17,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"input_dict\",\n \"source\": 3,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_0\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"structure\",\n \"source\": 5,\n \"sourcePort\": \"structure\"\n },\n {\n \"target\": 5,\n \"targetPort\": \"working_directory\",\n \"source\": 18,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"input_dict\",\n \"source\": 6,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"structure\",\n \"source\": 7,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"element\",\n \"source\": 19,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"a\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"cubic\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"calculation\",\n \"source\": 24,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"strain_lst\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"1\",\n \"source\": 8,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 8,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"input_dict\",\n \"source\": 9,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_1\"\n },\n {\n \"target\": 9,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"2\",\n \"source\": 10,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 10,\n \"targetPort\": \"working_directory\",\n \"source\": 29,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"input_dict\",\n \"source\": 11,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_2\"\n },\n {\n \"target\": 11,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"3\",\n \"source\": 12,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 12,\n \"targetPort\": \"working_directory\",\n \"source\": 30,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"input_dict\",\n \"source\": 13,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_3\"\n },\n {\n \"target\": 13,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"4\",\n \"source\": 14,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"working_directory\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"input_dict\",\n \"source\": 15,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_4\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"energy_lst\",\n \"source\": 16,\n \"sourcePort\": null\n },\n {\n \"target\": 16,\n \"targetPort\": \"0\",\n \"source\": 2,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"1\",\n \"source\": 8,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"2\",\n \"source\": 10,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"3\",\n \"source\": 12,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"4\",\n \"source\": 14,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 0,\n \"sourcePort\": null\n }\n ]\n}" - } - ], - "execution_count": 12 - }, - { - "id": "7d75a2f6-6fad-49c8-bd29-37cca1b84441", - "cell_type": "markdown", - "source": "## Load Workflow with aiida", - "metadata": {} - }, - { - "id": "28760464-2a2c-40c2-9451-20713da2ba2c", - "cell_type": "code", - "source": "from aiida import orm, load_profile\n\nload_profile()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "execution_count": 13, - "output_type": "execute_result", - "data": { - "text/plain": "Profile" - }, - "metadata": {} - } - ], - "execution_count": 13 - }, - { - "id": "a442fe46-057c-469b-a5e0-173ed4829dfb", - "cell_type": "code", - "source": "from python_workflow_definition.aiida import load_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 14 - }, - { - "id": "32fcd4b2-4f0a-442d-b098-827672823796", - "cell_type": "code", - "source": "wg = load_workflow_json(file_name=workflow_json_filename)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 15 - }, - { - "id": "d81a4fb5-a674-41a9-ac19-24c56f952468", - "cell_type": "code", - "source": "wg.nodes.get_bulk_structure8.inputs.a.value = orm.Float(4.05)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 16 - }, - { - "id": "a80b59bd-fe30-49c6-92ca-35ef2d77a6fb", - "cell_type": "code", - "source": "wg.run()", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": "05/24/2025 06:00:13 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure8\n05/24/2025 06:00:13 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_bulk_structure8, type: PyFunction, finished.\n05/24/2025 06:00:13 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict7\n05/24/2025 06:00:14 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_dict7, type: PyFunction, finished.\n05/24/2025 06:00:14 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe6\n[jupyter-pythonworkflow-fl--x---d7231032:10471] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 06:01:04 AM <10378> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n05/24/2025 06:01:04 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: calculate_qe6, type: PyFunction, finished.\n05/24/2025 06:01:04 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures5\n05/24/2025 06:01:05 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: generate_structures5, type: PyFunction, finished.\n05/24/2025 06:01:05 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict4,get_dict10,get_dict12,get_dict14,get_dict16\n05/24/2025 06:01:05 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_dict4, type: PyFunction, finished.\n05/24/2025 06:01:06 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe3,get_dict10,get_dict12,get_dict14,get_dict16\n[jupyter-pythonworkflow-fl--x---d7231032:10486] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 06:01:16 AM <10378> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 06:01:16 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: calculate_qe3, type: PyFunction, finished.\n05/24/2025 06:01:16 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict10,get_dict12,get_dict14,get_dict16\n05/24/2025 06:01:18 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_dict10, type: PyFunction, finished.\n05/24/2025 06:01:18 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe9,get_dict12,get_dict14,get_dict16\n[jupyter-pythonworkflow-fl--x---d7231032:10497] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 06:01:30 AM <10378> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 06:01:30 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: calculate_qe9, type: PyFunction, finished.\n05/24/2025 06:01:30 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict12,get_dict14,get_dict16\n05/24/2025 06:01:31 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_dict12, type: PyFunction, finished.\n05/24/2025 06:01:31 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe11,get_dict14,get_dict16\n[jupyter-pythonworkflow-fl--x---d7231032:10508] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 06:01:43 AM <10378> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 06:01:43 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: calculate_qe11, type: PyFunction, finished.\n05/24/2025 06:01:43 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict14,get_dict16\n05/24/2025 06:01:44 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_dict14, type: PyFunction, finished.\n05/24/2025 06:01:44 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe13,get_dict16\n[jupyter-pythonworkflow-fl--x---d7231032:10519] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 06:01:57 AM <10378> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 06:01:58 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: calculate_qe13, type: PyFunction, finished.\n05/24/2025 06:01:58 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict16\n05/24/2025 06:01:58 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_dict16, type: PyFunction, finished.\n05/24/2025 06:01:58 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe15\n[jupyter-pythonworkflow-fl--x---d7231032:10531] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/24/2025 06:02:13 AM <10378> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/24/2025 06:02:13 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: calculate_qe15, type: PyFunction, finished.\n05/24/2025 06:02:13 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list2,get_list17\n05/24/2025 06:02:13 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_list2, type: PyFunction, finished.\n05/24/2025 06:02:14 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list17\n05/24/2025 06:02:14 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: get_list17, type: PyFunction, finished.\n05/24/2025 06:02:14 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve1\n05/24/2025 06:02:15 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve1, type: PyFunction, finished.\n05/24/2025 06:02:15 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n05/24/2025 06:02:15 AM <10378> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [249|WorkGraphEngine|finalize]: Finalize workgraph.\n" - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXuY2bHERERaZBUluowbw9XbugZDMCcVftMTiMiItIwqSzVcbf3CwNgWcJhko/mmhtGRESkAVJZquPa+DVmYAc/DAPmrk42O46IiEiDo7LkACZd1hqABRsPkZNfZHIaERGRhkVlyQFc0c6XS/y8OFlQzIKNh8yOIyIi0qCoLDkAi8XCxNPnLn28OhmbTcsIiIiI2IvKkoO4rkcwTTxcSD6Wx/KEw2bHERERaTBUlhyEl7sLN10aAuhEbxEREXtSWXIgE6LCcLLA70lHScrIMTuOiIhIg6Cy5EBCmnkyKCIAgDkaXRIREbELlSUHU7aMwMJNh8jMKzQ5jYiISP2nsuRg+rZpRnhgE/KLbHy1/qDZcUREROo9lSUHY7FYuOP06NIna/ZTXGIzOZGIiEj9prLkgEZ3C6KppyspmadYsjPD7DgiIiL1msqSA/JwdeaWPq0AmLMq2dwwIiIi9ZzKkoOK7huGi5OFdcnH2Z6SZXYcERGRektlyUEFWj0Y3rkFoEUqRUREapPKkgMru1/c4rhUjp4sMDeMiIhIPaWy5MB6tPKha7CVwhIbX6w9YHYcERGRekllyYFZLJbyRSo/i91PYbGWERAREalpKksO7prOLfBr4s7hnAJ+2p5mdhwREZF6R2XJwbm5OHFbn1AAPtIyAiIiIjVOZakeuKVPK9ycndhyMJPNB06YHUdERKReUVmqB/yauDOqaxCgRSpFRERqmspSPTHpsjAAftyWRnpWvrlhRERE6hGVpXqiU0srl4Y1pdhm8FnsfrPjiIiI1BsqS/VI2TICX6w7QH5RiclpRERE6geVpXpkSGQALX0acTy3kMVbUs2OIyIiUi+oLNUjLs5OREeVLiMwZ1UyhmGYnEhERMTxqSzVMzddGoKHqxPxadms3Xfc7DgiIiIOT2WpnvHxdGNs92AA5moZARERkYumslQPlS0j8MvOdA4ezzM3jIiIiINTWaqH2gc0oX9bX2wGfKplBERERC6KylI9NbFfGADz1h0gr7DY3DAiIiIOTGWpnroq3J/Q5p5k5xezcFOK2XFEREQclspSPeXkZOH2qDAA5q7WMgIiIiLVpbJUj43rFYyXmzO7D5/k96SjZscRERFxSCpL9VgTD1fG9QoBYM6qfSanERERcUwqS/Xc7f3CsFhgecIR9h3NNTuOiIiIw1FZquda+3pxZQd/AD5enWxuGBEREQekstQAlC0jMH/DQbLzi8wNIyIi4mBUlhqAy9v50ta/MbmFJczfcMjsOCIiIg5FZakBsFgs5aNLH69OpsSmZQRERETOl8pSA3Fdj5Z4e7hw4Hgey3cdNjuOiIiIw1BZaiA83Vy4qXcrAOas1jICIiIi50tlqQGZEBWKkwVW7T5GYkaO2XFEREQcgsOUpRMnThAdHY3VasVqtRIdHU1mZmaV+5w8eZIpU6YQHBxMo0aNiIiI4N133z1juzVr1nDVVVfh5eWFj48PAwcO5NSpU7X0TswT3NSTIZGBAMxZlWxuGBEREQfhMGXplltuIS4ujpiYGGJiYoiLiyM6OrrKfaZOnUpMTAyfffYZ8fHxTJ06lXvvvZdvv/22fJs1a9YwbNgwhgwZwrp161i/fj1TpkzByclhDs0FmXRZGACLNh8iM6/Q3DAiIiIOwGI4wB1W4+PjiYyMJDY2lj59+gAQGxtLVFQUu3btokOHDpXu16lTJ8aPH8+TTz5Z/lzPnj255pprePbZZwHo27cvgwcPLv+6OrKzs7FarWRlZeHt7V3t17EHwzC45s2VxKdl8+iwcP468BKzI4mIiJjifP9+O8TwyZo1a7BareVFCUpLjtVqZfXq1Wfdr3///ixevJiUlBQMw2D58uUkJiYydOhQAA4fPszatWvx9/enX79+BAQEMGDAAFauXFnr78ksFoulfHTp0zXJFJfYzA0kIiJSxzlEWUpPT8ff3/+M5/39/UlPTz/rfm+++SaRkZEEBwfj5ubGsGHDeOedd+jfvz8Ae/fuBWDGjBlMnjyZmJgYevTowdVXX01SUtJZX7egoIDs7OwKD0cyumsQzb3cSM3K55edGWbHERERqdNMLUszZszAYrFU+diwYQNQOiLyZ4ZhVPp8mTfffJPY2FgWL17Mxo0befXVV/nb3/7G0qVLAbDZSkdV7r77biZNmkT37t15/fXX6dChAx999NFZX3fmzJnlJ5pbrVZCQkIu5jDYnYerM7f0Ob2MwCotIyAiIlIVFzN/+JQpU7jpppuq3CYsLIytW7eSkXHmCMiRI0cICAiodL9Tp07x+OOPs2jRIkaMGAFAly5diIuL45VXXmHQoEG0aNECgMjIyAr7RkREcODAgbNmmj59Og8++GD519nZ2Q5XmG7rG8q7K/awPvkE21Oy6NTSanYkERGROsnUsuTr64uvr+85t4uKiiIrK4t169bRu3dvANauXUtWVhb9+vWrdJ+ioiKKiorOuKrN2dm5fEQpLCyMoKAgEhISKmyTmJjI8OHDz5rH3d0dd3f3c+auywK8PbimcwsWb0llzqpkXr2xq9mRRERE6iSHOGcpIiKCYcOGMXnyZGJjY4mNjWXy5MmMHDmywpVw4eHhLFq0CABvb28GDBjAtGnTWLFiBfv27WPu3Ll88sknjB07Fiid2ps2bRpvvvkmCxYsYPfu3Tz55JPs2rWLO++805T3ak9lJ3p/tyWVIzkF5oYRERGpo0wdWboQn3/+Offddx9DhgwBYPTo0cyePbvCNgkJCWRlZZV/PW/ePKZPn86tt97K8ePHCQ0N5fnnn+eee+4p3+aBBx4gPz+fqVOncvz4cbp27cqSJUu45JL6f0l991ZN6RbiQ9zBTL5Ye4D7B7UzO5KIiEid4xDrLNV1jrTO0p99G5fC/fPi8GvizqpHr8LNxSEGG0VERC5avVpnSWrP8E4t8G/izpGcAn7clmZ2HBERkTpHZamBc3NxIrpvKFC6jIAGGkVERCpSWRJu6dMKNxcnthzKYtOBTLPjiIiI1CkqS0Lzxu6M7hoEaJFKERGRP1NZEuB/ywj8tD2dtKxT5oYRERGpQ1SWBICOQVZ6t25Gic3gs9j9ZscRERGpM1SWpNwdp0eXvlh7gPyiEnPDiIiI1BEqS1JuUEQALX0acSKviG/jUsyOIyIiUieoLEk5F2cnJkSVLSOQrGUEREREUFmSP7np0lY0cnVmV3oOsXuPmx1HRETEdCpLUoHV05XrerQEtIyAiIgIqCxJJSb2CwNgaXwGB4/nmRtGRETEZCpLcoZ2AU24vJ0vNgM+WZNsdhwRERFTqSxJpcoWqZy3/iC5BcXmhhERETGRypJUamB7f8Kae5KTX8zCTYfMjiMiImIalSWplJOThdtPn7s0d3UyNpuWERARkYZJZUnO6oaewTR2d2HPkVx+333U7DgiIiKmUFmSs2ri4cq4XsGAlhEQEZGGS2VJqnR7VBgWC6xIOMKeIyfNjiMiImJ3KktSpTBfL67q4A/AJ6uTzQ0jIiJiApUlOadJl7UGYMHGQ2TnF5mcRkRExL5UluScLmvbnHb+jcktLOE/6w+aHUdERMSuVJbknCwWCxNPL1L58ZpkSrSMgIiINCAqS3JerusejLWRKwePn2LZrsNmxxEREbEblSU5L43cnLmpdwigZQRERKRhUVmS8zYhKgwnC6zec4xd6dlmxxEREbELlSU5by19GjG0YyAAc1clmxtGRETETlSW5IKULSOwaHMKJ3ILTU4jIiJS+1SW5IJcGtaUjkHeFBTb+HL9AbPjiIiI1DqVJbkgFoulfHTp0zX7KSqxmZxIRESkdqksyQUb2aUFzb3cSMvK5+cd6WbHERERqVUqS3LBPFydubVPK0AneouISP2nsiTVclvfUFydLWzYf4Jth7LMjiMiIlJrVJakWvy9PRjRuQWgRSpFRKR+U1mSapt4+kTv77amcjgn3+Q0IiIitUNlSaqtW4gP3Vv5UFRi8MVaLSMgIiL1k8qSXJSyZQQ+iz1AQXGJyWlERERqnsqSXJThnQIJ8Hbn6MkCftiaZnYcERGRGqeyJBfF1dmJ6L6hAMxZlYxhGCYnEhERqVkqS3LRbu7dCjcXJ7alZLHpwAmz44iIiNQolSW5aM0buzOmWxAAH2mRShERqWdUlqRGTOxXeqJ3zPZ0UjNPmZxGRESk5qgsSY2IDPKmT+tmlNgMPovdb3YcERGRGqOyJDWmbBmBL9cdIL9IywiIiMjFO3g8jzmr9mGzmXcBkcqS1JjBkQEEN23EibwivtmcYnYcERFxcDabwbQFW/jHdzt54cd403KoLEmNcXaycHtUGKBlBERE5OJ9tnY/sXuP08jVmeioUNNyqCxJjbqxVwiNXJ1JyMhhzd5jZscREREHdeBYHjN/3AXAY8PDCW3uZVoWlSWpUVZPV67v2RIoHV0SERG5UDabwcMLtnCqqIS+bZqVL35sFpUlqXFlywgsjc/gwLE8k9OIiIij+WRNMuv2HcfTzZmXru+Kk5PF1DwqS1Lj2vo35or2fhgGfLwm2ew4IiLiQJKP5jIrpnT6bfrwcFo19zQ5kcqS1JJJ/cIA+M/6g+QWFJsbRkREHILNZvDIgq3kF9mIatOcW/uYO/1WRmVJasWA9n608fUip6CYrzcdMjuOiIg4gLmrk1mXfBwvN2deuqGL6dNvZVSWpFY4OVm4/fTo0txVyaYuJiYiInXfvqO5vPTz6em3ayIIaWb+9FsZlSWpNdf3DKaJuwt7j+byW9IRs+OIiEgdVWIzmDZ/C/lFNvq39eXWPq3MjlSBypLUmsbuLozrFQKUji6JiIhUZs6qfWzYf4LG7i7Mur4zFkvdmH4ro7IktWpivzAsFvgt8Qi7D580O46IiNQxe46c5OWfEwB4/JoIgpvWnem3MipLUqtaNffk6vAAAD5enWxuGBERqVPKpt8Kim1c3s6Xm3uHmB2pUipLUusmXRYGwNebDpF1qsjcMCIiUmd8tHIfmw5knp5+61Lnpt/KqCxJret3SXM6BDQhr7CE+RsOmh1HRETqgN2HT/LyL6XTb0+MiKClTyOTE52dypLUOovFwsTTo0tzVydTomUEREQatBKbwcPzt1BYbOOK9n6Mv7RuTr+VUVkSuxjTrSU+nq4cOnGKpfEZZscRERETffD7XuIOZtLE3YUX6+DVb3+msiR20cjNmZsuLV03Q8sIiIg0XLsP5/DakkQAnhwVSQtr3Z1+K6OyJHYzISoUZycLa/YeIz4t2+w4IiJiZ8UlNh6av5XCYhtXdvBjXM9gsyOdF4cpSydOnCA6Ohqr1YrVaiU6OprMzMwq9zl58iRTpkwhODiYRo0aERERwbvvvlthm/T0dKKjowkMDMTLy4sePXqwYMGCWnwnDVeQTyOGdQwENLokItIQ/ev3vWw5mEkTDxdmXld3r377M4cpS7fccgtxcXHExMQQExNDXFwc0dHRVe4zdepUYmJi+Oyzz4iPj2fq1Knce++9fPvtt+XbREdHk5CQwOLFi9m2bRvXXXcd48ePZ/PmzbX9lhqksmUEvolL4XhuoblhRETEbhIzcnhjSRIAT4/qSKDVw+RE588hylJ8fDwxMTH8+9//JioqiqioKD744AO+//57EhISzrrfmjVruP322xk4cCBhYWH85S9/oWvXrmzYsKHCNvfeey+9e/emTZs2PPHEE/j4+LBp0yZ7vLUGp2doUzq19Kag2MaX6w6YHUdEROyguMRWevVbiY2rwv25vkdLsyNdEIcoS2vWrMFqtdKnT5/y5/r27YvVamX16tVn3a9///4sXryYlJQUDMNg+fLlJCYmMnTo0ArbfPXVVxw/fhybzca8efMoKChg4MCBtfmWGiyLxcKkfq0B+HTNfopKbCYnEhGR2vb+f/ey9VAW3h4uzLyu7l/99mcOUZbS09Px9/c/43l/f3/S09PPut+bb75JZGQkwcHBuLm5MWzYMN555x369+9fvs1XX31FcXExzZs3x93dnbvvvptFixZxySWXnPV1CwoKyM7OrvCQ8zeyawt8G7uTnp1PzPaz//cTERHHtys9mzeWll79NmN0RwK8HWf6rYypZWnGjBlYLJYqH2VTZpW1UMMwqmynb775JrGxsSxevJiNGzfy6quv8re//Y2lS5eWb/PEE09w4sQJli5dyoYNG3jwwQcZN24c27ZtO+vrzpw5s/xEc6vVSkhI3V5Mq65xd3Hm1j6lywjMWbXP5DQiIlJbik5PvxWVGAyK8Gdsd8eafitjMQzDtOWUjx49ytGjR6vcJiwsjC+++IIHH3zwjKvffHx8eP3115k0adIZ+506dQqr1cqiRYsYMWJE+fN33XUXhw4dIiYmhj179tC2bVu2b99Ox44dy7cZNGgQbdu25b333qs0U0FBAQUFBeVfZ2dnExISQlZWFt7e3ufz1hu8wzn5XDZrGUUlBt/+/TK6hviYHUlERGrYW78m8eqSRKyNXFky9Qr869ioUnZ2Nlar9Zx/v13smOkMvr6++Pr6nnO7qKgosrKyWLduHb179wZg7dq1ZGVl0a9fv0r3KSoqoqioCCenioNnzs7O2Gyl58nk5eUBVLlNZdzd3XF3dz9nbjk7/yYejOwSxKLNKcxdnczr47uZHUlERGpQfFo2by4rvfrtH6M71rmidCEc4pyliIgIhg0bxuTJk4mNjSU2NpbJkyczcuRIOnToUL5deHg4ixYtAsDb25sBAwYwbdo0VqxYwb59+5g7dy6ffPIJY8eOLd++bdu23H333axbt449e/bw6quvsmTJEsaMGWPGW21QypYR+H5rKoez880NIyIiNeaP02+DIwO4tluQ2ZEuikOUJYDPP/+czp07M2TIEIYMGUKXLl349NNPK2yTkJBAVlZW+dfz5s3j0ksv5dZbbyUyMpJZs2bx/PPPc8899wDg6urKjz/+iJ+fH6NGjaJLly588sknfPzxx1xzzTV2fX8NUZdgH3qGNqWoxOCztVpGQESkvnhn+R52pGbj4+nK82M7OdzVb39m6jlL9cX5znnKmb7bksq9X27Gt7Ebqx67CncXZ7MjiYjIRdiRmsW1s1dRbDP4503duLZb3T2p+3z/fjvMyJLUT8M6BRLo7cHRk4V8vyXN7DgiInIRCottPDx/K8U2g6EdAxjd1bGn38qoLImpXJ2diI4KBWDO6n1ooFNExHG9vXw38WnZNPV05bkxjrf45NmoLInpbu7dCncXJ7anZLNh/wmz44iISDVsT8ni7eW7AXjm2k74Nak/V42rLInpmnm5Meb0nPbcVcnmhhERkQtWOv22hWKbwfBOgYzs0sLsSDVKZUnqhEn9wwCI2ZFOauYpc8OIiMgFmb0siV3pOTTzcuPZMY5/9dufqSxJnRAe6E1Um+aU2Aw+WbPf7DgiInKeth3K4u0VewB49tpO+DauP9NvZVSWpM4oW6Tyy3UHOFVYYm4YERE5p4LiEh6ev4USm8GILi0YUc+m38qoLEmdcXVEACHNGpF1qohv4lLMjiMiIufw1q+7ScjIobmXG8+M7njuHRyUypLUGc5OFm6PCgNgziotIyAiUpdtPZTJu7+VTr89N6YTzevh9FsZlSWpU8b1CsHTzZnEjJOs3nPM7DgiIlKJP06/jeoaxPDO9XP6rYzKktQp1kau3NAzGIA5WkZARKRO+ufSJBIzTuLb2I1/1OPptzIqS1Ln3N4vDIBfd2Ww/1iuuWFERKSCuIOZvFc+/daZZl5uJieqfSpLUudc4teYAe39MAz4eLWWERARqSvyi0qn32wGXNstiGGdAs2OZBfVKku5ufrXvtSusmUE5m84yMmCYnPDiIgIAK8vTWT34ZP4NnZnxqj6P/1WplplKSAggDvuuIOVK1fWdB4RAK5o50cbXy9yCor5euMhs+OIiDR4mw6c4IP/7gXghbGdaNoApt/KVKssffnll2RlZXH11VfTvn17Zs2aRWpqak1nkwbMycnCxNOjS3NXJ2OzaRkBERGz5BeVMO309NvY7i0Z0rFhTL+VqVZZGjVqFF9//TWpqan89a9/5csvvyQ0NJSRI0eycOFCios1bSIX7/oewTTxcGHf0Vx+SzxidhwRkQbrtSWJ7DmSi18Td54eFWl2HLu7qBO8mzdvztSpU9myZQuvvfYaS5cu5YYbbiAoKIinnnqKvLy8msopDZCXuwvje4UA8NGqfSanERFpmDbuP8EHv5dOv80c2xkfz4Yz/VbmospSeno6L730EhERETz22GPccMMN/Prrr7z++ussWrSIMWPG1FBMaagmRIVhscDvSUfZfTjH7DgiIg1K2fSbYcB1PVoyKDLA7EimcKnOTgsXLmTOnDn8/PPPREZG8ve//53bbrsNHx+f8m26detG9+7dayqnNFCtmnsyKCKAJTszmLs6mefGdDY7kohIg/HKzwnsPZpLgLc7T49sOFe//Vm1RpYmTZpEUFAQq1atIi4ujilTplQoSgBt2rTh//7v/2oiozRwZcsIfL0xhay8InPDiIg0EBuSj/Ph6VMgZl7XGaunq8mJzFOtkaW0tDQ8PT2r3KZRo0Y8/fTT1Qol8kdRbZoTHtiEXek5fLXhAH+54hKzI4mI1GunCksXnzQMuKFnMFeFN8zptzLVGlkqLi4mOzv7jEdOTg6FhYU1nVEaOIvFwsTTt0D5ePV+SrSMgIhIrXr55wSSj+UR6O3BkyMb3tVvf1atsuTj40PTpk3PePj4+NCoUSNCQ0N5+umnsdlsNZ1XGqgx3VvS1NOVlMxTLNmZYXYcEZF6a92+48xZfXr67frOWBs13Om3MtUqS3PnziUoKIjHH3+cb775hkWLFvH444/TsmVL3n33Xf7yl7/w5ptvMmvWrJrOKw2Uh6szN/duBcAcLSMgIlIr8gqLmbagdPrtxl7BXNnB3+xIdUK1zln6+OOPefXVV7nxxhvLnxs9ejSdO3fm/fff59dff6VVq1Y8//zzPP744zUWVhq26KhQ3v/vXtbuO86O1Cw6BlnNjiQiUq+8FJPA/mN5tLB68ISm38pVa2RpzZo1lS4L0L17d9asWQNA//79OXDgwMWlE/mDFtZG5Xe4/nh1srlhRETqmdi9x5h7+rN11vVd8PbQ9FuZapWl4OBgPvzwwzOe//DDDwkJKV1x+dixYzRt2vTi0on8yR2nlxH4Ji6VYycLzA0jIlJP5BUW88iCrQDcdGkIA9r7mZyobqnWNNwrr7zCuHHj+Omnn7j00kuxWCysX7+eXbt2sWDBAgDWr1/P+PHjazSsSI9WTekSbGXroSy+XHeAKVe1MzuSiIjDe/GnXRw4nkeQ1YP/GxFhdpw6x2IYRrWuw96/fz/vvfceCQkJGIZBeHg4d999N2FhYTUcse7Lzs7GarWSlZWFt7e32XHqvUWbDzH1qy0EeLuz8tGrcHW+qLv2iIg0aKv3HOWWD9YC8Omdvbm8XcMZVTrfv98XPLJUVFTEkCFDeP/995k5c+ZFhRSpjms6t+D5H3aRkV3AT9vTGd01yOxIIiIOKbfgf9Nvt/Rp1aCK0oW44H+Su7q6sn37diwWS23kETkndxdnbuurZQRERC7WrJ92cejEKVr6NOLxazT9djbVmr+YMGFCpSd4i9jLrX1CcXN2YvOBTOIOZpodR0TE4azefZRPY/cD8NINXWjsXq3TmBuEah2ZwsJC/v3vf7NkyRJ69eqFl5dXhe+/9tprNRJO5Gz8mrgzsmsLFm5KYe6qfbxx05lLWYiISOVOFhQz7fT02219W3FZW1+TE9Vt1SpL27dvp0ePHgAkJiZW+J6m58ReJvVrzcJNKfywLY3Hr4nA39vD7EgiIg5h5o/xpGSeIrhpI6YP1/TbuVSrLC1fvrymc4hcsM7BVnqFNmXD/hN8FrufB4d0MDuSiEidtzLpKJ+vLV00+qUbuuCl6bdzuqhrrnfv3s3PP//MqVOnAKjmKgQi1TbpstYAfL72APlFJSanERGp23Lyi3j069LptwlRofS7RNNv56NaZenYsWNcffXVtG/fnmuuuYa0tDQA7rrrLh566KEaDShSlaEdA2hh9eBYbiHfb00zO46ISJ32wunpt5BmjXh0WLjZcRxGtcrS1KlTcXV15cCBA3h6epY/P378eGJiYmosnMi5uDg7ER0VCpQuI6DRTRGRyv038QhfrjsIwMs3dNX02wWoVln65ZdfePHFFwkODq7wfLt27di/f3+NBBM5Xzdf2goPVyd2pGazPvmE2XFEROqc7PwiHjs9/TaxXxh92zQ3OZFjqVZZys3NrTCiVObo0aO4u7tfdCiRC9HUy42x3VsCWqRSRKQyz38fT2pWPqHNPXlkmC6GuVDVKktXXHEFn3zySfnXFosFm83Gyy+/zJVXXllj4UTO18R+pSd6/7wjnZTMUyanERGpO1YkHOarDQexWEqn3zzdNP12oap1xF5++WUGDhzIhg0bKCws5JFHHmHHjh0cP36cVatW1XRGkXPqENiEfpc0Z/WeY3yyJlnrhoiIAFmninjs621A6fRb79bNTE7kmKo1shQZGcnWrVvp3bs3gwcPJjc3l+uuu47NmzdzySWX1HRGkfNStozAvHUHySssNjmNiIj5nvt+J+nZ+YQ19+SRobr6rbqqPRYXGBjIP/7xj5rMInJRrgr3p1UzTw4cz2PR5hRu7RNqdiQREdMs33WY+RsPlU6/jetKIzdnsyM5rGqXpczMTNatW8fhw4ex2WwVvjdhwoSLDiZyoZydLEyICuW5H+KZuyqZW3q30u13RKRBysor4rGFpVe/3XFZay4N0/TbxahWWfruu++49dZbyc3NpUmTJhX+IFksFpUlMc2Nl4bw+pJEkg6fZNXuY/Rvp9VpRaTheeb7nWRkF9Da14uHdSuoi1atc5Yeeugh7rjjDnJycsjMzOTEiRPlj+PHj9d0RpHz5u3hyg09S9f/0jICItIQ/RqfwdebSqffXhnXRdNvNaBaZSklJYX77ruv0rWWRMx2e78wAJYlHCb5aK65YURE7Cgrr4jpC0uvfrurf2t6hmr6rSZUqywNHTqUDRs21HQWkRrRxq8xAzv4YRjw8Zpks+OIiNjNP77bweGcAtr4efGQpt9qTLXOWRoxYgTTpk1j586ddO7cGVdX1wrfHz16dI2EE6muSZe1ZkXCEeZvOMSDg9vTxMP13DuJiDiwJTszWLg5BScLvDKuKx6umn6rKdUqS5MnTwbgmWeeOeN7FouFkpKSi0slcpGuaOfLJX5e7DmSy4KNh8rXYBIRqY8y8wp5fFHp9Nvky9vQo1VTkxPVL9WahrPZbGd9qChJXWCxWJh4uiB9vDoZm80wOZGISO2ZsXgHR3IKuMTPi6mD25sdp965oLJ0zTXXkJWVVf71888/T2ZmZvnXx44dIzIyssbCiVyM67q3pImHC8nH8liReNjsOCIiteLnHel8E5eKkwVevbGbpt9qwQWVpZ9//pmCgoLyr1988cUKSwUUFxeTkJBQc+lELoKXuws3XRoCwJxVyeaGERGpBSdyC/m/RdsB+MsVl9AtxMfcQPXUBZUlwzCq/FqkrpkQFYaTBX5POkpSRo7ZcUREatTTi3dw9GQB7fwb88CgdmbHqbeqdc6SiKMIaebJ4MgAAOauTjY3jIhIDYrZnsbiLak4O1l09Vstu6CyZLFYzrjXlu69JXXdxH6lJ3ov3JRCVl6RyWlERC7e8dxCnvimdPrtngFt6Krpt1p1QUsHGIbBxIkTcXd3ByA/P5977rkHLy8vgArnM4nUFX3bNCM8sAm70nOYt/4Adw+4xOxIIiIX5alvt3P0ZCEdAppw39WafqttFzSydPvtt+Pv74/VasVqtXLbbbcRFBRU/rW/v79uoit1jsVi4Y7Tywh8smY/xSU2kxOJiFTfj9vS+H5rWvn0m7uLpt9q2wWNLM2ZM6e2cojUqtHdgpgVs4uUzFMsjc9gWKcWZkcSEblgx04W8OTp6be/DbyEzsFWkxM1DDrBWxoED1dnbu5duozAR1pGQEQc1FPf7uBYbiHhgU249ypNv9mLypI0GNF9w3BxsrBu33F2pGadewcRkTrk+62p/LDtf9Nvbi76E24vDnOkT5w4QXR0dPn5UdHR0RVWD69MRkYGEydOJCgoCE9PT4YNG0ZSUlKFbQoKCrj33nvx9fXFy8uL0aNHc+jQoVp8J2KWQKsHwzuXTr9pkUoRcSRHcv43/fb3K9vSqaWm3+zJYcrSLbfcQlxcHDExMcTExBAXF0d0dPRZtzcMgzFjxrB3716+/fZbNm/eTGhoKIMGDSI3N7d8uwceeIBFixYxb948Vq5cycmTJxk5cqTucVdPTbosDIDFcakcPamrN0Wk7jMMgye/2c6JvCIiWngz5cq2ZkdqcCyGAyzDHR8fT2RkJLGxsfTp0weA2NhYoqKi2LVrFx06dDhjn8TERDp06MD27dvp2LEjACUlJfj7+/Piiy9y1113kZWVhZ+fH59++injx48HIDU1lZCQEH788UeGDh16Xvmys7OxWq1kZWXh7e1dQ+9aaoNhGIx5exVbDmXx0OD23KtLbkWkjlu8JZX7vtyMi5OFb6dcRscgjSrVlPP9++0QI0tr1qzBarWWFyWAvn37YrVaWb16daX7lK355OHhUf6cs7Mzbm5urFy5EoCNGzdSVFTEkCFDyrcJCgqiU6dOZ31dcWwWi4VJp5cR+DR2P4XFWkZAROquwzn5PPVt6fTblKvaqiiZxCHKUnp6Ov7+/mc87+/vT3p6eqX7hIeHExoayvTp0zlx4gSFhYXMmjWL9PR00tLSyl/Xzc2Npk2bVtg3ICDgrK8LpUUsOzu7wkMcxzWdW+DfxJ3DOQX8tD3N7DgiIpUyDIMnFm0nM6+IyBbe/F3Tb6YxtSzNmDGj/BYqZ3ts2LABqPy2KoZhnPV2K66urnz99dckJibSrFkzPD09WbFiBcOHD8fZueoFvKp6XYCZM2eWn2hutVoJCQm5gHctZnNzceK2vqGATvQWkbpr8ZZUftmZgatz6dVvrs4OMb5RL13QopQ1bcqUKdx0001VbhMWFsbWrVvJyMg443tHjhwhICDgrPv27NmTuLg4srKyKCwsxM/Pjz59+tCrVy8AAgMDKSws5MSJExVGlw4fPky/fv3O+rrTp0/nwQcfLP86OztbhcnB3Ny7FbOX7SbuYCabD5yge6um595JRMRODmfn89S3OwC496p2RAbpfFgzmVqWfH198fX1Ped2UVFRZGVlsW7dOnr37g3A2rVrycrKqrLUlLFaS+d4k5KS2LBhA88++yxQWqZcXV1ZsmQJN954IwBpaWls376dl1566ayv5+7uXn5/PHFMfk3cGdU1iK83HWLOqmSVJRGpMwzD4PFF28k6VUSnlt78daDuZ2k2hxjTi4iIYNiwYUyePJnY2FhiY2OZPHkyI0eOrHAlXHh4OIsWLSr/ev78+axYsaJ8+YDBgwczZsyY8hO6rVYrd955Jw899BC//vormzdv5rbbbqNz584MGjTI7u9T7KtsGYEft6WRnpVvbhgRkdO+iUthabym3+oSh/kv8Pnnn9O5c2eGDBnCkCFD6NKlC59++mmFbRISEsjK+t/KzGlpaURHRxMeHs59991HdHQ0X375ZYV9Xn/9dcaMGcONN97IZZddhqenJ9999905z2sSx9eppZXeYc0othl8vna/2XFERMjIzmfG4p0A3H91O8IDNf1WFzjEOkt1ndZZclw/bkvjb59vormXG6seuwoPV5VkETGHYRjc9fEGft11mM4trSz6Wz9cNKpUq+rVOksitWVIZAAtfRpxLLeQxVtSzY4jIg3Ywk0p/LrrMG7OTrx6Y1cVpTpE/yWkQXNxdiI66n/LCGigVUTMkJ6Vz4zvSq9+u39QO9oHNDE5kfyRypI0eDddGoKHqxPxadms23fc7Dgi0sAYhsH0hVvJyS+ma7CVu69oY3Yk+ROVJWnwfDzdGNs9GNAilSJifws2HmJ5whHcnJ14ZZym3+oi/RcR4X/LCPyyM52Dx/PMDSMiDUZa1ime+a706repg9vTTtNvdZLKkgjQPqAJ/dv6YjNKb7ArIlLbDMPgsa+3kVNQTLcQHyZf3trsSHIWKksip03sFwbAvHUHyCssNjeMiNR78zcc4rfEI7i5aPqtrtN/GZHTrgr3J7S5J9n5xSzclGJ2HBGpx1IzT/Hs96XTbw8Nbk9b/8YmJ5KqqCyJnObkZOH2qDAA5q7WMgIiUjsMw+DRr7eSU1BM91Y+3HW5rn6r61SWRP5gXK9gvNyc2X34JCt3HzU7jojUQ/PWH+T3pKO4n55+c3aymB1JzkFlSeQPmni4Mq5XCKBlBESk5qVknuL5H+IBmDa0A5f4afrNEagsifzJ7f3CsFhg2a7D7Duaa3YcEaknDMPg0QVbOVlQTK/Qpky6TFe/OQqVJZE/ae3rxZUd/AH4eHWyuWFEpN74Yt0BVu4unX576YYumn5zICpLIpUoW6Ry/oaD5OQXmRtGRBzeweN5vHB6+u2RYeG00fSbQ1FZEqlE/7a+tPVvTG5hCfM3HDI7jog4MJut9Oq33MISLg1ryqTTa7qJ41BZEqmExWIpX6Ty4zXJlNi0jICIVM/n6w6wes8xPFydePmGrjhp+s3hqCyJnMV1PVri7eHC/mN5LN912Ow4IuKADh7PY+aPpdNvjw4LJ8zXy+REUh0qSyJn4enmws29WwGli1SKiFwIm81g2oIt5BWW0Lt1s/JFb8XxqCyJVCE6KhQnC6zcfZTEjByz44iIA/ls7X5i9x6nkaszL9/QRdNvDkxlSaQKwU09GRIZCGiRShE5fweO5THzx10APDY8nNDmmn5zZCpLIudQtozAos2HyMwrNDeMiNR5NpvBwwu2cKqohL5tmhHdN9TsSHKRVJZEzqF362ZEtvAmv8jGvPUHzY4jInXcJ2uSWbfvOJ5uzrx0va5+qw9UlkTOwWKxMPH06NInq5MpLrGZG0hE6qzko7m8GJMAwPTh4bRq7mlyIqkJKksi52F01yCae7mRmpXPLzszzI4jInWQzWbwyIKtnCoqIapNc27to+m3+kJlSeQ8eLg6c0uf0mUE5qzaZ3IaEamL5q5OZl3ycbzcnHlJV7/VKypLIufptr6huDhZWJ98gu0pWWbHEZE6ZN/RXF76ufTqt+nXRBDSTNNv9YnKksh5CvD24JrOLQAtIyAi/1NiM5g2fwv5RTb6t/Xl1tOj0FJ/qCyJXICyZQS+25LKkZwCc8OISJ0wZ9U+Nuw/QWN3F2Zd3xmLRdNv9Y3KksgF6N6qKd1CfCgssfHF2gNmxxERk+05cpKXfy69+u3xayIIbqrpt/pIZUnkApWNLn22dj+FxVpGQKShKpt+Kyi2cXk7X27uHWJ2JKklKksiF2h4pxb4N3HnSE4BP25LMzuOiJjko5X72HQg8/T0WxdNv9VjKksiF8jNxan89gVzVu3DMAyTE4mIve0+fJKXfymdfntiRAQtfRqZnEhqk8qSSDXc0qcVbi5ObDmUxeaDmWbHERE7KrEZTFuwhcJiG1e092P8pZp+q+9UlkSqoXljd67tGgRoGQGRhubfv+9l84FMmri78KKufmsQVJZEqqnsfnE/bUsjPSvf3DAiYhe7D+fw6pJEAJ4cFUkLq6bfGgKVJZFq6hhkpXfrZhTbDD6NTTY7jojUsuISGw/N30phsY0rO/gxrmew2ZHETlSWRC7CHadHl75Ye4D8ohJzw4hIrfrX73vZcjCTJh4uzLxOV781JCpLIhdhUEQALX0acSKviMVxqWbHEZFakpiRwxtLkgB4elRHAq0eJicSe1JZErkILs5OTIgqXUbgIy0jIFIvFZfYeHj+FgpLbFwV7s/1PVqaHUnsTGVJ5CLddGkrGrk6sys9h9i9x82OIyI17P3/7mXroSy8PVyYeZ2ufmuIVJZELpLV05XrTv9Lc+7qfSanEZGalJCewxtLS69+mzG6IwHemn5riFSWRGrAxH5hACzZmcHB43nmhhGRGlF0evqtqMRgUIQ/Y7tr+q2hUlkSqQHtAppweTtfbAZ8sibZ7DgiUgPeW7GHbSlZWBu58sJYTb81ZCpLIjVk0ullBOatP0huQbG5YUTkosSnZfPmstKr3/4xuiP+mn5r0FSWRGrIwPb+hDX3JCe/mIWbU8yOIyLV9Mfpt8GRAVzbLcjsSGIylSWRGuLkZOH20+cuzV21D5tNywiIOKJ3lu9hR2o2Pp6uPD+2k6bfRGVJpCbd0DOYxu4u7DmSy++7j5odR0Qu0I7ULN764/RbE02/icqSSI1q4uHKuF6l94uas0rLCIg4ksJiGw/P30qxzWBoxwBGd9X0m5RSWRKpYbdHhWGxwIqEI+w9ctLsOCJynt5evpv4tGyaerry3Bhd/Sb/o7IkUsPCfL24qoM/AB+vTjY3jIicl+0pWby9fDcAz1zbCb8m7iYnkrpEZUmkFky6rDUACzYeIju/yOQ0IlKV0um3LRTbDIZ3CmRklxZmR5I6RmVJpBZc1rY57QMak1tYwn/WHzQ7johUYfayJHal59DMy41nx+jqNzmTypJILbBYLEzsVzq69PGaZPKLSkxOJCKV2Z6Sxdsr9gDw7LWd8G2s6Tc5k8qSSC0Z270lPp6uHDx+ilFvrWTLwUyzI4nIHxQUl/DQf7ZQYjMY0aUFIzT9JmehsiRSSxq5OTP75h74NnYn6fBJrnt3NS/F7KKgWKNMInXBW7/uJiEjh+ZebjwzuqPZcaQOU1kSqUX92/myZOoVjO4aRInN4J0Vexj11kq2Hso0O5pIg7b1UCbv/lY6/fbcmE401/SbVEFlSaSWNfVy482bu/PebT3wbexGYsZJxr6zmld+TtAok4gJCopLeHh+6fTbqK5BDO+s6TepmsqSiJ0M69SCX6YOYGSXFpTYDGYv383ot1axPSXL7GgiDco/lyaRmHES38Zu/EPTb3IeVJZE7KiZlxuzb+nBu7f2oLmXGwkZOVz79ipe+yWBwmKb2fFE6r24g5m8Vz791plmXm4mJxJHoLIkYoLhnVvwy9QrGNG5dJTpzWW7GT17pUaZRGpRflHp9JvNgGu7BTGsU6DZkcRBqCyJmKR5Y3fevrUHb9/Sg2ZebuxKz2HM26t4bUmiRplEasEbS5PYffgkvo3dmTFK029y/lSWREw2okvpKNPwToEU2wze/DWJa99exc7UbLOjidQbmw6c4F//LZ1+e2FsJ5pq+k0ugMqSSB3g29idd27twVs3d6eppyvxadmMnr2SN5YmUlSiUSaRi5FfVMK009NvY7u3ZEhHTb/JhXGYsnTixAmio6OxWq1YrVaio6PJzMyscp+MjAwmTpxIUFAQnp6eDBs2jKSkpPLvHz9+nHvvvZcOHTrg6elJq1atuO+++8jK0nkjYn8Wi4VRXYP4ZeoAhnUsHWV6Y2kSY95eRXyaRplEquu1JYnsOZKLXxN3nh4VaXYccUAOU5ZuueUW4uLiiImJISYmhri4OKKjo8+6vWEYjBkzhr179/Ltt9+yefNmQkNDGTRoELm5uQCkpqaSmprKK6+8wrZt25g7dy4xMTHceeed9npbImfwa+LOu7f14M2bu+Pj6cqO1NJRpjd/TdIok8gFKCy28e/f9/Lv3/cCMHNsZ3w8Nf0mF85iGIZhdohziY+PJzIyktjYWPr06QNAbGwsUVFR7Nq1iw4dOpyxT2JiIh06dGD79u107Fh6Il9JSQn+/v68+OKL3HXXXZX+rPnz53PbbbeRm5uLi4vLeeXLzs7GarWSlZWFt7d3Nd+lyJkO5+TzxKLt/LIzA4BOLb15ZVxXwgP1eyZyNoZhsGRnBjN/2sW+o6X/OL6xVzAv3dDV5GRS15zv32+HGFlas2YNVqu1vCgB9O3bF6vVyurVqyvdp6CgAAAPD4/y55ydnXFzc2PlypVn/VllB+x8i5JIbfJv4sH70T35503dsDZyZXtKNqPeWsnsZUkUa5RJ5Aw7UrO45YO1/OXTjew7motvY3dmXdeZmdd1MTuaODCHaATp6en4+/uf8by/vz/p6emV7hMeHk5oaCjTp0/n/fffx8vLi9dee4309HTS0tIq3efYsWM8++yz3H333VXmKSgoKC9jUNpMRWqLxWLh2m4tiWrTnMcXbWdpfAav/JLIzzsyeGVcVzoENjE7oojpDmfn8+ovifxn40EMA9xcnLirf2v+dmVbGrs7xJ86qcNMHVmaMWMGFoulyseGDRuA0j8Yf2YYRqXPA7i6uvL111+TmJhIs2bN8PT0ZMWKFQwfPhxnZ+czts/OzmbEiBFERkby9NNPV5l75syZ5SeaW61WQkJCqvHuRS6Mv7cHH0zoyevju2Jt5Mq2lCxGvbWSt5fv1iiTNFj5RSXMXpbEwFdW8NWG0qI0sksLfn1wAI8MC1dRkhph6jlLR48e5ejRo1VuExYWxhdffMGDDz54xtVvPj4+vP7660yaNKnK18jKyqKwsBA/Pz/69OlDr169ePvtt8u/n5OTw9ChQ/H09OT777+vMHVXmcpGlkJCQnTOktjN4ex8Hl+0jaXxhwHoGmzllXFdaRegUSZpGAzDYPGWVF6KSSAl8xQAXUN8eGpkBD1Dm5mcThzF+Z6z5FAneK9du5bevXsDsHbtWvr27XvWE7wrk5SURHh4OD/99BNDhgwBSg/U0KFDcXd358cff8TT0/OC8+kEbzGDYRgs3JTCP77bQXZ+MW7OTkwd3J7Jl7fGxdkhTkcUqZZNB07w7Pc72XwgE4AgqwePDg9nVJcgnJwqn20QqUy9KksAw4cPJzU1lffffx+Av/zlL4SGhvLdd9+VbxMeHs7MmTMZO3YsUHplm5+fH61atWLbtm3cf//99OzZk6+//hooHVEaPHgweXl5LFq0CC8vr/LX8vPzq3S6rjIqS2Km9KzSUaZlu06PMoX48Oq4LrT11yiT1C8pmad48addLN6SCoCnmzN/HXAJd13ehkZu5/d5LfJH5/v322Emcz///HPuu+++8hGh0aNHM3v27ArbJCQkVFhQMi0tjQcffJCMjAxatGjBhAkTePLJJ8u/v3HjRtauXQtA27ZtK7zWvn37CAsLq6V3I1JzAq0efHh7LxZsPMQz3+9ky8FMrnlzJQ8Obs/ky9vgrH9pi4PLLSjm3RV7+OD3vRQU27BY4IYewTw8tAMB3lWfNiFSExxmZKku08iS1BXpWfk8tnArKxKOANC9lQ8v39CVtv6NTU4mcuFKbAYLNh7klV8SOZJTep5on9bNeHJkJJ1aWk1OJ/VBvZuGq8tUlqQuMQyD+RsO8ez3O8kpKMbNxYmHh7Tnzv4aZRLHsXrPUZ77Pp6dp2/1E9rck8eviWBIZMBZr4IWuVAqS3aksiR1UWrmKR5buI3/JpaOMvVo5cPL47pyiZ9GmaTu2nc0lxd+jGfJ6VXrm3i4cP/V7ZgQFYabiy5ckJqlsmRHKktSVxmGwX82HOTZ7+M5WVCMu4sT04Z2YNJlrTXKJHVKVl4Rby5L4pM1yRSVGDg7Wbi1TyseGNSeZl66n5vUDpUlO1JZkrouJfMUj329ld+TStc16xXalJdu6EIbjTKJyYpKbHweu583fk0iM68IgIEd/Pi/ayK0bpjUOpUlO1JZEkdgGAbz1h/k+R80yiTmMwyD5QmHef6HePYcKb3ZbTv/xjwxMpIB7f1MTicNhcqSHaksiSNJyTzFowu2snJ36SjTpWFNefmGroT5ep1jT5GakZCew3M/7Cwf6Wzm5caDg9tz06UhWlBV7EplyY5UlsTRGIbBF+sO8MIP8eQWluDh6sQjQ8OZ2C9MKyBLrTl6soDXliQyb90BbAa4OTsx6bIw/n5VW7w9XM2OJw2QypIdqSyJozp4PI/HFm5l1e5jAPRu3YyXb+hCaHONMknNKSguYc6qZN5etpucgmIAhncK5LHh4fpdE1OpLNmRypI4MsMw+HztAV74MZ68whIauTrz6LAOTIjSKJNcHMMw+Gl7OjN/iufg8dKb3XZuaeWJERH0adPc5HQiKkt2pbIk9cHB43k8smAra/aWjjL1ad2Ml2/oSqvmF35zaZGthzJ59vudrE8+AUCAtzvThoZzXfeWKuFSZ6gs2ZHKktQXNpvB52v388KPuzhVVIKnmzOPDQ/ntj6h+gMn5yUt6xQvxySwcHMKAB6uTvzliku4Z0AbPN0c5nak0kCoLNmRypLUNweO5TFtwRbW7jsOQN82paNMIc00yiSVyyss5v3f9vL+f/eQX2QD4LruLZk2rAMtrI1MTidSOZUlO1JZkvrIZjP4NHY/s3763yjT9GsiuLV3K40ySTmbzWDR5hRe/jmB9Ox8oHTR0ydHRtI1xMfccCLnoLJkRypLUp/tP5bLtPlbWZdcOsrU75LmvHh9F40yCev2Hee5H3ay9VAWAMFNGzF9eATXdA7UzW7FIags2ZHKktR3NpvBx2uSeTFmF/lFNrzcnHl8RAS39G6lP4oN0IFjecyKiefHbekANHZ34e9XtmXSZWF4uDqbnE7k/Kks2ZHKkjQUyUdzmbZgS/kVTv3b+jLr+s4EN9UoU0OQnV/E28t2M2dVMoUlNpwscFPvVjw4uD2+jd3NjidywVSW7EhlSRoSm81gzupkXv65dJSpsbsLj18Twc29QzTKVE8Vl9iYt/4gry9J5FhuIQCXt/Pl/0ZEEB6ozzxxXCpLdqSyJA3RvqO5TJu/hQ37S0eZLm/ny6zru9DSR1c+1Sf/TTzCcz/sJDHjJABt/Lx4YkQEV3bwVzkWh6eyZEcqS9JQldgM5qzax8s/J1BQXDrK9MSICMZfqlEmR7f7cA7P/xDP8oQjAPh4uvLA1e24tW8orrrZrdQTKkt2pLIkDd2eIyeZNn8Lmw5kAnBFez9mXdeZII0yOZzjuYW8sTSRz9ceoMRm4OJkYUJUGPdf3Q6rp252K/WLypIdqSyJlI4yfbhyL6/8kkhhsY0m7i48OTKScb2CNcrkAAqLbXyyJpk3f00iO7/0ZreDIwOYPjycNn6NTU4nUjtUluxIZUnkf3YfPsm0BVvYfHqUaWAHP2Ze11mrONdRhmHwy84MZv4YT/KxPAAiWnjz5IgI+rX1NTmdSO1SWbIjlSWRikpsBv/+fS+vLjk9yuRxepSpp0aZ6pIdqVk8+/1OYveWLjjq29idaUPbc0PPEJy1Srs0ACpLdqSyJFK53YdzeGj+VrYczATgyg5+zLyuC4FWD3ODNXCHs/N55ZcE5m88hGGAm4sTky9vzV8HtqWxu252Kw2HypIdqSyJnF1xiY0Pft/H60sSKSyx4e3hwlOjOnJ9j5YaZbKz/KIS/v37Xt5ZsYe8whIARnUN4tFhHbSwqDRIKkt2pLIkcm5JGTk8PH8LW07fR+zqcH9euK4zAd4aZapthmGweEsqL/60i9Ss0pvddgvx4cmRkfQMbWpyOhHzqCzZkcqSyPkpLrHx/n/38s+lSeWjTDNGd2Rsd40y1ZaN+0/w7Pc7iTs9FRpk9eDR4eGM7hqkYy4NnsqSHaksiVyYhPTSUaZtKaWjTIMiAnhhbCf8NcpUYw6dyOPFmAS+25IKgKebM38beAl3Xd5GN7sVOU1lyY5UlkQuXNko0xtLEykqMbA2cuUfoztybTeNeFyMkwXFvLtiN//+fR8FxTYsFhjXM5iHh3RQGRX5E5UlO1JZEqm+XenZPDx/C9tTsoHShRCfH9sJ/yb6w34hSmwG8zcc5JVfEjl6sgCAvm2a8cSISDq1tJqcTqRuUlmyI5UlkYtTVGLjvRV7eHNZEkUlBj6epaNMOq/m/KzefZRnf4gnPq20cIY19+TxayIYHBmg4ydSBZUlO1JZEqkZ8WnZPPSfLew8/Ud/aMcAnhvTGb8m7iYnq5v2HjnJCz/uYml8BgDeHi7cd3U7JkSF4eaim92KnIvKkh2pLInUnKISG+8s38Nby5Iothk09XTlH9d2YlSXFholOS0rr4h//prEJ2uSKbYZODtZuK1PK+4f1J5mXm5mxxNxGCpLdqSyJFLzdqaWnstUNso0vFMgz47phG/jhjvKVFRi4/PY/bzxaxKZeUVA6aro/zcigrb+TUxOJ+J4VJbsSGVJpHYUFtt4e/lu3l6+m2KbQTMvN565tiMjuwSZHc2uDMNgecJhnv8hnj1HcgFoH9CYJ0ZEckV7P5PTiTgulSU7UlkSqV3bU7J4eP4WdqXnAHBN50CevbYTzRvAKNOu9Gye+z6elbuPAtDcy40Hh7RnfK8QXJx1XpLIxVBZsiOVJZHaV1hsY/ayJN5esYcSm0FzLzeeHdOJazq3MDtarTh6soBXf0nkq/UHsBng5uzEpP5h/P3Ktnh7uJodT6ReUFmyI5UlEfv58yjTiC4tePbaTvXmxOb8ohLmrErm7eW7OVlQDJSOpD02LIJWzXWzW5GapLJkRypLIvZVUFzCW7/u5t3f/jfK9NyYTgx34FEmwzD4cVs6M3+K59CJUwB0CbbyxIhIerduZnI6kfpJZcmOVJZEzLH1UCYPz99CYsZJAEZ1DeKZ0R1p6mCjTFsOZvLcDztZn3wCgEBvDx4Z1oEx3Vri5KTlEkRqi8qSHaksiZinoLiEN39N4t0Ve7AZ4NvYjefGdGZYp0Czo51TWtYpXo5JYOHmFAAauTpz94A2/OWKNni6uZicTqT+U1myI5UlEfNtOVg6ypR0uHSU6dpuQcwYVTdHmfIKi3nvt7386797yC+yAXBdj5Y8MjScQKvuiSdiLypLdqSyJFI35BeV8M9fk3j/t7JRJndeGNuJIR3rxiiTzWawcHMKL/+8i4zs0pvdXhrWlCdHRtIl2MfccCINkMqSHaksidQtcQczeeg/ceULOI7t3pKnR0Xi42neKNO6fcd59vudbEvJAiCkWSOmD49geKdA3cZFxCQqS3aksiRS9+QXlfD60kQ++O9ebAb4NXFn5tjODIoMsGuOA8fymPlTPD9tTwegibsLU65qy+39wvBwdbZrFhGpSGXJjlSWROquTQdOMG3+lvJRpuu6t+TpUR2xetbuwo7Z+UXMXrabuauSKSyx4WSBm3u3Yurg9g36/nYidYnKkh2pLInUbflFJby+JJF//b4Xw4AAb3dmXteZq8JrfpSpuMTGl+sP8vqSRI7nFgJweTtfnhgRSYdA3exWpC5RWbIjlSURx7Bxf+ko096jpaNM1/cI5qlRkVgb1cwo02+JR3j+h53l6z5d4ufFEyMiGdjBT+clidRBKkt2pLIk4jjyi0p49ZcE/r1yX/ko06zrunBluH+1X3P34Rye+yGeFQlHAPDxdGXqoPbc0qcVrrrZrUidpbJkRypLIo5nQ/Jxpi3Yyr7To0zjegbzxMgLG2U6nlvIG0sT+XztAUpsBq7OFiZEhXHfVe1q/ZwoEbl4Kkt2pLIk4phOFZbwyi8JfLSqdJQp0NuDWdd3ZmCHqkeZCottfLImmX/+mkROfunNbodEBjD9mgha+3rZI7qI1ACVJTtSWRJxbOuTjzNt/haSj+UBML5XCP83MgJvj4qjQ4Zh8POODGb+FM/+09tGtvDmiZER9LvE1+65ReTiqCzZkcqSiOM7VVjCSz/vYu7qZAwDWlg9ePH6LlzR3g+A7SlZPPfDTmL3HgdK122aNqQD1/cMxlk3uxVxSCpLdqSyJFJ/rN17jGkLtnLgeOnI0U2XhlBiM1iw6RCGAe4uTky+vA33DLyExu662a2II1NZsiOVJZH6Ja+wmJdiEpi7OrnC89d2C+KRYeG09GlkTjARqVHn+/db/ywSEfkTTzcXZozuyLBOgTz97Q6snq48NjycHq2amh1NREygkaUaoJElERERx3O+f7+1WpqIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoOU5ZOnDhBdHQ0VqsVq9VKdHQ0mZmZVe6TkZHBxIkTCQoKwtPTk2HDhpGUlFTptoZhMHz4cCwWC998803NvwERERFxSA5Tlm655Rbi4uKIiYkhJiaGuLg4oqOjz7q9YRiMGTOGvXv38u2337J582ZCQ0MZNGgQubm5Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=" - }, - "metadata": {} - } - ], - "execution_count": 17 - }, - { - "id": "c4f5c047-c6da-4b54-9007-415faca7a448", - "cell_type": "markdown", - "source": "## Load Workflow with jobflow", - "metadata": {} - }, - { - "id": "b8e3c2ca-2672-4e9d-aada-63344842dbcf", - "cell_type": "code", - "source": "from python_workflow_definition.jobflow import load_workflow_json", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 18 - }, - { - "id": "54a24ff6c569094e", - "cell_type": "code", - "source": "from jobflow.managers.local import run_locally", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 19 - }, - { - "id": "48a27146-7372-40ab-8b02-e2a9283d4748", - "cell_type": "code", - "source": "flow = load_workflow_json(file_name=workflow_json_filename)", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 20 - }, - { - "id": "bf84ef10-e1af-475f-a457-d2703c7276a0", - "cell_type": "code", - "source": "flow[0].function_kwargs[\"a\"] = 4.05", - "metadata": { - "trusted": true - }, - "outputs": [], - "execution_count": 21 - }, - { - "id": "98fa5694-2cc6-44e9-a6e7-2cc71b4f48ce", - "cell_type": "code", - "source": "result = run_locally(flow)\nresult", - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:02:16,526 INFO Started executing jobs locally\n2025-05-24 06:02:16,619 INFO Starting job - get_bulk_structure (49008d34-c2c0-41a9-a7cb-17f68fd503d3)\n2025-05-24 06:02:16,622 INFO Finished job - get_bulk_structure (49008d34-c2c0-41a9-a7cb-17f68fd503d3)\n2025-05-24 06:02:16,623 INFO Starting job - get_dict (f81de048-62e5-448c-9783-fc9cb4d4bb7d)\n2025-05-24 06:02:16,625 INFO Finished job - get_dict (f81de048-62e5-448c-9783-fc9cb4d4bb7d)\n2025-05-24 06:02:16,625 INFO Starting job - calculate_qe (e7891e79-cd64-4e19-b474-4e5c4521807b)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10547] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:03:08,574 INFO Finished job - calculate_qe (e7891e79-cd64-4e19-b474-4e5c4521807b)\n2025-05-24 06:03:08,576 INFO Starting job - generate_structures (05513874-a1a3-428c-91ad-7ba4f44d13c4)\n2025-05-24 06:03:08,580 INFO Finished job - generate_structures (05513874-a1a3-428c-91ad-7ba4f44d13c4)\n2025-05-24 06:03:08,580 INFO Starting job - get_dict (4b033be6-d0c6-4bc4-8f10-eb0ff6ad94f8)\n2025-05-24 06:03:08,582 INFO Finished job - get_dict (4b033be6-d0c6-4bc4-8f10-eb0ff6ad94f8)\n2025-05-24 06:03:08,583 INFO Starting job - get_dict (8fb5c055-10cd-4cf0-adcc-57703638e0c8)\n2025-05-24 06:03:08,584 INFO Finished job - get_dict (8fb5c055-10cd-4cf0-adcc-57703638e0c8)\n2025-05-24 06:03:08,585 INFO Starting job - get_dict (0bc6f831-f685-4688-9f9a-194271b83d48)\n2025-05-24 06:03:08,586 INFO Finished job - get_dict (0bc6f831-f685-4688-9f9a-194271b83d48)\n2025-05-24 06:03:08,587 INFO Starting job - get_dict (90ac5a4e-6464-48c8-ae33-8efebb8ce336)\n2025-05-24 06:03:08,588 INFO Finished job - get_dict (90ac5a4e-6464-48c8-ae33-8efebb8ce336)\n2025-05-24 06:03:08,589 INFO Starting job - get_dict (d7a2d06e-aae2-40c6-914e-6145f1e22f35)\n2025-05-24 06:03:08,590 INFO Finished job - get_dict (d7a2d06e-aae2-40c6-914e-6145f1e22f35)\n2025-05-24 06:03:08,591 INFO Starting job - calculate_qe (7896c29a-eef8-425a-89b9-15c31c5b7555)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "[jupyter-pythonworkflow-fl--x---d7231032:10573] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:03:19,134 INFO Finished job - calculate_qe (7896c29a-eef8-425a-89b9-15c31c5b7555)\n2025-05-24 06:03:19,135 INFO Starting job - calculate_qe (b7eb8441-9b20-4560-8fee-06794bc3eb04)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:10584] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:03:30,644 INFO Finished job - calculate_qe (b7eb8441-9b20-4560-8fee-06794bc3eb04)\n2025-05-24 06:03:30,645 INFO Starting job - calculate_qe (010f3f1a-792c-49ce-bbc8-d09be700575c)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:10595] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:03:43,945 INFO Finished job - calculate_qe (010f3f1a-792c-49ce-bbc8-d09be700575c)\n2025-05-24 06:03:43,946 INFO Starting job - calculate_qe (b3b51b0e-49b7-4758-a561-94218cd03d6f)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:10605] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:03:57,230 INFO Finished job - calculate_qe (b3b51b0e-49b7-4758-a561-94218cd03d6f)\n2025-05-24 06:03:57,231 INFO Starting job - calculate_qe (29c5cbc6-5912-48df-9cf7-ced1c0aad822)\n" - }, - { - "name": "stderr", - "output_type": "stream", - "text": "Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---d7231032:10615] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n" - }, - { - "name": "stdout", - "output_type": "stream", - "text": "2025-05-24 06:04:07,269 INFO Finished job - calculate_qe (29c5cbc6-5912-48df-9cf7-ced1c0aad822)\n2025-05-24 06:04:07,271 INFO Starting job - get_list (21df1d62-03ff-4f7c-ae36-34c9cb809b32)\n2025-05-24 06:04:07,277 INFO Finished job - get_list (21df1d62-03ff-4f7c-ae36-34c9cb809b32)\n2025-05-24 06:04:07,277 INFO Starting job - get_list (b1c1cd99-997b-4f4d-ad01-0e3af8c6a929)\n2025-05-24 06:04:07,288 INFO Finished job - get_list (b1c1cd99-997b-4f4d-ad01-0e3af8c6a929)\n2025-05-24 06:04:07,289 INFO Starting job - plot_energy_volume_curve (eb6fcf91-a5b3-4ddd-be2e-7406b51e5084)\n2025-05-24 06:04:07,353 INFO Finished job - plot_energy_volume_curve (eb6fcf91-a5b3-4ddd-be2e-7406b51e5084)\n2025-05-24 06:04:07,354 INFO Finished executing jobs locally\n" - }, - { - "execution_count": 22, - "output_type": "execute_result", - "data": { - "text/plain": "{'49008d34-c2c0-41a9-a7cb-17f68fd503d3': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'f81de048-62e5-448c-9783-fc9cb4d4bb7d': {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/jovyan/example_workflows/quantum_espresso'))},\n 'e7891e79-cd64-4e19-b474-4e5c4521807b': {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.045637215946847, 0.0, 0.0], [0.0, 4.045637215946847, 0.0], [0.0, 0.0, 4.045637215946846]], \"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.022818607973423, 2.022818607973423], [2.022818607973423, 0.0, 2.022818607973423], [2.022818607973423, 2.022818607973423, 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.9365262253593, 'volume': 66.21567448236276}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '05513874-a1a3-428c-91ad-7ba4f44d13c4': {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.9060197859621546, 0.0, 0.0], [0.0, 3.9060197859621546, 0.0], [0.0, 0.0, 3.9060197859621537]], \"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.9530098929810769, 1.9530098929810769], [1.9530098929810769, 0.0, 1.9530098929810769], [1.9530098929810769, 1.9530098929810769, 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.977053844318055, 0.0, 0.0], [0.0, 3.977053844318055, 0.0], [0.0, 0.0, 3.9770538443180543]], \"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.9885269221590272, 1.9885269221590272], [1.9885269221590272, 0.0, 1.9885269221590272], [1.9885269221590272, 1.9885269221590272, 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.045637215946847, 0.0, 0.0], [0.0, 4.045637215946847, 0.0], [0.0, 0.0, 4.045637215946846]], \"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.022818607973423, 2.022818607973423], [2.022818607973423, 0.0, 2.022818607973423], [2.022818607973423, 2.022818607973423, 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.111970927282963, 0.0, 0.0], [0.0, 4.111970927282963, 0.0], [0.0, 0.0, 4.111970927282961]], \"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.0559854636414805, 2.05598546364148], [2.0559854636414805, 0.0, 2.05598546364148], [2.0559854636414805, 2.0559854636414805, 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.176230852372187, 0.0, 0.0], [0.0, 4.176230852372187, 0.0], [0.0, 0.0, 4.1762308523721865]], \"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.0881154261860932, 2.0881154261860932], [2.0881154261860932, 0.0, 2.0881154261860932], [2.0881154261860932, 2.0881154261860932, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '4b033be6-d0c6-4bc4-8f10-eb0ff6ad94f8': {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.977053844318055, 0.0, 0.0], [0.0, 3.977053844318055, 0.0], [0.0, 0.0, 3.9770538443180543]], \"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.9885269221590272, 1.9885269221590272], [1.9885269221590272, 0.0, 1.9885269221590272], [1.9885269221590272, 1.9885269221590272, 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/jovyan/example_workflows/quantum_espresso'))},\n '8fb5c055-10cd-4cf0-adcc-57703638e0c8': {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.045637215946847, 0.0, 0.0], [0.0, 4.045637215946847, 0.0], [0.0, 0.0, 4.045637215946846]], \"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.022818607973423, 2.022818607973423], [2.022818607973423, 0.0, 2.022818607973423], [2.022818607973423, 2.022818607973423, 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/jovyan/example_workflows/quantum_espresso'))},\n '0bc6f831-f685-4688-9f9a-194271b83d48': {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.111970927282963, 0.0, 0.0], [0.0, 4.111970927282963, 0.0], [0.0, 0.0, 4.111970927282961]], \"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.0559854636414805, 2.05598546364148], [2.0559854636414805, 0.0, 2.05598546364148], [2.0559854636414805, 2.0559854636414805, 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/jovyan/example_workflows/quantum_espresso'))},\n '90ac5a4e-6464-48c8-ae33-8efebb8ce336': {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.176230852372187, 0.0, 0.0], [0.0, 4.176230852372187, 0.0], [0.0, 0.0, 4.1762308523721865]], \"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.0881154261860932, 2.0881154261860932], [2.0881154261860932, 0.0, 2.0881154261860932], [2.0881154261860932, 2.0881154261860932, 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/jovyan/example_workflows/quantum_espresso'))},\n 'd7a2d06e-aae2-40c6-914e-6145f1e22f35': {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.9060197859621546, 0.0, 0.0], [0.0, 3.9060197859621546, 0.0], [0.0, 0.0, 3.9060197859621537]], \"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.9530098929810769, 1.9530098929810769], [1.9530098929810769, 0.0, 1.9530098929810769], [1.9530098929810769, 1.9530098929810769, 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/jovyan/example_workflows/quantum_espresso'))},\n '7896c29a-eef8-425a-89b9-15c31c5b7555': {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.97705382693461, 0.0, 0.0], [0.0, 3.97705382693461, 0.0], [0.0, 0.0, 3.9770538269346]], \"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.9885269135082753, 1.9885269135082753], [1.9885269135082753, 0.0, 1.9885269135082753], [1.9885269135082753, 1.9885269135082753, 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.9161488594596, 'volume': 62.90488993338486}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'b7eb8441-9b20-4560-8fee-06794bc3eb04': {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.045637198263626, 0.0, 0.0], [0.0, 4.045637198263626, 0.0], [0.0, 0.0, 4.045637198263626]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.936524166835, 'volume': 66.21567361408935}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '010f3f1a-792c-49ce-bbc8-d09be700575c': {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.111970909309796, 0.0, 0.0], [0.0, 4.111970909309796, 0.0], [0.0, 0.0, 4.111970909309796]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025805, 'volume': 69.52645729479359}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'b3b51b0e-49b7-4758-a561-94218cd03d6f': {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.17623083411815, 0.0, 0.0], [0.0, 4.17623083411815, 0.0], [0.0, 0.0, 4.17623083411815]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0881154170729803, 2.0881154170729803], [2.0881154170729803, 0.0, 2.0881154170729803], [2.0881154170729803, 2.0881154170729803, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693437, 'volume': 72.83724097549829}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '29c5cbc6-5912-48df-9cf7-ced1c0aad822': {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.9060197688891853, 0.0, 0.0], [0.0, 3.9060197688891853, 0.0], [0.0, 0.0, 3.9060197688891853]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.845744615063, 'volume': 59.59410625268013}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '21df1d62-03ff-4f7c-ae36-34c9cb809b32': {1: Response(output=[-1074.845744615063, -1074.9161488594596, -1074.936524166835, -1074.9192860025805, -1074.8737904693437], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'b1c1cd99-997b-4f4d-ad01-0e3af8c6a929': {1: Response(output=[59.59410625268013, 62.90488993338486, 66.21567361408935, 69.52645729479359, 72.83724097549829], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'eb6fcf91-a5b3-4ddd-be2e-7406b51e5084': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))}}" - }, - "metadata": {} - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXuY2bHERERaZBUluowbw9XbugZDMCcVftMTiMiItIwqSzVcbf3CwNgWcJhko/mmhtGRESkAVJZquPa+DVmYAc/DAPmrk42O46IiEiDo7LkACZd1hqABRsPkZNfZHIaERGRhkVlyQFc0c6XS/y8OFlQzIKNh8yOIyIi0qCoLDkAi8XCxNPnLn28OhmbTcsIiIiI2IvKkoO4rkcwTTxcSD6Wx/KEw2bHERERaTBUlhyEl7sLN10aAuhEbxEREXtSWXIgE6LCcLLA70lHScrIMTuOiIhIg6Cy5EBCmnkyKCIAgDkaXRIREbELlSUHU7aMwMJNh8jMKzQ5jYiISP2nsuRg+rZpRnhgE/KLbHy1/qDZcUREROo9lSUHY7FYuOP06NIna/ZTXGIzOZGIiEj9prLkgEZ3C6KppyspmadYsjPD7DgiIiL1msqSA/JwdeaWPq0AmLMq2dwwIiIi9ZzKkoOK7huGi5OFdcnH2Z6SZXYcERGRektlyUEFWj0Y3rkFoEUqRUREapPKkgMru1/c4rhUjp4sMDeMiIhIPaWy5MB6tPKha7CVwhIbX6w9YHYcERGRekllyYFZLJbyRSo/i91PYbGWERAREalpKksO7prOLfBr4s7hnAJ+2p5mdhwREZF6R2XJwbm5OHFbn1AAPtIyAiIiIjVOZakeuKVPK9ycndhyMJPNB06YHUdERKReUVmqB/yauDOqaxCgRSpFRERqmspSPTHpsjAAftyWRnpWvrlhRERE6hGVpXqiU0srl4Y1pdhm8FnsfrPjiIiI1BsqS/VI2TICX6w7QH5RiclpRERE6geVpXpkSGQALX0acTy3kMVbUs2OIyIiUi+oLNUjLs5OREeVLiMwZ1UyhmGYnEhERMTxqSzVMzddGoKHqxPxadms3Xfc7DgiIiIOT2WpnvHxdGNs92AA5moZARERkYumslQPlS0j8MvOdA4ezzM3jIiIiINTWaqH2gc0oX9bX2wGfKplBERERC6KylI9NbFfGADz1h0gr7DY3DAiIiIOTGWpnroq3J/Q5p5k5xezcFOK2XFEREQclspSPeXkZOH2qDAA5q7WMgIiIiLVpbJUj43rFYyXmzO7D5/k96SjZscRERFxSCpL9VgTD1fG9QoBYM6qfSanERERcUwqS/Xc7f3CsFhgecIR9h3NNTuOiIiIw1FZquda+3pxZQd/AD5enWxuGBEREQekstQAlC0jMH/DQbLzi8wNIyIi4mBUlhqAy9v50ta/MbmFJczfcMjsOCIiIg5FZakBsFgs5aNLH69OpsSmZQRERETOl8pSA3Fdj5Z4e7hw4Hgey3cdNjuOiIiIw1BZaiA83Vy4qXcrAOas1jICIiIi50tlqQGZEBWKkwVW7T5GYkaO2XFEREQcgsOUpRMnThAdHY3VasVqtRIdHU1mZmaV+5w8eZIpU6YQHBxMo0aNiIiI4N133z1juzVr1nDVVVfh5eWFj48PAwcO5NSpU7X0TswT3NSTIZGBAMxZlWxuGBEREQfhMGXplltuIS4ujpiYGGJiYoiLiyM6OrrKfaZOnUpMTAyfffYZ8fHxTJ06lXvvvZdvv/22fJs1a9YwbNgwhgwZwrp161i/fj1TpkzByclhDs0FmXRZGACLNh8iM6/Q3DAiIiIOwGI4wB1W4+PjiYyMJDY2lj59+gAQGxtLVFQUu3btokOHDpXu16lTJ8aPH8+TTz5Z/lzPnj255pprePbZZwHo27cvgwcPLv+6OrKzs7FarWRlZeHt7V3t17EHwzC45s2VxKdl8+iwcP468BKzI4mIiJjifP9+O8TwyZo1a7BareVFCUpLjtVqZfXq1Wfdr3///ixevJiUlBQMw2D58uUkJiYydOhQAA4fPszatWvx9/enX79+BAQEMGDAAFauXFnr78ksFoulfHTp0zXJFJfYzA0kIiJSxzlEWUpPT8ff3/+M5/39/UlPTz/rfm+++SaRkZEEBwfj5ubGsGHDeOedd+jfvz8Ae/fuBWDGjBlMnjyZmJgYevTowdVXX01SUtJZX7egoIDs7OwKD0cyumsQzb3cSM3K55edGWbHERERqdNMLUszZszAYrFU+diwYQNQOiLyZ4ZhVPp8mTfffJPY2FgWL17Mxo0befXVV/nb3/7G0qVLAbDZSkdV7r77biZNmkT37t15/fXX6dChAx999NFZX3fmzJnlJ5pbrVZCQkIu5jDYnYerM7f0Ob2MwCotIyAiIlIVFzN/+JQpU7jpppuq3CYsLIytW7eSkXHmCMiRI0cICAiodL9Tp07x+OOPs2jRIkaMGAFAly5diIuL45VXXmHQoEG0aNECgMjIyAr7RkREcODAgbNmmj59Og8++GD519nZ2Q5XmG7rG8q7K/awPvkE21Oy6NTSanYkERGROsnUsuTr64uvr+85t4uKiiIrK4t169bRu3dvANauXUtWVhb9+vWrdJ+ioiKKiorOuKrN2dm5fEQpLCyMoKAgEhISKmyTmJjI8OHDz5rH3d0dd3f3c+auywK8PbimcwsWb0llzqpkXr2xq9mRRERE6iSHOGcpIiKCYcOGMXnyZGJjY4mNjWXy5MmMHDmywpVw4eHhLFq0CABvb28GDBjAtGnTWLFiBfv27WPu3Ll88sknjB07Fiid2ps2bRpvvvkmCxYsYPfu3Tz55JPs2rWLO++805T3ak9lJ3p/tyWVIzkF5oYRERGpo0wdWboQn3/+Offddx9DhgwBYPTo0cyePbvCNgkJCWRlZZV/PW/ePKZPn86tt97K8ePHCQ0N5fnnn+eee+4p3+aBBx4gPz+fqVOncvz4cbp27cqSJUu45JL6f0l991ZN6RbiQ9zBTL5Ye4D7B7UzO5KIiEid4xDrLNV1jrTO0p99G5fC/fPi8GvizqpHr8LNxSEGG0VERC5avVpnSWrP8E4t8G/izpGcAn7clmZ2HBERkTpHZamBc3NxIrpvKFC6jIAGGkVERCpSWRJu6dMKNxcnthzKYtOBTLPjiIiI1CkqS0Lzxu6M7hoEaJFKERGRP1NZEuB/ywj8tD2dtKxT5oYRERGpQ1SWBICOQVZ6t25Gic3gs9j9ZscRERGpM1SWpNwdp0eXvlh7gPyiEnPDiIiI1BEqS1JuUEQALX0acSKviG/jUsyOIyIiUieoLEk5F2cnJkSVLSOQrGUEREREUFmSP7np0lY0cnVmV3oOsXuPmx1HRETEdCpLUoHV05XrerQEtIyAiIgIqCxJJSb2CwNgaXwGB4/nmRtGRETEZCpLcoZ2AU24vJ0vNgM+WZNsdhwRERFTqSxJpcoWqZy3/iC5BcXmhhERETGRypJUamB7f8Kae5KTX8zCTYfMjiMiImIalSWplJOThdtPn7s0d3UyNpuWERARkYZJZUnO6oaewTR2d2HPkVx+333U7DgiIiKmUFmSs2ri4cq4XsGAlhEQEZGGS2VJqnR7VBgWC6xIOMKeIyfNjiMiImJ3KktSpTBfL67q4A/AJ6uTzQ0jIiJiApUlOadJl7UGYMHGQ2TnF5mcRkRExL5UluScLmvbnHb+jcktLOE/6w+aHUdERMSuVJbknCwWCxNPL1L58ZpkSrSMgIiINCAqS3JerusejLWRKwePn2LZrsNmxxEREbEblSU5L43cnLmpdwigZQRERKRhUVmS8zYhKgwnC6zec4xd6dlmxxEREbELlSU5by19GjG0YyAAc1clmxtGRETETlSW5IKULSOwaHMKJ3ILTU4jIiJS+1SW5IJcGtaUjkHeFBTb+HL9AbPjiIiI1DqVJbkgFoulfHTp0zX7KSqxmZxIRESkdqksyQUb2aUFzb3cSMvK5+cd6WbHERERqVUqS3LBPFydubVPK0AneouISP2nsiTVclvfUFydLWzYf4Jth7LMjiMiIlJrVJakWvy9PRjRuQWgRSpFRKR+U1mSapt4+kTv77amcjgn3+Q0IiIitUNlSaqtW4gP3Vv5UFRi8MVaLSMgIiL1k8qSXJSyZQQ+iz1AQXGJyWlERERqnsqSXJThnQIJ8Hbn6MkCftiaZnYcERGRGqeyJBfF1dmJ6L6hAMxZlYxhGCYnEhERqVkqS3LRbu7dCjcXJ7alZLHpwAmz44iIiNQolSW5aM0buzOmWxAAH2mRShERqWdUlqRGTOxXeqJ3zPZ0UjNPmZxGRESk5qgsSY2IDPKmT+tmlNgMPovdb3YcERGRGqOyJDWmbBmBL9cdIL9IywiIiMjFO3g8jzmr9mGzmXcBkcqS1JjBkQEEN23EibwivtmcYnYcERFxcDabwbQFW/jHdzt54cd403KoLEmNcXaycHtUGKBlBERE5OJ9tnY/sXuP08jVmeioUNNyqCxJjbqxVwiNXJ1JyMhhzd5jZscREREHdeBYHjN/3AXAY8PDCW3uZVoWlSWpUVZPV67v2RIoHV0SERG5UDabwcMLtnCqqIS+bZqVL35sFpUlqXFlywgsjc/gwLE8k9OIiIij+WRNMuv2HcfTzZmXru+Kk5PF1DwqS1Lj2vo35or2fhgGfLwm2ew4IiLiQJKP5jIrpnT6bfrwcFo19zQ5kcqS1JJJ/cIA+M/6g+QWFJsbRkREHILNZvDIgq3kF9mIatOcW/uYO/1WRmVJasWA9n608fUip6CYrzcdMjuOiIg4gLmrk1mXfBwvN2deuqGL6dNvZVSWpFY4OVm4/fTo0txVyaYuJiYiInXfvqO5vPTz6em3ayIIaWb+9FsZlSWpNdf3DKaJuwt7j+byW9IRs+OIiEgdVWIzmDZ/C/lFNvq39eXWPq3MjlSBypLUmsbuLozrFQKUji6JiIhUZs6qfWzYf4LG7i7Mur4zFkvdmH4ro7IktWpivzAsFvgt8Qi7D580O46IiNQxe46c5OWfEwB4/JoIgpvWnem3MipLUqtaNffk6vAAAD5enWxuGBERqVPKpt8Kim1c3s6Xm3uHmB2pUipLUusmXRYGwNebDpF1qsjcMCIiUmd8tHIfmw5knp5+61Lnpt/KqCxJret3SXM6BDQhr7CE+RsOmh1HRETqgN2HT/LyL6XTb0+MiKClTyOTE52dypLUOovFwsTTo0tzVydTomUEREQatBKbwcPzt1BYbOOK9n6Mv7RuTr+VUVkSuxjTrSU+nq4cOnGKpfEZZscRERETffD7XuIOZtLE3YUX6+DVb3+msiR20cjNmZsuLV03Q8sIiIg0XLsP5/DakkQAnhwVSQtr3Z1+K6OyJHYzISoUZycLa/YeIz4t2+w4IiJiZ8UlNh6av5XCYhtXdvBjXM9gsyOdF4cpSydOnCA6Ohqr1YrVaiU6OprMzMwq9zl58iRTpkwhODiYRo0aERERwbvvvlthm/T0dKKjowkMDMTLy4sePXqwYMGCWnwnDVeQTyOGdQwENLokItIQ/ev3vWw5mEkTDxdmXld3r377M4cpS7fccgtxcXHExMQQExNDXFwc0dHRVe4zdepUYmJi+Oyzz4iPj2fq1Knce++9fPvtt+XbREdHk5CQwOLFi9m2bRvXXXcd48ePZ/PmzbX9lhqksmUEvolL4XhuoblhRETEbhIzcnhjSRIAT4/qSKDVw+RE588hylJ8fDwxMTH8+9//JioqiqioKD744AO+//57EhISzrrfmjVruP322xk4cCBhYWH85S9/oWvXrmzYsKHCNvfeey+9e/emTZs2PPHEE/j4+LBp0yZ7vLUGp2doUzq19Kag2MaX6w6YHUdEROyguMRWevVbiY2rwv25vkdLsyNdEIcoS2vWrMFqtdKnT5/y5/r27YvVamX16tVn3a9///4sXryYlJQUDMNg+fLlJCYmMnTo0ArbfPXVVxw/fhybzca8efMoKChg4MCBtfmWGiyLxcKkfq0B+HTNfopKbCYnEhGR2vb+f/ey9VAW3h4uzLyu7l/99mcOUZbS09Px9/c/43l/f3/S09PPut+bb75JZGQkwcHBuLm5MWzYMN555x369+9fvs1XX31FcXExzZs3x93dnbvvvptFixZxySWXnPV1CwoKyM7OrvCQ8zeyawt8G7uTnp1PzPaz//cTERHHtys9mzeWll79NmN0RwK8HWf6rYypZWnGjBlYLJYqH2VTZpW1UMMwqmynb775JrGxsSxevJiNGzfy6quv8re//Y2lS5eWb/PEE09w4sQJli5dyoYNG3jwwQcZN24c27ZtO+vrzpw5s/xEc6vVSkhI3V5Mq65xd3Hm1j6lywjMWbXP5DQiIlJbik5PvxWVGAyK8Gdsd8eafitjMQzDtOWUjx49ytGjR6vcJiwsjC+++IIHH3zwjKvffHx8eP3115k0adIZ+506dQqr1cqiRYsYMWJE+fN33XUXhw4dIiYmhj179tC2bVu2b99Ox44dy7cZNGgQbdu25b333qs0U0FBAQUFBeVfZ2dnExISQlZWFt7e3ufz1hu8wzn5XDZrGUUlBt/+/TK6hviYHUlERGrYW78m8eqSRKyNXFky9Qr869ioUnZ2Nlar9Zx/v13smOkMvr6++Pr6nnO7qKgosrKyWLduHb179wZg7dq1ZGVl0a9fv0r3KSoqoqioCCenioNnzs7O2Gyl58nk5eUBVLlNZdzd3XF3dz9nbjk7/yYejOwSxKLNKcxdnczr47uZHUlERGpQfFo2by4rvfrtH6M71rmidCEc4pyliIgIhg0bxuTJk4mNjSU2NpbJkyczcuRIOnToUL5deHg4ixYtAsDb25sBAwYwbdo0VqxYwb59+5g7dy6ffPIJY8eOLd++bdu23H333axbt449e/bw6quvsmTJEsaMGWPGW21QypYR+H5rKoez880NIyIiNeaP02+DIwO4tluQ2ZEuikOUJYDPP/+czp07M2TIEIYMGUKXLl349NNPK2yTkJBAVlZW+dfz5s3j0ksv5dZbbyUyMpJZs2bx/PPPc8899wDg6urKjz/+iJ+fH6NGjaJLly588sknfPzxx1xzzTV2fX8NUZdgH3qGNqWoxOCztVpGQESkvnhn+R52pGbj4+nK82M7OdzVb39m6jlL9cX5znnKmb7bksq9X27Gt7Ebqx67CncXZ7MjiYjIRdiRmsW1s1dRbDP4503duLZb3T2p+3z/fjvMyJLUT8M6BRLo7cHRk4V8vyXN7DgiInIRCottPDx/K8U2g6EdAxjd1bGn38qoLImpXJ2diI4KBWDO6n1ooFNExHG9vXw38WnZNPV05bkxjrf45NmoLInpbu7dCncXJ7anZLNh/wmz44iISDVsT8ni7eW7AXjm2k74Nak/V42rLInpmnm5Meb0nPbcVcnmhhERkQtWOv22hWKbwfBOgYzs0sLsSDVKZUnqhEn9wwCI2ZFOauYpc8OIiMgFmb0siV3pOTTzcuPZMY5/9dufqSxJnRAe6E1Um+aU2Aw+WbPf7DgiInKeth3K4u0VewB49tpO+DauP9NvZVSWpM4oW6Tyy3UHOFVYYm4YERE5p4LiEh6ev4USm8GILi0YUc+m38qoLEmdcXVEACHNGpF1qohv4lLMjiMiIufw1q+7ScjIobmXG8+M7njuHRyUypLUGc5OFm6PCgNgziotIyAiUpdtPZTJu7+VTr89N6YTzevh9FsZlSWpU8b1CsHTzZnEjJOs3nPM7DgiIlKJP06/jeoaxPDO9XP6rYzKktQp1kau3NAzGIA5WkZARKRO+ufSJBIzTuLb2I1/1OPptzIqS1Ln3N4vDIBfd2Ww/1iuuWFERKSCuIOZvFc+/daZZl5uJieqfSpLUudc4teYAe39MAz4eLWWERARqSvyi0qn32wGXNstiGGdAs2OZBfVKku5ufrXvtSusmUE5m84yMmCYnPDiIgIAK8vTWT34ZP4NnZnxqj6P/1WplplKSAggDvuuIOVK1fWdB4RAK5o50cbXy9yCor5euMhs+OIiDR4mw6c4IP/7gXghbGdaNoApt/KVKssffnll2RlZXH11VfTvn17Zs2aRWpqak1nkwbMycnCxNOjS3NXJ2OzaRkBERGz5BeVMO309NvY7i0Z0rFhTL+VqVZZGjVqFF9//TWpqan89a9/5csvvyQ0NJSRI0eycOFCios1bSIX7/oewTTxcGHf0Vx+SzxidhwRkQbrtSWJ7DmSi18Td54eFWl2HLu7qBO8mzdvztSpU9myZQuvvfYaS5cu5YYbbiAoKIinnnqKvLy8msopDZCXuwvje4UA8NGqfSanERFpmDbuP8EHv5dOv80c2xkfz4Yz/VbmospSeno6L730EhERETz22GPccMMN/Prrr7z++ussWrSIMWPG1FBMaagmRIVhscDvSUfZfTjH7DgiIg1K2fSbYcB1PVoyKDLA7EimcKnOTgsXLmTOnDn8/PPPREZG8ve//53bbrsNHx+f8m26detG9+7dayqnNFCtmnsyKCKAJTszmLs6mefGdDY7kohIg/HKzwnsPZpLgLc7T49sOFe//Vm1RpYmTZpEUFAQq1atIi4ujilTplQoSgBt2rTh//7v/2oiozRwZcsIfL0xhay8InPDiIg0EBuSj/Ph6VMgZl7XGaunq8mJzFOtkaW0tDQ8PT2r3KZRo0Y8/fTT1Qol8kdRbZoTHtiEXek5fLXhAH+54hKzI4mI1GunCksXnzQMuKFnMFeFN8zptzLVGlkqLi4mOzv7jEdOTg6FhYU1nVEaOIvFwsTTt0D5ePV+SrSMgIhIrXr55wSSj+UR6O3BkyMb3tVvf1atsuTj40PTpk3PePj4+NCoUSNCQ0N5+umnsdlsNZ1XGqgx3VvS1NOVlMxTLNmZYXYcEZF6a92+48xZfXr67frOWBs13Om3MtUqS3PnziUoKIjHH3+cb775hkWLFvH444/TsmVL3n33Xf7yl7/w5ptvMmvWrJrOKw2Uh6szN/duBcAcLSMgIlIr8gqLmbagdPrtxl7BXNnB3+xIdUK1zln6+OOPefXVV7nxxhvLnxs9ejSdO3fm/fff59dff6VVq1Y8//zzPP744zUWVhq26KhQ3v/vXtbuO86O1Cw6BlnNjiQiUq+8FJPA/mN5tLB68ISm38pVa2RpzZo1lS4L0L17d9asWQNA//79OXDgwMWlE/mDFtZG5Xe4/nh1srlhRETqmdi9x5h7+rN11vVd8PbQ9FuZapWl4OBgPvzwwzOe//DDDwkJKV1x+dixYzRt2vTi0on8yR2nlxH4Ji6VYycLzA0jIlJP5BUW88iCrQDcdGkIA9r7mZyobqnWNNwrr7zCuHHj+Omnn7j00kuxWCysX7+eXbt2sWDBAgDWr1/P+PHjazSsSI9WTekSbGXroSy+XHeAKVe1MzuSiIjDe/GnXRw4nkeQ1YP/GxFhdpw6x2IYRrWuw96/fz/vvfceCQkJGIZBeHg4d999N2FhYTUcse7Lzs7GarWSlZWFt7e32XHqvUWbDzH1qy0EeLuz8tGrcHW+qLv2iIg0aKv3HOWWD9YC8Omdvbm8XcMZVTrfv98XPLJUVFTEkCFDeP/995k5c+ZFhRSpjms6t+D5H3aRkV3AT9vTGd01yOxIIiIOKbfgf9Nvt/Rp1aCK0oW44H+Su7q6sn37diwWS23kETkndxdnbuurZQRERC7WrJ92cejEKVr6NOLxazT9djbVmr+YMGFCpSd4i9jLrX1CcXN2YvOBTOIOZpodR0TE4azefZRPY/cD8NINXWjsXq3TmBuEah2ZwsJC/v3vf7NkyRJ69eqFl5dXhe+/9tprNRJO5Gz8mrgzsmsLFm5KYe6qfbxx05lLWYiISOVOFhQz7fT02219W3FZW1+TE9Vt1SpL27dvp0ePHgAkJiZW+J6m58ReJvVrzcJNKfywLY3Hr4nA39vD7EgiIg5h5o/xpGSeIrhpI6YP1/TbuVSrLC1fvrymc4hcsM7BVnqFNmXD/hN8FrufB4d0MDuSiEidtzLpKJ+vLV00+qUbuuCl6bdzuqhrrnfv3s3PP//MqVOnAKjmKgQi1TbpstYAfL72APlFJSanERGp23Lyi3j069LptwlRofS7RNNv56NaZenYsWNcffXVtG/fnmuuuYa0tDQA7rrrLh566KEaDShSlaEdA2hh9eBYbiHfb00zO46ISJ32wunpt5BmjXh0WLjZcRxGtcrS1KlTcXV15cCBA3h6epY/P378eGJiYmosnMi5uDg7ER0VCpQuI6DRTRGRyv038QhfrjsIwMs3dNX02wWoVln65ZdfePHFFwkODq7wfLt27di/f3+NBBM5Xzdf2goPVyd2pGazPvmE2XFEROqc7PwiHjs9/TaxXxh92zQ3OZFjqVZZys3NrTCiVObo0aO4u7tfdCiRC9HUy42x3VsCWqRSRKQyz38fT2pWPqHNPXlkmC6GuVDVKktXXHEFn3zySfnXFosFm83Gyy+/zJVXXllj4UTO18R+pSd6/7wjnZTMUyanERGpO1YkHOarDQexWEqn3zzdNP12oap1xF5++WUGDhzIhg0bKCws5JFHHmHHjh0cP36cVatW1XRGkXPqENiEfpc0Z/WeY3yyJlnrhoiIAFmninjs621A6fRb79bNTE7kmKo1shQZGcnWrVvp3bs3gwcPJjc3l+uuu47NmzdzySWX1HRGkfNStozAvHUHySssNjmNiIj5nvt+J+nZ+YQ19+SRobr6rbqqPRYXGBjIP/7xj5rMInJRrgr3p1UzTw4cz2PR5hRu7RNqdiQREdMs33WY+RsPlU6/jetKIzdnsyM5rGqXpczMTNatW8fhw4ex2WwVvjdhwoSLDiZyoZydLEyICuW5H+KZuyqZW3q30u13RKRBysor4rGFpVe/3XFZay4N0/TbxahWWfruu++49dZbyc3NpUmTJhX+IFksFpUlMc2Nl4bw+pJEkg6fZNXuY/Rvp9VpRaTheeb7nWRkF9Da14uHdSuoi1atc5Yeeugh7rjjDnJycsjMzOTEiRPlj+PHj9d0RpHz5u3hyg09S9f/0jICItIQ/RqfwdebSqffXhnXRdNvNaBaZSklJYX77ruv0rWWRMx2e78wAJYlHCb5aK65YURE7Cgrr4jpC0uvfrurf2t6hmr6rSZUqywNHTqUDRs21HQWkRrRxq8xAzv4YRjw8Zpks+OIiNjNP77bweGcAtr4efGQpt9qTLXOWRoxYgTTpk1j586ddO7cGVdX1wrfHz16dI2EE6muSZe1ZkXCEeZvOMSDg9vTxMP13DuJiDiwJTszWLg5BScLvDKuKx6umn6rKdUqS5MnTwbgmWeeOeN7FouFkpKSi0slcpGuaOfLJX5e7DmSy4KNh8rXYBIRqY8y8wp5fFHp9Nvky9vQo1VTkxPVL9WahrPZbGd9qChJXWCxWJh4uiB9vDoZm80wOZGISO2ZsXgHR3IKuMTPi6mD25sdp965oLJ0zTXXkJWVVf71888/T2ZmZvnXx44dIzIyssbCiVyM67q3pImHC8nH8liReNjsOCIiteLnHel8E5eKkwVevbGbpt9qwQWVpZ9//pmCgoLyr1988cUKSwUUFxeTkJBQc+lELoKXuws3XRoCwJxVyeaGERGpBSdyC/m/RdsB+MsVl9AtxMfcQPXUBZUlwzCq/FqkrpkQFYaTBX5POkpSRo7ZcUREatTTi3dw9GQB7fwb88CgdmbHqbeqdc6SiKMIaebJ4MgAAOauTjY3jIhIDYrZnsbiLak4O1l09Vstu6CyZLFYzrjXlu69JXXdxH6lJ3ov3JRCVl6RyWlERC7e8dxCnvimdPrtngFt6Krpt1p1QUsHGIbBxIkTcXd3ByA/P5977rkHLy8vgArnM4nUFX3bNCM8sAm70nOYt/4Adw+4xOxIIiIX5alvt3P0ZCEdAppw39WafqttFzSydPvtt+Pv74/VasVqtXLbbbcRFBRU/rW/v79uoit1jsVi4Y7Tywh8smY/xSU2kxOJiFTfj9vS+H5rWvn0m7uLpt9q2wWNLM2ZM6e2cojUqtHdgpgVs4uUzFMsjc9gWKcWZkcSEblgx04W8OTp6be/DbyEzsFWkxM1DDrBWxoED1dnbu5duozAR1pGQEQc1FPf7uBYbiHhgU249ypNv9mLypI0GNF9w3BxsrBu33F2pGadewcRkTrk+62p/LDtf9Nvbi76E24vDnOkT5w4QXR0dPn5UdHR0RVWD69MRkYGEydOJCgoCE9PT4YNG0ZSUlKFbQoKCrj33nvx9fXFy8uL0aNHc+jQoVp8J2KWQKsHwzuXTr9pkUoRcSRHcv43/fb3K9vSqaWm3+zJYcrSLbfcQlxcHDExMcTExBAXF0d0dPRZtzcMgzFjxrB3716+/fZbNm/eTGhoKIMGDSI3N7d8uwceeIBFixYxb948Vq5cycmTJxk5cqTucVdPTbosDIDFcakcPamrN0Wk7jMMgye/2c6JvCIiWngz5cq2ZkdqcCyGAyzDHR8fT2RkJLGxsfTp0weA2NhYoqKi2LVrFx06dDhjn8TERDp06MD27dvp2LEjACUlJfj7+/Piiy9y1113kZWVhZ+fH59++injx48HIDU1lZCQEH788UeGDh16Xvmys7OxWq1kZWXh7e1dQ+9aaoNhGIx5exVbDmXx0OD23KtLbkWkjlu8JZX7vtyMi5OFb6dcRscgjSrVlPP9++0QI0tr1qzBarWWFyWAvn37YrVaWb16daX7lK355OHhUf6cs7Mzbm5urFy5EoCNGzdSVFTEkCFDyrcJCgqiU6dOZ31dcWwWi4VJp5cR+DR2P4XFWkZAROquwzn5PPVt6fTblKvaqiiZxCHKUnp6Ov7+/mc87+/vT3p6eqX7hIeHExoayvTp0zlx4gSFhYXMmjWL9PR00tLSyl/Xzc2Npk2bVtg3ICDgrK8LpUUsOzu7wkMcxzWdW+DfxJ3DOQX8tD3N7DgiIpUyDIMnFm0nM6+IyBbe/F3Tb6YxtSzNmDGj/BYqZ3ts2LABqPy2KoZhnPV2K66urnz99dckJibSrFkzPD09WbFiBcOHD8fZueoFvKp6XYCZM2eWn2hutVoJCQm5gHctZnNzceK2vqGATvQWkbpr8ZZUftmZgatz6dVvrs4OMb5RL13QopQ1bcqUKdx0001VbhMWFsbWrVvJyMg443tHjhwhICDgrPv27NmTuLg4srKyKCwsxM/Pjz59+tCrVy8AAgMDKSws5MSJExVGlw4fPky/fv3O+rrTp0/nwQcfLP86OztbhcnB3Ny7FbOX7SbuYCabD5yge6um595JRMRODmfn89S3OwC496p2RAbpfFgzmVqWfH198fX1Ped2UVFRZGVlsW7dOnr37g3A2rVrycrKqrLUlLFaS+d4k5KS2LBhA88++yxQWqZcXV1ZsmQJN954IwBpaWls376dl1566ayv5+7uXn5/PHFMfk3cGdU1iK83HWLOqmSVJRGpMwzD4PFF28k6VUSnlt78daDuZ2k2hxjTi4iIYNiwYUyePJnY2FhiY2OZPHkyI0eOrHAlXHh4OIsWLSr/ev78+axYsaJ8+YDBgwczZsyY8hO6rVYrd955Jw899BC//vormzdv5rbbbqNz584MGjTI7u9T7KtsGYEft6WRnpVvbhgRkdO+iUthabym3+oSh/kv8Pnnn9O5c2eGDBnCkCFD6NKlC59++mmFbRISEsjK+t/KzGlpaURHRxMeHs59991HdHQ0X375ZYV9Xn/9dcaMGcONN97IZZddhqenJ9999905z2sSx9eppZXeYc0othl8vna/2XFERMjIzmfG4p0A3H91O8IDNf1WFzjEOkt1ndZZclw/bkvjb59vormXG6seuwoPV5VkETGHYRjc9fEGft11mM4trSz6Wz9cNKpUq+rVOksitWVIZAAtfRpxLLeQxVtSzY4jIg3Ywk0p/LrrMG7OTrx6Y1cVpTpE/yWkQXNxdiI66n/LCGigVUTMkJ6Vz4zvSq9+u39QO9oHNDE5kfyRypI0eDddGoKHqxPxadms23fc7Dgi0sAYhsH0hVvJyS+ma7CVu69oY3Yk+ROVJWnwfDzdGNs9GNAilSJifws2HmJ5whHcnJ14ZZym3+oi/RcR4X/LCPyyM52Dx/PMDSMiDUZa1ime+a706repg9vTTtNvdZLKkgjQPqAJ/dv6YjNKb7ArIlLbDMPgsa+3kVNQTLcQHyZf3trsSHIWKksip03sFwbAvHUHyCssNjeMiNR78zcc4rfEI7i5aPqtrtN/GZHTrgr3J7S5J9n5xSzclGJ2HBGpx1IzT/Hs96XTbw8Nbk9b/8YmJ5KqqCyJnObkZOH2qDAA5q7WMgIiUjsMw+DRr7eSU1BM91Y+3HW5rn6r61SWRP5gXK9gvNyc2X34JCt3HzU7jojUQ/PWH+T3pKO4n55+c3aymB1JzkFlSeQPmni4Mq5XCKBlBESk5qVknuL5H+IBmDa0A5f4afrNEagsifzJ7f3CsFhg2a7D7Duaa3YcEaknDMPg0QVbOVlQTK/Qpky6TFe/OQqVJZE/ae3rxZUd/AH4eHWyuWFEpN74Yt0BVu4unX576YYumn5zICpLIpUoW6Ry/oaD5OQXmRtGRBzeweN5vHB6+u2RYeG00fSbQ1FZEqlE/7a+tPVvTG5hCfM3HDI7jog4MJut9Oq33MISLg1ryqTTa7qJ41BZEqmExWIpX6Ty4zXJlNi0jICIVM/n6w6wes8xPFydePmGrjhp+s3hqCyJnMV1PVri7eHC/mN5LN912Ow4IuKADh7PY+aPpdNvjw4LJ8zXy+REUh0qSyJn4enmws29WwGli1SKiFwIm81g2oIt5BWW0Lt1s/JFb8XxqCyJVCE6KhQnC6zcfZTEjByz44iIA/ls7X5i9x6nkaszL9/QRdNvDkxlSaQKwU09GRIZCGiRShE5fweO5THzx10APDY8nNDmmn5zZCpLIudQtozAos2HyMwrNDeMiNR5NpvBwwu2cKqohL5tmhHdN9TsSHKRVJZEzqF362ZEtvAmv8jGvPUHzY4jInXcJ2uSWbfvOJ5uzrx0va5+qw9UlkTOwWKxMPH06NInq5MpLrGZG0hE6qzko7m8GJMAwPTh4bRq7mlyIqkJKksi52F01yCae7mRmpXPLzszzI4jInWQzWbwyIKtnCoqIapNc27to+m3+kJlSeQ8eLg6c0uf0mUE5qzaZ3IaEamL5q5OZl3ycbzcnHlJV7/VKypLIufptr6huDhZWJ98gu0pWWbHEZE6ZN/RXF76ufTqt+nXRBDSTNNv9YnKksh5CvD24JrOLQAtIyAi/1NiM5g2fwv5RTb6t/Xl1tOj0FJ/qCyJXICyZQS+25LKkZwCc8OISJ0wZ9U+Nuw/QWN3F2Zd3xmLRdNv9Y3KksgF6N6qKd1CfCgssfHF2gNmxxERk+05cpKXfy69+u3xayIIbqrpt/pIZUnkApWNLn22dj+FxVpGQKShKpt+Kyi2cXk7X27uHWJ2JKklKksiF2h4pxb4N3HnSE4BP25LMzuOiJjko5X72HQg8/T0WxdNv9VjKksiF8jNxan89gVzVu3DMAyTE4mIve0+fJKXfymdfntiRAQtfRqZnEhqk8qSSDXc0qcVbi5ObDmUxeaDmWbHERE7KrEZTFuwhcJiG1e092P8pZp+q+9UlkSqoXljd67tGgRoGQGRhubfv+9l84FMmri78KKufmsQVJZEqqnsfnE/bUsjPSvf3DAiYhe7D+fw6pJEAJ4cFUkLq6bfGgKVJZFq6hhkpXfrZhTbDD6NTTY7jojUsuISGw/N30phsY0rO/gxrmew2ZHETlSWRC7CHadHl75Ye4D8ohJzw4hIrfrX73vZcjCTJh4uzLxOV781JCpLIhdhUEQALX0acSKviMVxqWbHEZFakpiRwxtLkgB4elRHAq0eJicSe1JZErkILs5OTIgqXUbgIy0jIFIvFZfYeHj+FgpLbFwV7s/1PVqaHUnsTGVJ5CLddGkrGrk6sys9h9i9x82OIyI17P3/7mXroSy8PVyYeZ2ufmuIVJZELpLV05XrTv9Lc+7qfSanEZGalJCewxtLS69+mzG6IwHemn5riFSWRGrAxH5hACzZmcHB43nmhhGRGlF0evqtqMRgUIQ/Y7tr+q2hUlkSqQHtAppweTtfbAZ8sibZ7DgiUgPeW7GHbSlZWBu58sJYTb81ZCpLIjVk0ullBOatP0huQbG5YUTkosSnZfPmstKr3/4xuiP+mn5r0FSWRGrIwPb+hDX3JCe/mIWbU8yOIyLV9Mfpt8GRAVzbLcjsSGIylSWRGuLkZOH20+cuzV21D5tNywiIOKJ3lu9hR2o2Pp6uPD+2k6bfRGVJpCbd0DOYxu4u7DmSy++7j5odR0Qu0I7ULN764/RbE02/icqSSI1q4uHKuF6l94uas0rLCIg4ksJiGw/P30qxzWBoxwBGd9X0m5RSWRKpYbdHhWGxwIqEI+w9ctLsOCJynt5evpv4tGyaerry3Bhd/Sb/o7IkUsPCfL24qoM/AB+vTjY3jIicl+0pWby9fDcAz1zbCb8m7iYnkrpEZUmkFky6rDUACzYeIju/yOQ0IlKV0um3LRTbDIZ3CmRklxZmR5I6RmVJpBZc1rY57QMak1tYwn/WHzQ7johUYfayJHal59DMy41nx+jqNzmTypJILbBYLEzsVzq69PGaZPKLSkxOJCKV2Z6Sxdsr9gDw7LWd8G2s6Tc5k8qSSC0Z270lPp6uHDx+ilFvrWTLwUyzI4nIHxQUl/DQf7ZQYjMY0aUFIzT9JmehsiRSSxq5OTP75h74NnYn6fBJrnt3NS/F7KKgWKNMInXBW7/uJiEjh+ZebjwzuqPZcaQOU1kSqUX92/myZOoVjO4aRInN4J0Vexj11kq2Hso0O5pIg7b1UCbv/lY6/fbcmE401/SbVEFlSaSWNfVy482bu/PebT3wbexGYsZJxr6zmld+TtAok4gJCopLeHh+6fTbqK5BDO+s6TepmsqSiJ0M69SCX6YOYGSXFpTYDGYv383ot1axPSXL7GgiDco/lyaRmHES38Zu/EPTb3IeVJZE7KiZlxuzb+nBu7f2oLmXGwkZOVz79ipe+yWBwmKb2fFE6r24g5m8Vz791plmXm4mJxJHoLIkYoLhnVvwy9QrGNG5dJTpzWW7GT17pUaZRGpRflHp9JvNgGu7BTGsU6DZkcRBqCyJmKR5Y3fevrUHb9/Sg2ZebuxKz2HM26t4bUmiRplEasEbS5PYffgkvo3dmTFK029y/lSWREw2okvpKNPwToEU2wze/DWJa99exc7UbLOjidQbmw6c4F//LZ1+e2FsJ5pq+k0ugMqSSB3g29idd27twVs3d6eppyvxadmMnr2SN5YmUlSiUSaRi5FfVMK009NvY7u3ZEhHTb/JhXGYsnTixAmio6OxWq1YrVaio6PJzMyscp+MjAwmTpxIUFAQnp6eDBs2jKSkpPLvHz9+nHvvvZcOHTrg6elJq1atuO+++8jK0nkjYn8Wi4VRXYP4ZeoAhnUsHWV6Y2kSY95eRXyaRplEquu1JYnsOZKLXxN3nh4VaXYccUAOU5ZuueUW4uLiiImJISYmhri4OKKjo8+6vWEYjBkzhr179/Ltt9+yefNmQkNDGTRoELm5uQCkpqaSmprKK6+8wrZt25g7dy4xMTHceeed9npbImfwa+LOu7f14M2bu+Pj6cqO1NJRpjd/TdIok8gFKCy28e/f9/Lv3/cCMHNsZ3w8Nf0mF85iGIZhdohziY+PJzIyktjYWPr06QNAbGwsUVFR7Nq1iw4dOpyxT2JiIh06dGD79u107Fh6Il9JSQn+/v68+OKL3HXXXZX+rPnz53PbbbeRm5uLi4vLeeXLzs7GarWSlZWFt7d3Nd+lyJkO5+TzxKLt/LIzA4BOLb15ZVxXwgP1eyZyNoZhsGRnBjN/2sW+o6X/OL6xVzAv3dDV5GRS15zv32+HGFlas2YNVqu1vCgB9O3bF6vVyurVqyvdp6CgAAAPD4/y55ydnXFzc2PlypVn/VllB+x8i5JIbfJv4sH70T35503dsDZyZXtKNqPeWsnsZUkUa5RJ5Aw7UrO45YO1/OXTjew7motvY3dmXdeZmdd1MTuaODCHaATp6en4+/uf8by/vz/p6emV7hMeHk5oaCjTp0/n/fffx8vLi9dee4309HTS0tIq3efYsWM8++yz3H333VXmKSgoKC9jUNpMRWqLxWLh2m4tiWrTnMcXbWdpfAav/JLIzzsyeGVcVzoENjE7oojpDmfn8+ovifxn40EMA9xcnLirf2v+dmVbGrs7xJ86qcNMHVmaMWMGFoulyseGDRuA0j8Yf2YYRqXPA7i6uvL111+TmJhIs2bN8PT0ZMWKFQwfPhxnZ+czts/OzmbEiBFERkby9NNPV5l75syZ5SeaW61WQkJCqvHuRS6Mv7cHH0zoyevju2Jt5Mq2lCxGvbWSt5fv1iiTNFj5RSXMXpbEwFdW8NWG0qI0sksLfn1wAI8MC1dRkhph6jlLR48e5ejRo1VuExYWxhdffMGDDz54xtVvPj4+vP7660yaNKnK18jKyqKwsBA/Pz/69OlDr169ePvtt8u/n5OTw9ChQ/H09OT777+vMHVXmcpGlkJCQnTOktjN4ex8Hl+0jaXxhwHoGmzllXFdaRegUSZpGAzDYPGWVF6KSSAl8xQAXUN8eGpkBD1Dm5mcThzF+Z6z5FAneK9du5bevXsDsHbtWvr27XvWE7wrk5SURHh4OD/99BNDhgwBSg/U0KFDcXd358cff8TT0/OC8+kEbzGDYRgs3JTCP77bQXZ+MW7OTkwd3J7Jl7fGxdkhTkcUqZZNB07w7Pc72XwgE4AgqwePDg9nVJcgnJwqn20QqUy9KksAw4cPJzU1lffffx+Av/zlL4SGhvLdd9+VbxMeHs7MmTMZO3YsUHplm5+fH61atWLbtm3cf//99OzZk6+//hooHVEaPHgweXl5LFq0CC8vr/LX8vPzq3S6rjIqS2Km9KzSUaZlu06PMoX48Oq4LrT11yiT1C8pmad48addLN6SCoCnmzN/HXAJd13ehkZu5/d5LfJH5/v322Emcz///HPuu+++8hGh0aNHM3v27ArbJCQkVFhQMi0tjQcffJCMjAxatGjBhAkTePLJJ8u/v3HjRtauXQtA27ZtK7zWvn37CAsLq6V3I1JzAq0efHh7LxZsPMQz3+9ky8FMrnlzJQ8Obs/ky9vgrH9pi4PLLSjm3RV7+OD3vRQU27BY4IYewTw8tAMB3lWfNiFSExxmZKku08iS1BXpWfk8tnArKxKOANC9lQ8v39CVtv6NTU4mcuFKbAYLNh7klV8SOZJTep5on9bNeHJkJJ1aWk1OJ/VBvZuGq8tUlqQuMQyD+RsO8ez3O8kpKMbNxYmHh7Tnzv4aZRLHsXrPUZ77Pp6dp2/1E9rck8eviWBIZMBZr4IWuVAqS3aksiR1UWrmKR5buI3/JpaOMvVo5cPL47pyiZ9GmaTu2nc0lxd+jGfJ6VXrm3i4cP/V7ZgQFYabiy5ckJqlsmRHKktSVxmGwX82HOTZ7+M5WVCMu4sT04Z2YNJlrTXKJHVKVl4Rby5L4pM1yRSVGDg7Wbi1TyseGNSeZl66n5vUDpUlO1JZkrouJfMUj329ld+TStc16xXalJdu6EIbjTKJyYpKbHweu583fk0iM68IgIEd/Pi/ayK0bpjUOpUlO1JZEkdgGAbz1h/k+R80yiTmMwyD5QmHef6HePYcKb3ZbTv/xjwxMpIB7f1MTicNhcqSHaksiSNJyTzFowu2snJ36SjTpWFNefmGroT5ep1jT5GakZCew3M/7Cwf6Wzm5caDg9tz06UhWlBV7EplyY5UlsTRGIbBF+sO8MIP8eQWluDh6sQjQ8OZ2C9MKyBLrTl6soDXliQyb90BbAa4OTsx6bIw/n5VW7w9XM2OJw2QypIdqSyJozp4PI/HFm5l1e5jAPRu3YyXb+hCaHONMknNKSguYc6qZN5etpucgmIAhncK5LHh4fpdE1OpLNmRypI4MsMw+HztAV74MZ68whIauTrz6LAOTIjSKJNcHMMw+Gl7OjN/iufg8dKb3XZuaeWJERH0adPc5HQiKkt2pbIk9cHB43k8smAra/aWjjL1ad2Ml2/oSqvmF35zaZGthzJ59vudrE8+AUCAtzvThoZzXfeWKuFSZ6gs2ZHKktQXNpvB52v388KPuzhVVIKnmzOPDQ/ntj6h+gMn5yUt6xQvxySwcHMKAB6uTvzliku4Z0AbPN0c5nak0kCoLNmRypLUNweO5TFtwRbW7jsOQN82paNMIc00yiSVyyss5v3f9vL+f/eQX2QD4LruLZk2rAMtrI1MTidSOZUlO1JZkvrIZjP4NHY/s3763yjT9GsiuLV3K40ySTmbzWDR5hRe/jmB9Ox8oHTR0ydHRtI1xMfccCLnoLJkRypLUp/tP5bLtPlbWZdcOsrU75LmvHh9F40yCev2Hee5H3ay9VAWAMFNGzF9eATXdA7UzW7FIags2ZHKktR3NpvBx2uSeTFmF/lFNrzcnHl8RAS39G6lP4oN0IFjecyKiefHbekANHZ34e9XtmXSZWF4uDqbnE7k/Kks2ZHKkjQUyUdzmbZgS/kVTv3b+jLr+s4EN9UoU0OQnV/E28t2M2dVMoUlNpwscFPvVjw4uD2+jd3NjidywVSW7EhlSRoSm81gzupkXv65dJSpsbsLj18Twc29QzTKVE8Vl9iYt/4gry9J5FhuIQCXt/Pl/0ZEEB6ozzxxXCpLdqSyJA3RvqO5TJu/hQ37S0eZLm/ny6zru9DSR1c+1Sf/TTzCcz/sJDHjJABt/Lx4YkQEV3bwVzkWh6eyZEcqS9JQldgM5qzax8s/J1BQXDrK9MSICMZfqlEmR7f7cA7P/xDP8oQjAPh4uvLA1e24tW8orrrZrdQTKkt2pLIkDd2eIyeZNn8Lmw5kAnBFez9mXdeZII0yOZzjuYW8sTSRz9ceoMRm4OJkYUJUGPdf3Q6rp252K/WLypIdqSyJlI4yfbhyL6/8kkhhsY0m7i48OTKScb2CNcrkAAqLbXyyJpk3f00iO7/0ZreDIwOYPjycNn6NTU4nUjtUluxIZUnkf3YfPsm0BVvYfHqUaWAHP2Ze11mrONdRhmHwy84MZv4YT/KxPAAiWnjz5IgI+rX1NTmdSO1SWbIjlSWRikpsBv/+fS+vLjk9yuRxepSpp0aZ6pIdqVk8+/1OYveWLjjq29idaUPbc0PPEJy1Srs0ACpLdqSyJFK53YdzeGj+VrYczATgyg5+zLyuC4FWD3ODNXCHs/N55ZcE5m88hGGAm4sTky9vzV8HtqWxu252Kw2HypIdqSyJnF1xiY0Pft/H60sSKSyx4e3hwlOjOnJ9j5YaZbKz/KIS/v37Xt5ZsYe8whIARnUN4tFhHbSwqDRIKkt2pLIkcm5JGTk8PH8LW07fR+zqcH9euK4zAd4aZapthmGweEsqL/60i9Ss0pvddgvx4cmRkfQMbWpyOhHzqCzZkcqSyPkpLrHx/n/38s+lSeWjTDNGd2Rsd40y1ZaN+0/w7Pc7iTs9FRpk9eDR4eGM7hqkYy4NnsqSHaksiVyYhPTSUaZtKaWjTIMiAnhhbCf8NcpUYw6dyOPFmAS+25IKgKebM38beAl3Xd5GN7sVOU1lyY5UlkQuXNko0xtLEykqMbA2cuUfoztybTeNeFyMkwXFvLtiN//+fR8FxTYsFhjXM5iHh3RQGRX5E5UlO1JZEqm+XenZPDx/C9tTsoHShRCfH9sJ/yb6w34hSmwG8zcc5JVfEjl6sgCAvm2a8cSISDq1tJqcTqRuUlmyI5UlkYtTVGLjvRV7eHNZEkUlBj6epaNMOq/m/KzefZRnf4gnPq20cIY19+TxayIYHBmg4ydSBZUlO1JZEqkZ8WnZPPSfLew8/Ud/aMcAnhvTGb8m7iYnq5v2HjnJCz/uYml8BgDeHi7cd3U7JkSF4eaim92KnIvKkh2pLInUnKISG+8s38Nby5Iothk09XTlH9d2YlSXFholOS0rr4h//prEJ2uSKbYZODtZuK1PK+4f1J5mXm5mxxNxGCpLdqSyJFLzdqaWnstUNso0vFMgz47phG/jhjvKVFRi4/PY/bzxaxKZeUVA6aro/zcigrb+TUxOJ+J4VJbsSGVJpHYUFtt4e/lu3l6+m2KbQTMvN565tiMjuwSZHc2uDMNgecJhnv8hnj1HcgFoH9CYJ0ZEckV7P5PTiTgulSU7UlkSqV3bU7J4eP4WdqXnAHBN50CevbYTzRvAKNOu9Gye+z6elbuPAtDcy40Hh7RnfK8QXJx1XpLIxVBZsiOVJZHaV1hsY/ayJN5esYcSm0FzLzeeHdOJazq3MDtarTh6soBXf0nkq/UHsBng5uzEpP5h/P3Ktnh7uJodT6ReUFmyI5UlEfv58yjTiC4tePbaTvXmxOb8ohLmrErm7eW7OVlQDJSOpD02LIJWzXWzW5GapLJkRypLIvZVUFzCW7/u5t3f/jfK9NyYTgx34FEmwzD4cVs6M3+K59CJUwB0CbbyxIhIerduZnI6kfpJZcmOVJZEzLH1UCYPz99CYsZJAEZ1DeKZ0R1p6mCjTFsOZvLcDztZn3wCgEBvDx4Z1oEx3Vri5KTlEkRqi8qSHaksiZinoLiEN39N4t0Ve7AZ4NvYjefGdGZYp0Czo51TWtYpXo5JYOHmFAAauTpz94A2/OWKNni6uZicTqT+U1myI5UlEfNtOVg6ypR0uHSU6dpuQcwYVTdHmfIKi3nvt7386797yC+yAXBdj5Y8MjScQKvuiSdiLypLdqSyJFI35BeV8M9fk3j/t7JRJndeGNuJIR3rxiiTzWawcHMKL/+8i4zs0pvdXhrWlCdHRtIl2MfccCINkMqSHaksidQtcQczeeg/ceULOI7t3pKnR0Xi42neKNO6fcd59vudbEvJAiCkWSOmD49geKdA3cZFxCQqS3aksiRS9+QXlfD60kQ++O9ebAb4NXFn5tjODIoMsGuOA8fymPlTPD9tTwegibsLU65qy+39wvBwdbZrFhGpSGXJjlSWROquTQdOMG3+lvJRpuu6t+TpUR2xetbuwo7Z+UXMXrabuauSKSyx4WSBm3u3Yurg9g36/nYidYnKkh2pLInUbflFJby+JJF//b4Xw4AAb3dmXteZq8JrfpSpuMTGl+sP8vqSRI7nFgJweTtfnhgRSYdA3exWpC5RWbIjlSURx7Bxf+ko096jpaNM1/cI5qlRkVgb1cwo02+JR3j+h53l6z5d4ufFEyMiGdjBT+clidRBKkt2pLIk4jjyi0p49ZcE/r1yX/ko06zrunBluH+1X3P34Rye+yGeFQlHAPDxdGXqoPbc0qcVrrrZrUidpbJkRypLIo5nQ/Jxpi3Yyr7To0zjegbzxMgLG2U6nlvIG0sT+XztAUpsBq7OFiZEhXHfVe1q/ZwoEbl4Kkt2pLIk4phOFZbwyi8JfLSqdJQp0NuDWdd3ZmCHqkeZCottfLImmX/+mkROfunNbodEBjD9mgha+3rZI7qI1ACVJTtSWRJxbOuTjzNt/haSj+UBML5XCP83MgJvj4qjQ4Zh8POODGb+FM/+09tGtvDmiZER9LvE1+65ReTiqCzZkcqSiOM7VVjCSz/vYu7qZAwDWlg9ePH6LlzR3g+A7SlZPPfDTmL3HgdK122aNqQD1/cMxlk3uxVxSCpLdqSyJFJ/rN17jGkLtnLgeOnI0U2XhlBiM1iw6RCGAe4uTky+vA33DLyExu662a2II1NZsiOVJZH6Ja+wmJdiEpi7OrnC89d2C+KRYeG09GlkTjARqVHn+/db/ywSEfkTTzcXZozuyLBOgTz97Q6snq48NjycHq2amh1NREygkaUaoJElERERx3O+f7+1WpqIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoOU5ZOnDhBdHQ0VqsVq9VKdHQ0mZmZVe6TkZHBxIkTCQoKwtPTk2HDhpGUlFTptoZhMHz4cCwWC998803NvwERERFxSA5Tlm655Rbi4uKIiYkhJiaGuLg4oqOjz7q9YRiMGTOGvXv38u2337J582ZCQ0MZNGgQubm5Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII=" - }, - "metadata": {} - } - ], - "execution_count": 22 - }, - { - "metadata": {}, - "cell_type": "markdown", - "source": "## Load Workflow with pyiron_workflow", - "id": "406b0429e65b9760" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "from python_workflow_definition.pyiron_workflow import load_workflow_json", - "id": "1b45a453f593202f" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf = load_workflow_json(file_name=workflow_json_filename)", - "id": "97ef39ae859855ab" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf.draw(size=(10,10))", - "id": "4368c6921b71e396" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "wf.run()", - "id": "b9130e7566a72f27" - } - ] -} +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"be2d61b0-0d47-4349-b4b0-1b767c961644","cell_type":"markdown","source":"# pyiron","metadata":{}},{"id":"0bad2a57-1bd2-4837-94fe-f8c60e211fae","cell_type":"markdown","source":"## Define workflow with pyiron_base","metadata":{}},{"id":"a2ed2608-9e1b-4a81-81cb-5079573ea2d1","cell_type":"code","source":"import numpy as np\nfrom pyiron_base import job\nfrom python_workflow_definition.pyiron_base import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"ea65c6275f956bdb","cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"686a6a5f54a0cef5","cell_type":"code","source":"workflow_json_filename = \"pyiron_base_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"208ddfb8-dfda-4227-aa1f-3dc29e34ea82","cell_type":"code","source":"calculate_qe = job(_calculate_qe, output_key_lst=[\"energy\", \"volume\", \"structure\"])\ngenerate_structures = job(_generate_structures)\nplot_energy_volume_curve = job(_plot_energy_volume_curve)\nget_bulk_structure = job(_get_bulk_structure)","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"5071d3a0-7c1f-44c5-85e0-dede1566c10c","cell_type":"code","source":"pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"1f1cb12f-4001-478d-8ea0-b369f4f2981a","cell_type":"code","source":"structure = get_bulk_structure(\n element=\"Al\",\n a=4.04,\n cubic=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"4140f07b-af54-41ef-be22-df6b5b53bf95","cell_type":"code","source":"calc_mini = calculate_qe(\n working_directory=\"mini\",\n input_dict={\n \"structure\": structure,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"vc-relax\",\n \"smearing\": 0.02,\n },\n)","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"3c4dae11-8750-42d5-807c-cd19f2b65706","cell_type":"code","source":"number_of_strains = 5\nstructure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=calc_mini.output.structure,\n strain_lst=np.linspace(0.9, 1.1, number_of_strains),\n list_length=number_of_strains,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"fdf3b62d-6cce-4312-8a5b-057224e36aca","cell_type":"code","source":"job_strain_lst = []\nfor i, structure_strain in enumerate(structure_lst):\n calc_strain = calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict={\n \"structure\": structure_strain,\n \"pseudopotentials\": pseudopotentials,\n \"kpts\": (3, 3, 3),\n \"calculation\": \"scf\",\n \"smearing\": 0.02,\n },\n )\n job_strain_lst.append(calc_strain)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"b2823306-0a8a-4ae6-bb1f-104e90e2fe41","cell_type":"code","source":"plot = plot_energy_volume_curve(\n volume_lst=[job.output.volume for job in job_strain_lst],\n energy_lst=[job.output.energy for job in job_strain_lst],\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"52646121-335f-48e6-bd5e-a1d69d00e8bc","cell_type":"code","source":"write_workflow_json(delayed_object=plot, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"72c8e6e6-8e60-4a4f-81f3-968b4b5f36ee","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"{\n \"version\": \"0.1.0\",\n \"nodes\": [\n {\n \"id\": 0,\n \"type\": \"function\",\n \"value\": \"workflow.plot_energy_volume_curve\"\n },\n {\n \"id\": 1,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 2,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 3,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 4,\n \"type\": \"function\",\n \"value\": \"workflow.generate_structures\"\n },\n {\n \"id\": 5,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 6,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 7,\n \"type\": \"function\",\n \"value\": \"workflow.get_bulk_structure\"\n },\n {\n \"id\": 8,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 9,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 10,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 11,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 12,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 13,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 14,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 15,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 16,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"strain_0\"\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"mini\"\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 20,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 21,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 23,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 24,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 25,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 26,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.9500000000000001,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 27,\n \"type\": \"input\",\n \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 28,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\n },\n {\n \"id\": 29,\n \"type\": \"input\",\n \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\n },\n {\n \"id\": 30,\n \"type\": \"input\",\n \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\n },\n {\n \"id\": 31,\n \"type\": \"input\",\n \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\n },\n {\n \"id\": 32,\n \"type\": \"output\",\n \"name\": \"result\"\n }\n ],\n \"edges\": [\n {\n \"target\": 0,\n \"targetPort\": \"volume_lst\",\n \"source\": 1,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"0\",\n \"source\": 2,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 2,\n \"targetPort\": \"working_directory\",\n \"source\": 17,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"input_dict\",\n \"source\": 3,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_0\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"structure\",\n \"source\": 5,\n \"sourcePort\": \"structure\"\n },\n {\n \"target\": 5,\n \"targetPort\": \"working_directory\",\n \"source\": 18,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"input_dict\",\n \"source\": 6,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"structure\",\n \"source\": 7,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"element\",\n \"source\": 19,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"a\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"cubic\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"calculation\",\n \"source\": 24,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"strain_lst\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"1\",\n \"source\": 8,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 8,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"input_dict\",\n \"source\": 9,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_1\"\n },\n {\n \"target\": 9,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"2\",\n \"source\": 10,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 10,\n \"targetPort\": \"working_directory\",\n \"source\": 29,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"input_dict\",\n \"source\": 11,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_2\"\n },\n {\n \"target\": 11,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"3\",\n \"source\": 12,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 12,\n \"targetPort\": \"working_directory\",\n \"source\": 30,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"input_dict\",\n \"source\": 13,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_3\"\n },\n {\n \"target\": 13,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"4\",\n \"source\": 14,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"working_directory\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 14,\n \"targetPort\": \"input_dict\",\n \"source\": 15,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"structure\",\n \"source\": 4,\n \"sourcePort\": \"s_4\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"kpts\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"calculation\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 15,\n \"targetPort\": \"smearing\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"energy_lst\",\n \"source\": 16,\n \"sourcePort\": null\n },\n {\n \"target\": 16,\n \"targetPort\": \"0\",\n \"source\": 2,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"1\",\n \"source\": 8,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"2\",\n \"source\": 10,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"3\",\n \"source\": 12,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 16,\n \"targetPort\": \"4\",\n \"source\": 14,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 0,\n \"sourcePort\": null\n }\n ]\n}"}],"execution_count":12},{"id":"7d75a2f6-6fad-49c8-bd29-37cca1b84441","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"28760464-2a2c-40c2-9451-20713da2ba2c","cell_type":"code","source":"from aiida import orm, load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":13,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":13},{"id":"a442fe46-057c-469b-a5e0-173ed4829dfb","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"id":"32fcd4b2-4f0a-442d-b098-827672823796","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"id":"d81a4fb5-a674-41a9-ac19-24c56f952468","cell_type":"code","source":"wg.nodes.get_bulk_structure8.inputs.a.value = orm.Float(4.05)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"id":"a80b59bd-fe30-49c6-92ca-35ef2d77a6fb","cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"05/26/2025 04:46:41 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure8\n05/26/2025 04:46:41 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_bulk_structure8, type: PyFunction, finished.\n05/26/2025 04:46:41 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict7\n05/26/2025 04:46:42 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict7, type: PyFunction, finished.\n05/26/2025 04:46:42 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe6\n[jupyter-pythonworkflow-fl--x---218119f8:01776] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:47:34 AM <1688> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n05/26/2025 04:47:34 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe6, type: PyFunction, finished.\n05/26/2025 04:47:34 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures5\n05/26/2025 04:47:35 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: generate_structures5, type: PyFunction, finished.\n05/26/2025 04:47:35 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict4,get_dict10,get_dict12,get_dict14,get_dict16\n05/26/2025 04:47:36 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict4, type: PyFunction, finished.\n05/26/2025 04:47:36 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe3,get_dict10,get_dict12,get_dict14,get_dict16\n[jupyter-pythonworkflow-fl--x---218119f8:01828] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:47:47 AM <1688> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 04:47:47 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe3, type: PyFunction, finished.\n05/26/2025 04:47:47 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict10,get_dict12,get_dict14,get_dict16\n05/26/2025 04:47:48 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict10, type: PyFunction, finished.\n05/26/2025 04:47:48 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe9,get_dict12,get_dict14,get_dict16\n[jupyter-pythonworkflow-fl--x---218119f8:01860] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:47:59 AM <1688> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 04:48:00 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe9, type: PyFunction, finished.\n05/26/2025 04:48:00 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict12,get_dict14,get_dict16\n05/26/2025 04:48:00 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict12, type: PyFunction, finished.\n05/26/2025 04:48:00 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe11,get_dict14,get_dict16\n[jupyter-pythonworkflow-fl--x---218119f8:01874] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:48:13 AM <1688> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 04:48:13 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe11, type: PyFunction, finished.\n05/26/2025 04:48:13 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict14,get_dict16\n05/26/2025 04:48:14 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict14, type: PyFunction, finished.\n05/26/2025 04:48:14 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe13,get_dict16\n[jupyter-pythonworkflow-fl--x---218119f8:01885] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:48:29 AM <1688> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 04:48:29 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe13, type: PyFunction, finished.\n05/26/2025 04:48:29 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict16\n05/26/2025 04:48:29 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict16, type: PyFunction, finished.\n05/26/2025 04:48:29 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe15\n[jupyter-pythonworkflow-fl--x---218119f8:01895] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 04:48:44 AM <1688> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 04:48:44 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe15, type: PyFunction, finished.\n05/26/2025 04:48:44 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list2,get_list17\n05/26/2025 04:48:44 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_list2, type: PyFunction, finished.\n05/26/2025 04:48:44 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list17\n05/26/2025 04:48:45 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_list17, type: PyFunction, finished.\n05/26/2025 04:48:45 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve1\n05/26/2025 04:48:45 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve1, type: PyFunction, finished.\n05/26/2025 04:48:46 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n05/26/2025 04:48:46 AM <1688> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|finalize]: Finalize workgraph.\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":17},{"id":"c4f5c047-c6da-4b54-9007-415faca7a448","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"b8e3c2ca-2672-4e9d-aada-63344842dbcf","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":18},{"id":"54a24ff6c569094e","cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":19},{"id":"48a27146-7372-40ab-8b02-e2a9283d4748","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":20},{"id":"bf84ef10-e1af-475f-a457-d2703c7276a0","cell_type":"code","source":"flow[0].function_kwargs[\"a\"] = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":21},{"id":"98fa5694-2cc6-44e9-a6e7-2cc71b4f48ce","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-05-26 04:48:47,564 INFO Started executing jobs locally\n2025-05-26 04:48:47,751 INFO Starting job - get_bulk_structure (f386f375-fcc9-4700-a077-b8c7b4ed29d4)\n2025-05-26 04:48:47,754 INFO Finished job - get_bulk_structure (f386f375-fcc9-4700-a077-b8c7b4ed29d4)\n2025-05-26 04:48:47,755 INFO Starting job - get_dict (6c1c9b0f-5c14-4ae9-be98-984400228394)\n2025-05-26 04:48:47,757 INFO Finished job - get_dict (6c1c9b0f-5c14-4ae9-be98-984400228394)\n2025-05-26 04:48:47,757 INFO Starting job - calculate_qe (f511b680-fa97-420f-904d-2ae232dbe75b)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:01905] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:49:37,980 INFO Finished job - calculate_qe (f511b680-fa97-420f-904d-2ae232dbe75b)\n2025-05-26 04:49:37,981 INFO Starting job - generate_structures (d5fc7015-e7fe-4111-bf16-23bdc6755f93)\n2025-05-26 04:49:37,985 INFO Finished job - generate_structures (d5fc7015-e7fe-4111-bf16-23bdc6755f93)\n2025-05-26 04:49:37,986 INFO Starting job - get_dict (49b7b2e8-78ca-4d63-bfa6-f3b47ca3378f)\n2025-05-26 04:49:37,988 INFO Finished job - get_dict (49b7b2e8-78ca-4d63-bfa6-f3b47ca3378f)\n2025-05-26 04:49:37,988 INFO Starting job - get_dict (a45e0be5-c229-4817-8dc8-e2f54c46205f)\n2025-05-26 04:49:37,990 INFO Finished job - get_dict (a45e0be5-c229-4817-8dc8-e2f54c46205f)\n2025-05-26 04:49:37,990 INFO Starting job - get_dict (30bf90f1-57c2-474b-8bd2-d8a18061d85c)\n2025-05-26 04:49:37,992 INFO Finished job - get_dict (30bf90f1-57c2-474b-8bd2-d8a18061d85c)\n2025-05-26 04:49:37,993 INFO Starting job - get_dict (d4b595f2-93a9-42d7-a547-f64be9b4ca80)\n2025-05-26 04:49:37,995 INFO Finished job - get_dict (d4b595f2-93a9-42d7-a547-f64be9b4ca80)\n2025-05-26 04:49:37,996 INFO Starting job - get_dict (8c32a293-38d8-4c3a-82fc-78edd324d64d)\n2025-05-26 04:49:37,998 INFO Finished job - get_dict (8c32a293-38d8-4c3a-82fc-78edd324d64d)\n2025-05-26 04:49:37,998 INFO Starting job - calculate_qe (e747fb6a-e704-44ff-906e-664be75da6fc)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:01923] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:49:48,629 INFO Finished job - calculate_qe (e747fb6a-e704-44ff-906e-664be75da6fc)\n2025-05-26 04:49:48,630 INFO Starting job - calculate_qe (579fbf80-e6e7-464c-a808-f5cecd9ef430)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:01934] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:50:00,439 INFO Finished job - calculate_qe (579fbf80-e6e7-464c-a808-f5cecd9ef430)\n2025-05-26 04:50:00,439 INFO Starting job - calculate_qe (ceb70e3f-c90a-4aa3-a670-23ecf40fa11b)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:01945] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:50:13,181 INFO Finished job - calculate_qe (ceb70e3f-c90a-4aa3-a670-23ecf40fa11b)\n2025-05-26 04:50:13,182 INFO Starting job - calculate_qe (290a2a1d-9a74-40b1-af28-e4f61b357694)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:01955] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:50:27,249 INFO Finished job - calculate_qe (290a2a1d-9a74-40b1-af28-e4f61b357694)\n2025-05-26 04:50:27,250 INFO Starting job - calculate_qe (a9f810e8-c291-46b9-ab8f-4c59765bf3b9)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:01965] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 04:50:37,525 INFO Finished job - calculate_qe (a9f810e8-c291-46b9-ab8f-4c59765bf3b9)\n2025-05-26 04:50:37,526 INFO Starting job - get_list (20122c29-0e2d-4a9c-8506-d371390f8042)\n2025-05-26 04:50:37,528 INFO Finished job - get_list (20122c29-0e2d-4a9c-8506-d371390f8042)\n2025-05-26 04:50:37,529 INFO Starting job - get_list (9842e2f0-3ca3-4a23-b82b-a3644a0294a8)\n2025-05-26 04:50:37,531 INFO Finished job - get_list (9842e2f0-3ca3-4a23-b82b-a3644a0294a8)\n2025-05-26 04:50:37,532 INFO Starting job - plot_energy_volume_curve (a1614162-0427-4cd2-a2c4-01837c5ae505)\n2025-05-26 04:50:37,581 INFO Finished job - plot_energy_volume_curve (a1614162-0427-4cd2-a2c4-01837c5ae505)\n2025-05-26 04:50:37,582 INFO Finished executing jobs locally\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"execution_count":22,"output_type":"execute_result","data":{"text/plain":"{'f386f375-fcc9-4700-a077-b8c7b4ed29d4': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '6c1c9b0f-5c14-4ae9-be98-984400228394': {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/jovyan/example_workflows/quantum_espresso'))},\n 'f511b680-fa97-420f-904d-2ae232dbe75b': {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.045637215946841, 0.0, 0.0], [0.0, 4.045637215946841, 0.0], [0.0, 0.0, 4.045637215946841]], \"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.02281860797342, 2.02281860797342], [2.02281860797342, 0.0, 2.02281860797342], [2.02281860797342, 2.02281860797342, 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.9365262253598, 'volume': 66.21567448236252}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'd5fc7015-e7fe-4111-bf16-23bdc6755f93': {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.906019785962149, 0.0, 0.0], [0.0, 3.906019785962149, 0.0], [0.0, 0.0, 3.906019785962149]], \"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.953009892981074, 1.953009892981074], [1.953009892981074, 0.0, 1.953009892981074], [1.953009892981074, 1.953009892981074, 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.977053844318049, 0.0, 0.0], [0.0, 3.977053844318049, 0.0], [0.0, 0.0, 3.977053844318049]], \"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.988526922159024, 1.988526922159024], [1.988526922159024, 0.0, 1.988526922159024], [1.988526922159024, 1.988526922159024, 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.045637215946841, 0.0, 0.0], [0.0, 4.045637215946841, 0.0], [0.0, 0.0, 4.045637215946841]], \"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.02281860797342, 2.02281860797342], [2.02281860797342, 0.0, 2.02281860797342], [2.02281860797342, 2.02281860797342, 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.111970927282956, 0.0, 0.0], [0.0, 4.111970927282956, 0.0], [0.0, 0.0, 4.111970927282956]], \"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.0559854636414774, 2.0559854636414774], [2.0559854636414774, 0.0, 2.0559854636414774], [2.0559854636414774, 2.0559854636414774, 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.176230852372181, 0.0, 0.0], [0.0, 4.176230852372181, 0.0], [0.0, 0.0, 4.176230852372181]], \"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.08811542618609, 2.08811542618609], [2.08811542618609, 0.0, 2.08811542618609], [2.08811542618609, 2.08811542618609, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '49b7b2e8-78ca-4d63-bfa6-f3b47ca3378f': {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.977053844318049, 0.0, 0.0], [0.0, 3.977053844318049, 0.0], [0.0, 0.0, 3.977053844318049]], \"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.988526922159024, 1.988526922159024], [1.988526922159024, 0.0, 1.988526922159024], [1.988526922159024, 1.988526922159024, 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/jovyan/example_workflows/quantum_espresso'))},\n 'a45e0be5-c229-4817-8dc8-e2f54c46205f': {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.045637215946841, 0.0, 0.0], [0.0, 4.045637215946841, 0.0], [0.0, 0.0, 4.045637215946841]], \"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.02281860797342, 2.02281860797342], [2.02281860797342, 0.0, 2.02281860797342], [2.02281860797342, 2.02281860797342, 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/jovyan/example_workflows/quantum_espresso'))},\n '30bf90f1-57c2-474b-8bd2-d8a18061d85c': {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.111970927282956, 0.0, 0.0], [0.0, 4.111970927282956, 0.0], [0.0, 0.0, 4.111970927282956]], \"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.0559854636414774, 2.0559854636414774], [2.0559854636414774, 0.0, 2.0559854636414774], [2.0559854636414774, 2.0559854636414774, 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/jovyan/example_workflows/quantum_espresso'))},\n 'd4b595f2-93a9-42d7-a547-f64be9b4ca80': {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.176230852372181, 0.0, 0.0], [0.0, 4.176230852372181, 0.0], [0.0, 0.0, 4.176230852372181]], \"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.08811542618609, 2.08811542618609], [2.08811542618609, 0.0, 2.08811542618609], [2.08811542618609, 2.08811542618609, 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/jovyan/example_workflows/quantum_espresso'))},\n '8c32a293-38d8-4c3a-82fc-78edd324d64d': {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.906019785962149, 0.0, 0.0], [0.0, 3.906019785962149, 0.0], [0.0, 0.0, 3.906019785962149]], \"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.953009892981074, 1.953009892981074], [1.953009892981074, 0.0, 1.953009892981074], [1.953009892981074, 1.953009892981074, 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/jovyan/example_workflows/quantum_espresso'))},\n 'e747fb6a-e704-44ff-906e-664be75da6fc': {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.9770538269346, 0.0, 0.0], [0.0, 3.9770538269346, 0.0], [0.0, 0.0, 3.9770538269346]], \"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.9885269135082753, 1.9885269135082753], [1.9885269135082753, 0.0, 1.9885269135082753], [1.9885269135082753, 1.9885269135082753, 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.9161488594614, 'volume': 62.904889933384574}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '579fbf80-e6e7-464c-a808-f5cecd9ef430': {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.045637198263616, 0.0, 0.0], [0.0, 4.045637198263616, 0.0], [0.0, 0.0, 4.045637198263616]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9365241668363, 'volume': 66.21567361408889}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'ceb70e3f-c90a-4aa3-a670-23ecf40fa11b': {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.111970909309796, 0.0, 0.0], [0.0, 4.111970909309796, 0.0], [0.0, 0.0, 4.111970909309796]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9192860025814, 'volume': 69.52645729479359}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '290a2a1d-9a74-40b1-af28-e4f61b357694': {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.17623083411814, 0.0, 0.0], [0.0, 4.17623083411814, 0.0], [0.0, 0.0, 4.17623083411814]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.08811541707298, 2.08811541707298], [2.08811541707298, 0.0, 2.08811541707298], [2.08811541707298, 2.08811541707298, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693417, 'volume': 72.83724097549783}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'a9f810e8-c291-46b9-ab8f-4c59765bf3b9': {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.9060197688891853, 0.0, 0.0], [0.0, 3.9060197688891853, 0.0], [0.0, 0.0, 3.9060197688891853]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150612, 'volume': 59.59410625268013}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '20122c29-0e2d-4a9c-8506-d371390f8042': {1: Response(output=[-1074.8457446150612, -1074.9161488594614, -1074.9365241668363, -1074.9192860025814, -1074.8737904693417], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '9842e2f0-3ca3-4a23-b82b-a3644a0294a8': {1: Response(output=[59.59410625268013, 62.904889933384574, 66.21567361408889, 69.52645729479359, 72.83724097549783], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'a1614162-0427-4cd2-a2c4-01837c5ae505': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))}}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":22},{"id":"406b0429e65b9760","cell_type":"markdown","source":"## Load Workflow with pyiron_workflow","metadata":{}},{"id":"1b45a453f593202f","cell_type":"code","source":"from python_workflow_definition.pyiron_workflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":23},{"id":"97ef39ae859855ab","cell_type":"code","source":"wf = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"id":"907dcc6d-97a6-4b6a-8214-4ba96ce26769","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"4368c6921b71e396","cell_type":"code","source":"wf.get_bulk_structure.inputs.a.value = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":25},{"id":"659ccc92-a4d9-4876-a63a-be5dac50e295","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":26,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclusterpyiron_base_qe\n\npyiron_base_qe: Workflow\n\nclusterpyiron_base_qeInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeplot_energy_volume_curve\n\n\n\n\n\n\n\nplot_energy_volume_curve: plot_energy_volume_curve\n\n\nclusterpyiron_base_qeplot_energy_volume_curveInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeplot_energy_volume_curveOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_list_0\n\n\n\n\n\n\n\nget_list_0: get_list\n\n\nclusterpyiron_base_qeget_list_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_list_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qecalculate_qe_0\n\n\n\n\n\n\n\ncalculate_qe_0: calculate_qe\n\n\nclusterpyiron_base_qecalculate_qe_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qecalculate_qe_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_dict_0\n\n\n\n\n\n\n\nget_dict_0: get_dict\n\n\nclusterpyiron_base_qeget_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qegenerate_structures\n\n\n\n\n\n\n\ngenerate_structures: generate_structures\n\n\nclusterpyiron_base_qegenerate_structuresInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qecalculate_qe_1\n\n\n\n\n\n\n\ncalculate_qe_1: calculate_qe\n\n\nclusterpyiron_base_qecalculate_qe_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qecalculate_qe_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_dict_1\n\n\n\n\n\n\n\nget_dict_1: get_dict\n\n\nclusterpyiron_base_qeget_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_bulk_structure\n\n\n\n\n\n\n\nget_bulk_structure: get_bulk_structure\n\n\nclusterpyiron_base_qeget_bulk_structureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_bulk_structureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qecalculate_qe_2\n\n\n\n\n\n\n\ncalculate_qe_2: calculate_qe\n\n\nclusterpyiron_base_qecalculate_qe_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qecalculate_qe_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_dict_2\n\n\n\n\n\n\n\nget_dict_2: get_dict\n\n\nclusterpyiron_base_qeget_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qecalculate_qe_3\n\n\n\n\n\n\n\ncalculate_qe_3: calculate_qe\n\n\nclusterpyiron_base_qecalculate_qe_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qecalculate_qe_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_dict_3\n\n\n\n\n\n\n\nget_dict_3: get_dict\n\n\nclusterpyiron_base_qeget_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qecalculate_qe_4\n\n\n\n\n\n\n\ncalculate_qe_4: calculate_qe\n\n\nclusterpyiron_base_qecalculate_qe_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qecalculate_qe_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_dict_4\n\n\n\n\n\n\n\nget_dict_4: get_dict\n\n\nclusterpyiron_base_qeget_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qecalculate_qe_5\n\n\n\n\n\n\n\ncalculate_qe_5: calculate_qe\n\n\nclusterpyiron_base_qecalculate_qe_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qecalculate_qe_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_dict_5\n\n\n\n\n\n\n\nget_dict_5: get_dict\n\n\nclusterpyiron_base_qeget_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeget_list_1\n\n\n\n\n\n\n\nget_list_1: get_list\n\n\nclusterpyiron_base_qeget_list_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeget_list_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443\n\n\n\n\n\n\n\ninjected_GetItem_8448190184761347443: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667\n\n\n\n\n\n\n\ninjected_GetItem_6888005398033223667: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208\n\n\n\n\n\n\n\ninjected_GetItem_m2505717702026653208: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258\n\n\n\n\n\n\n\ninjected_GetItem_m5521004309196267258: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213\n\n\n\n\n\n\n\ninjected_GetItem_1374405447673059213: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602\n\n\n\n\n\n\n\ninjected_GetItem_4462229027723870602: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276\n\n\n\n\n\n\n\ninjected_GetItem_2384803467043042276: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316\n\n\n\n\n\n\n\ninjected_GetItem_7146740412064090316: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618\n\n\n\n\n\n\n\ninjected_GetItem_m350772300549240618: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236\n\n\n\n\n\n\n\ninjected_GetItem_4087305954482680236: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176\n\n\n\n\n\n\n\ninjected_GetItem_4692661231677176: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074\n\n\n\n\n\n\n\ninjected_GetItem_1607275248375012074: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821\n\n\n\n\n\n\n\ninjected_GetItem_3768223398597047821: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319\n\n\n\n\n\n\n\ninjected_GetItem_8054512655741111319: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312\n\n\n\n\n\n\n\ninjected_GetItem_m5340856505475737312: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304\n\n\n\n\n\n\n\ninjected_GetItem_m9009035754021092304: GetItem\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclusterpyiron_base_qeInputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeOutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_0__working_directory\n\ncalculate_qe_0__working_directory\n\n\n\nclusterpyiron_base_qecalculate_qe_0Inputsworking_directory\n\nworking_directory\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_0__working_directory->clusterpyiron_base_qecalculate_qe_0Inputsworking_directory\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__pseudopotentials\n\nget_dict_0__pseudopotentials\n\n\n\nclusterpyiron_base_qeget_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__pseudopotentials->clusterpyiron_base_qeget_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__kpts\n\nget_dict_0__kpts\n\n\n\nclusterpyiron_base_qeget_dict_0Inputskpts\n\nkpts\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__kpts->clusterpyiron_base_qeget_dict_0Inputskpts\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__calculation\n\nget_dict_0__calculation\n\n\n\nclusterpyiron_base_qeget_dict_0Inputscalculation\n\ncalculation\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__calculation->clusterpyiron_base_qeget_dict_0Inputscalculation\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__smearing\n\nget_dict_0__smearing\n\n\n\nclusterpyiron_base_qeget_dict_0Inputssmearing\n\nsmearing\n\n\n\nclusterpyiron_base_qeInputsget_dict_0__smearing->clusterpyiron_base_qeget_dict_0Inputssmearing\n\n\n\n\n\n\nclusterpyiron_base_qeInputsgenerate_structures__strain_lst\n\ngenerate_structures__strain_lst\n\n\n\nclusterpyiron_base_qegenerate_structuresInputsstrain_lst\n\nstrain_lst\n\n\n\nclusterpyiron_base_qeInputsgenerate_structures__strain_lst->clusterpyiron_base_qegenerate_structuresInputsstrain_lst\n\n\n\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_1__working_directory\n\ncalculate_qe_1__working_directory\n\n\n\nclusterpyiron_base_qecalculate_qe_1Inputsworking_directory\n\nworking_directory\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_1__working_directory->clusterpyiron_base_qecalculate_qe_1Inputsworking_directory\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__pseudopotentials\n\nget_dict_1__pseudopotentials\n\n\n\nclusterpyiron_base_qeget_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__pseudopotentials->clusterpyiron_base_qeget_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__kpts\n\nget_dict_1__kpts\n\n\n\nclusterpyiron_base_qeget_dict_1Inputskpts\n\nkpts\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__kpts->clusterpyiron_base_qeget_dict_1Inputskpts\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__calculation\n\nget_dict_1__calculation\n\n\n\nclusterpyiron_base_qeget_dict_1Inputscalculation\n\ncalculation\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__calculation->clusterpyiron_base_qeget_dict_1Inputscalculation\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__smearing\n\nget_dict_1__smearing\n\n\n\nclusterpyiron_base_qeget_dict_1Inputssmearing\n\nsmearing\n\n\n\nclusterpyiron_base_qeInputsget_dict_1__smearing->clusterpyiron_base_qeget_dict_1Inputssmearing\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_bulk_structure__element\n\nget_bulk_structure__element\n\n\n\nclusterpyiron_base_qeget_bulk_structureInputselement\n\nelement\n\n\n\nclusterpyiron_base_qeInputsget_bulk_structure__element->clusterpyiron_base_qeget_bulk_structureInputselement\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_bulk_structure__a\n\nget_bulk_structure__a\n\n\n\nclusterpyiron_base_qeget_bulk_structureInputsa\n\na\n\n\n\nclusterpyiron_base_qeInputsget_bulk_structure__a->clusterpyiron_base_qeget_bulk_structureInputsa\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_bulk_structure__cubic\n\nget_bulk_structure__cubic\n\n\n\nclusterpyiron_base_qeget_bulk_structureInputscubic\n\ncubic\n\n\n\nclusterpyiron_base_qeInputsget_bulk_structure__cubic->clusterpyiron_base_qeget_bulk_structureInputscubic\n\n\n\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_2__working_directory\n\ncalculate_qe_2__working_directory\n\n\n\nclusterpyiron_base_qecalculate_qe_2Inputsworking_directory\n\nworking_directory\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_2__working_directory->clusterpyiron_base_qecalculate_qe_2Inputsworking_directory\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__pseudopotentials\n\nget_dict_2__pseudopotentials\n\n\n\nclusterpyiron_base_qeget_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__pseudopotentials->clusterpyiron_base_qeget_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__kpts\n\nget_dict_2__kpts\n\n\n\nclusterpyiron_base_qeget_dict_2Inputskpts\n\nkpts\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__kpts->clusterpyiron_base_qeget_dict_2Inputskpts\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__calculation\n\nget_dict_2__calculation\n\n\n\nclusterpyiron_base_qeget_dict_2Inputscalculation\n\ncalculation\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__calculation->clusterpyiron_base_qeget_dict_2Inputscalculation\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__smearing\n\nget_dict_2__smearing\n\n\n\nclusterpyiron_base_qeget_dict_2Inputssmearing\n\nsmearing\n\n\n\nclusterpyiron_base_qeInputsget_dict_2__smearing->clusterpyiron_base_qeget_dict_2Inputssmearing\n\n\n\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_3__working_directory\n\ncalculate_qe_3__working_directory\n\n\n\nclusterpyiron_base_qecalculate_qe_3Inputsworking_directory\n\nworking_directory\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_3__working_directory->clusterpyiron_base_qecalculate_qe_3Inputsworking_directory\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__pseudopotentials\n\nget_dict_3__pseudopotentials\n\n\n\nclusterpyiron_base_qeget_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__pseudopotentials->clusterpyiron_base_qeget_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__kpts\n\nget_dict_3__kpts\n\n\n\nclusterpyiron_base_qeget_dict_3Inputskpts\n\nkpts\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__kpts->clusterpyiron_base_qeget_dict_3Inputskpts\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__calculation\n\nget_dict_3__calculation\n\n\n\nclusterpyiron_base_qeget_dict_3Inputscalculation\n\ncalculation\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__calculation->clusterpyiron_base_qeget_dict_3Inputscalculation\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__smearing\n\nget_dict_3__smearing\n\n\n\nclusterpyiron_base_qeget_dict_3Inputssmearing\n\nsmearing\n\n\n\nclusterpyiron_base_qeInputsget_dict_3__smearing->clusterpyiron_base_qeget_dict_3Inputssmearing\n\n\n\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_4__working_directory\n\ncalculate_qe_4__working_directory\n\n\n\nclusterpyiron_base_qecalculate_qe_4Inputsworking_directory\n\nworking_directory\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_4__working_directory->clusterpyiron_base_qecalculate_qe_4Inputsworking_directory\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__pseudopotentials\n\nget_dict_4__pseudopotentials\n\n\n\nclusterpyiron_base_qeget_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__pseudopotentials->clusterpyiron_base_qeget_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__kpts\n\nget_dict_4__kpts\n\n\n\nclusterpyiron_base_qeget_dict_4Inputskpts\n\nkpts\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__kpts->clusterpyiron_base_qeget_dict_4Inputskpts\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__calculation\n\nget_dict_4__calculation\n\n\n\nclusterpyiron_base_qeget_dict_4Inputscalculation\n\ncalculation\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__calculation->clusterpyiron_base_qeget_dict_4Inputscalculation\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__smearing\n\nget_dict_4__smearing\n\n\n\nclusterpyiron_base_qeget_dict_4Inputssmearing\n\nsmearing\n\n\n\nclusterpyiron_base_qeInputsget_dict_4__smearing->clusterpyiron_base_qeget_dict_4Inputssmearing\n\n\n\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_5__working_directory\n\ncalculate_qe_5__working_directory\n\n\n\nclusterpyiron_base_qecalculate_qe_5Inputsworking_directory\n\nworking_directory\n\n\n\nclusterpyiron_base_qeInputscalculate_qe_5__working_directory->clusterpyiron_base_qecalculate_qe_5Inputsworking_directory\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__pseudopotentials\n\nget_dict_5__pseudopotentials\n\n\n\nclusterpyiron_base_qeget_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__pseudopotentials->clusterpyiron_base_qeget_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__kpts\n\nget_dict_5__kpts\n\n\n\nclusterpyiron_base_qeget_dict_5Inputskpts\n\nkpts\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__kpts->clusterpyiron_base_qeget_dict_5Inputskpts\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__calculation\n\nget_dict_5__calculation\n\n\n\nclusterpyiron_base_qeget_dict_5Inputscalculation\n\ncalculation\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__calculation->clusterpyiron_base_qeget_dict_5Inputscalculation\n\n\n\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__smearing\n\nget_dict_5__smearing\n\n\n\nclusterpyiron_base_qeget_dict_5Inputssmearing\n\nsmearing\n\n\n\nclusterpyiron_base_qeInputsget_dict_5__smearing->clusterpyiron_base_qeget_dict_5Inputssmearing\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_8448190184761347443__item\n\ninjected_GetItem_8448190184761347443__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_8448190184761347443__item->clusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_6888005398033223667__item\n\ninjected_GetItem_6888005398033223667__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_6888005398033223667__item->clusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m2505717702026653208__item\n\ninjected_GetItem_m2505717702026653208__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m2505717702026653208__item->clusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m5521004309196267258__item\n\ninjected_GetItem_m5521004309196267258__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m5521004309196267258__item->clusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_1374405447673059213__item\n\ninjected_GetItem_1374405447673059213__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_1374405447673059213__item->clusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_4462229027723870602__item\n\ninjected_GetItem_4462229027723870602__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_4462229027723870602__item->clusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_2384803467043042276__item\n\ninjected_GetItem_2384803467043042276__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_2384803467043042276__item->clusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_7146740412064090316__item\n\ninjected_GetItem_7146740412064090316__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_7146740412064090316__item->clusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m350772300549240618__item\n\ninjected_GetItem_m350772300549240618__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m350772300549240618__item->clusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_4087305954482680236__item\n\ninjected_GetItem_4087305954482680236__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_4087305954482680236__item->clusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_4692661231677176__item\n\ninjected_GetItem_4692661231677176__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_4692661231677176__item->clusterpyiron_base_qeinjected_GetItem_4692661231677176Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_1607275248375012074__item\n\ninjected_GetItem_1607275248375012074__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_1607275248375012074__item->clusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_3768223398597047821__item\n\ninjected_GetItem_3768223398597047821__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_3768223398597047821__item->clusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_8054512655741111319__item\n\ninjected_GetItem_8054512655741111319__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_8054512655741111319__item->clusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m5340856505475737312__item\n\ninjected_GetItem_m5340856505475737312__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m5340856505475737312__item->clusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m9009035754021092304__item\n\ninjected_GetItem_m9009035754021092304__item\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputsitem\n\nitem\n\n\n\nclusterpyiron_base_qeInputsinjected_GetItem_m9009035754021092304__item->clusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputsitem\n\n\n\n\n\n\nclusterpyiron_base_qeOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n\nplot_energy_volume_curve__plot_energy_volume_curve\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveInputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveOutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveInputsvolume_lst\n\nvolume_lst\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveInputsenergy_lst\n\nenergy_lst\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclusterpyiron_base_qeplot_energy_volume_curveOutputsWithInjectionplot_energy_volume_curve->clusterpyiron_base_qeOutputsWithInjectionplot_energy_volume_curve__plot_energy_volume_curve\n\n\n\n\n\n\nclusterpyiron_base_qeget_list_0Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_list_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_list_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_list_0Inputss_0\n\ns_0\n\n\n\nclusterpyiron_base_qeget_list_0Inputss_1\n\ns_1\n\n\n\nclusterpyiron_base_qeget_list_0Inputss_2\n\ns_2\n\n\n\nclusterpyiron_base_qeget_list_0Inputss_3\n\ns_3\n\n\n\nclusterpyiron_base_qeget_list_0Inputss_4\n\ns_4\n\n\n\nclusterpyiron_base_qeget_list_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_list_0OutputsWithInjectionget_list_0\n\nget_list_0\n\n\n\nclusterpyiron_base_qeget_list_0OutputsWithInjectionget_list_0->clusterpyiron_base_qeplot_energy_volume_curveInputsvolume_lst\n\n\n\n\n\n\nclusterpyiron_base_qecalculate_qe_0Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qecalculate_qe_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qecalculate_qe_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qecalculate_qe_0Inputsinput_dict\n\ninput_dict\n\n\n\nclusterpyiron_base_qecalculate_qe_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0\n\ncalculate_qe_0\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0->clusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_0OutputsWithInjectioncalculate_qe_0->clusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeget_dict_0Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_dict_0Inputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qeget_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_dict_0OutputsWithInjectionget_dict_0\n\nget_dict_0\n\n\n\nclusterpyiron_base_qeget_dict_0OutputsWithInjectionget_dict_0->clusterpyiron_base_qecalculate_qe_0Inputsinput_dict\n\n\n\n\n\n\nclusterpyiron_base_qegenerate_structuresInputsrun\n\nrun\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qegenerate_structuresInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qegenerate_structuresInputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qegenerate_structuresOutputsWithInjectiongenerate_structures->clusterpyiron_base_qeinjected_GetItem_4692661231677176Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qecalculate_qe_1Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qecalculate_qe_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qecalculate_qe_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qecalculate_qe_1Inputsinput_dict\n\ninput_dict\n\n\n\nclusterpyiron_base_qecalculate_qe_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1\n\ncalculate_qe_1\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_1OutputsWithInjectioncalculate_qe_1->clusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeget_dict_1Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_dict_1Inputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qeget_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_dict_1OutputsWithInjectionget_dict_1\n\nget_dict_1\n\n\n\nclusterpyiron_base_qeget_dict_1OutputsWithInjectionget_dict_1->clusterpyiron_base_qecalculate_qe_1Inputsinput_dict\n\n\n\n\n\n\nclusterpyiron_base_qeget_bulk_structureInputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_bulk_structureOutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_bulk_structureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_bulk_structureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_bulk_structureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclusterpyiron_base_qeget_bulk_structureOutputsWithInjectionget_bulk_structure->clusterpyiron_base_qeget_dict_1Inputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qecalculate_qe_2Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qecalculate_qe_2OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qecalculate_qe_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qecalculate_qe_2Inputsinput_dict\n\ninput_dict\n\n\n\nclusterpyiron_base_qecalculate_qe_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2\n\ncalculate_qe_2\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_2OutputsWithInjectioncalculate_qe_2->clusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeget_dict_2Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_dict_2Inputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qeget_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_dict_2OutputsWithInjectionget_dict_2\n\nget_dict_2\n\n\n\nclusterpyiron_base_qeget_dict_2OutputsWithInjectionget_dict_2->clusterpyiron_base_qecalculate_qe_2Inputsinput_dict\n\n\n\n\n\n\nclusterpyiron_base_qecalculate_qe_3Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qecalculate_qe_3OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qecalculate_qe_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qecalculate_qe_3Inputsinput_dict\n\ninput_dict\n\n\n\nclusterpyiron_base_qecalculate_qe_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3\n\ncalculate_qe_3\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_3OutputsWithInjectioncalculate_qe_3->clusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeget_dict_3Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_dict_3Inputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qeget_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_dict_3OutputsWithInjectionget_dict_3\n\nget_dict_3\n\n\n\nclusterpyiron_base_qeget_dict_3OutputsWithInjectionget_dict_3->clusterpyiron_base_qecalculate_qe_3Inputsinput_dict\n\n\n\n\n\n\nclusterpyiron_base_qecalculate_qe_4Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qecalculate_qe_4OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qecalculate_qe_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qecalculate_qe_4Inputsinput_dict\n\ninput_dict\n\n\n\nclusterpyiron_base_qecalculate_qe_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4\n\ncalculate_qe_4\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_4OutputsWithInjectioncalculate_qe_4->clusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeget_dict_4Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_dict_4Inputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qeget_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_dict_4OutputsWithInjectionget_dict_4\n\nget_dict_4\n\n\n\nclusterpyiron_base_qeget_dict_4OutputsWithInjectionget_dict_4->clusterpyiron_base_qecalculate_qe_4Inputsinput_dict\n\n\n\n\n\n\nclusterpyiron_base_qecalculate_qe_5Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qecalculate_qe_5OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qecalculate_qe_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qecalculate_qe_5Inputsinput_dict\n\ninput_dict\n\n\n\nclusterpyiron_base_qecalculate_qe_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5\n\ncalculate_qe_5\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputsobj\n\nobj\n\n\n\nclusterpyiron_base_qecalculate_qe_5OutputsWithInjectioncalculate_qe_5->clusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputsobj\n\n\n\n\n\n\nclusterpyiron_base_qeget_dict_5Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_dict_5Inputsstructure\n\nstructure\n\n\n\nclusterpyiron_base_qeget_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_dict_5OutputsWithInjectionget_dict_5\n\nget_dict_5\n\n\n\nclusterpyiron_base_qeget_dict_5OutputsWithInjectionget_dict_5->clusterpyiron_base_qecalculate_qe_5Inputsinput_dict\n\n\n\n\n\n\nclusterpyiron_base_qeget_list_1Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeget_list_1OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeget_list_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeget_list_1Inputss_0\n\ns_0\n\n\n\nclusterpyiron_base_qeget_list_1Inputss_1\n\ns_1\n\n\n\nclusterpyiron_base_qeget_list_1Inputss_2\n\ns_2\n\n\n\nclusterpyiron_base_qeget_list_1Inputss_3\n\ns_3\n\n\n\nclusterpyiron_base_qeget_list_1Inputss_4\n\ns_4\n\n\n\nclusterpyiron_base_qeget_list_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeget_list_1OutputsWithInjectionget_list_1\n\nget_list_1\n\n\n\nclusterpyiron_base_qeget_list_1OutputsWithInjectionget_list_1->clusterpyiron_base_qeplot_energy_volume_curveInputsenergy_lst\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8448190184761347443OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_0Inputss_0\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_6888005398033223667OutputsWithInjectiongetitem->clusterpyiron_base_qeget_dict_0Inputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m2505717702026653208OutputsWithInjectiongetitem->clusterpyiron_base_qegenerate_structuresInputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5521004309196267258OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_0Inputss_1\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1374405447673059213OutputsWithInjectiongetitem->clusterpyiron_base_qeget_dict_2Inputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4462229027723870602OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_0Inputss_2\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_2384803467043042276OutputsWithInjectiongetitem->clusterpyiron_base_qeget_dict_3Inputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_7146740412064090316OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_0Inputss_3\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m350772300549240618OutputsWithInjectiongetitem->clusterpyiron_base_qeget_dict_4Inputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4087305954482680236OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_0Inputss_4\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_4692661231677176OutputsWithInjectiongetitem->clusterpyiron_base_qeget_dict_5Inputsstructure\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_1607275248375012074OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_1Inputss_0\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_3768223398597047821OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_1Inputss_1\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_8054512655741111319OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_1Inputss_2\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m5340856505475737312OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_1Inputss_3\n\n\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputsrun\n\nrun\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304OutputsWithInjectionran\n\nran\n\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304OutputsWithInjectionfailed\n\nfailed\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclusterpyiron_base_qeinjected_GetItem_m9009035754021092304OutputsWithInjectiongetitem->clusterpyiron_base_qeget_list_1Inputss_4\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":26},{"id":"1007f60c-23eb-4a28-a5c7-ea0c0909be38","cell_type":"code","source":"wf.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---218119f8:01978] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:01993] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02008] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02018] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02028] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---218119f8:02039] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"execution_count":27,"output_type":"execute_result","data":{"text/plain":"{'plot_energy_volume_curve__plot_energy_volume_curve': None}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":27},{"id":"5022eb03-b714-409d-b82b-cada385b351d","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py index 8ebb656..b2f36b6 100644 --- a/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py +++ b/python_workflow_definition/src/python_workflow_definition/pyiron_workflow.py @@ -9,6 +9,7 @@ from python_workflow_definition.models import PythonWorkflowDefinitionWorkflow from python_workflow_definition.shared import ( + get_dict, update_node_names, set_result_node, remove_result, From 9636be6410b8eb53443092f9f566724edf831e75 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Mon, 26 May 2025 08:04:12 +0200 Subject: [PATCH 29/29] Add files via upload --- example_workflows/quantum_espresso/pyiron_workflow.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example_workflows/quantum_espresso/pyiron_workflow.ipynb b/example_workflows/quantum_espresso/pyiron_workflow.ipynb index cc30a17..c7185ca 100644 --- a/example_workflows/quantum_espresso/pyiron_workflow.ipynb +++ b/example_workflows/quantum_espresso/pyiron_workflow.ipynb @@ -1 +1 @@ -{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"760acc89-8c02-4bc9-a8f6-2572506b7085","cell_type":"markdown","source":"# pyiron_workflow\n## Define workflow with pyiron_base","metadata":{}},{"id":"44aa8e82-2d78-4015-a56d-cd487aefc48f","cell_type":"code","source":"from inspect import isfunction\nimport numpy as np\nfrom pyiron_workflow import Workflow, to_function_node, as_function_node\nfrom pyiron_workflow.api import inputs_to_dict\nfrom python_workflow_definition.pyiron_workflow import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"341dab17-b329-42eb-a485-2f9326a048e9","cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"729a1a3a-8377-4148-9b3c-a4a866f9c4ec","cell_type":"code","source":"@as_function_node(\"output_dict\")\ndef get_values_from_dict(input_dict):\n return list(input_dict.values())","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"6c2711ec-25f8-4ecd-9b9a-d9af1ec81316","cell_type":"code","source":"workflow_json_filename = \"pyiron_workflow_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"3e1492bc-49bd-4f9c-9703-582a5a60579b","cell_type":"code","source":"calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\ngenerate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\nget_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\nplot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7","cell_type":"code","source":"wf = Workflow(\"my_workflow\")","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"62268668-7f09-4fee-99d2-c770b4e558d9","cell_type":"code","source":"wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"b2ea76b0-f79b-461f-8126-7bac3bda4422","cell_type":"code","source":"wf.element = \"Al\"\nwf.a = 4.04\nwf.cubic = True\nwf.structure = get_bulk_structure(\n element=wf.element,\n a=wf.a,\n cubic=wf.cubic,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"01bc824f-c990-448c-a4da-1ff8b519e720","cell_type":"code","source":"wf.working_directory_0 = \"mini\"\ninput_dict = {\n \"structure\": wf.structure, \n \"pseudopotentials\": wf.pseudopotentials, \n \"kpts\": (3, 3, 3), \n \"calculation\": \"vc-relax\", \n \"smearing\": 0.02,\n}\nwf.input_dict_0 = inputs_to_dict(\n input_specification=list(input_dict.keys()),\n **input_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"95d168a1-48db-434a-b17d-abea6c1633f5","cell_type":"code","source":"wf.calc_mini = calculate_qe(\n working_directory=wf.working_directory_0,\n input_dict=wf.input_dict_0,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"fbfb0107-278d-4209-883c-8c0543c5c240","cell_type":"code","source":"number_of_strains = 5\nwf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\nwf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=wf.calc_mini[\"structure\"],\n strain_lst=wf.strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"956184d1-887a-4632-9311-b917fb5d7370","cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n setattr(wf, \"input_dict_\" + str(i+1), inputs_to_dict(\n input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"],\n structure=wf.structure_lst[\"s_\" + str(i)],\n pseudopotentials=wf.pseudopotentials,\n kpts=(3, 3, 3),\n calculation=\"scf\",\n smearing=0.02,\n ))\n setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n ))\n job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"id":"a0643f87-98f1-440e-9f0d-8cf316a69f0f","cell_type":"code","source":"volume_dict = {\"s_\" + str(i): j[\"volume\"] for i, j in enumerate(job_strain_lst)}\nwf.volume_dict = inputs_to_dict(\n input_specification=list(volume_dict.keys()),\n **volume_dict\n)\nenergy_dict = {\"s_\" + str(i): j[\"energy\"] for i, j in enumerate(job_strain_lst)}\nwf.energy_dict = inputs_to_dict(\n input_specification=list(energy_dict.keys()),\n **energy_dict,\n)\nwf.volume_lst = get_values_from_dict(\n input_dict=wf.volume_dict\n)\nwf.energy_lst = get_values_from_dict(\n input_dict=wf.energy_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"id":"96808641-c9e4-4d57-9f9c-8b1a9c1b1356","cell_type":"code","source":"wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)","metadata":{"trusted":true},"outputs":[],"execution_count":15},{"id":"45f45321-dc88-4936-b1e2-6813e0bb63a0","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"data":{"image/svg+xml":"\n\n\n\n\n\nclustermy_workflow\n\nmy_workflow: Workflow\n\nclustermy_workflowInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure\n\n\n\n\n\n\n\nstructure: get_bulk_structure\n\n\nclustermy_workflowstructureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_0\n\n\n\n\n\n\n\ninput_dict_0: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_mini\n\n\n\n\n\n\n\ncalc_mini: calculate_qe\n\n\nclustermy_workflowcalc_miniInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_miniOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408\n\n\n\n\n\n\n\ninjected_GetItem_m3360943636605503408: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure_lst\n\n\n\n\n\n\n\nstructure_lst: generate_structures\n\n\nclustermy_workflowstructure_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructure_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769\n\n\n\n\n\n\n\ninjected_GetItem_m2939154398481564769: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_1\n\n\n\n\n\n\n\ninput_dict_1: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_0\n\n\n\n\n\n\n\ncalc_strain_0: calculate_qe\n\n\nclustermy_workflowcalc_strain_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508\n\n\n\n\n\n\n\ninjected_GetItem_4041815647480064508: GetItem\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_2\n\n\n\n\n\n\n\ninput_dict_2: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_1\n\n\n\n\n\n\n\ncalc_strain_1: calculate_qe\n\n\nclustermy_workflowcalc_strain_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571\n\n\n\n\n\n\n\ninjected_GetItem_m4015009318811961571: GetItem\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_3\n\n\n\n\n\n\n\ninput_dict_3: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_2\n\n\n\n\n\n\n\ncalc_strain_2: calculate_qe\n\n\nclustermy_workflowcalc_strain_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583\n\n\n\n\n\n\n\ninjected_GetItem_4987553856152306583: GetItem\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_4\n\n\n\n\n\n\n\ninput_dict_4: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_3\n\n\n\n\n\n\n\ncalc_strain_3: calculate_qe\n\n\nclustermy_workflowcalc_strain_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682\n\n\n\n\n\n\n\ninjected_GetItem_m7645132870050794682: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_5\n\n\n\n\n\n\n\ninput_dict_5: InputsToDict2571524379426822678\n\n\nclustermy_workflowinput_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_4\n\n\n\n\n\n\n\ncalc_strain_4: calculate_qe\n\n\nclustermy_workflowcalc_strain_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888\n\n\n\n\n\n\n\ninjected_GetItem_m3672914153184258888: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532\n\n\n\n\n\n\n\ninjected_GetItem_m3704174620413949532: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956\n\n\n\n\n\n\n\ninjected_GetItem_m4039229949071618956: GetItem\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845\n\n\n\n\n\n\n\ninjected_GetItem_1686080811433973845: GetItem\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926\n\n\n\n\n\n\n\ninjected_GetItem_4407984160589389926: GetItem\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_dict\n\n\n\n\n\n\n\nvolume_dict: InputsToDictm7433853827132915741\n\n\nclustermy_workflowvolume_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091\n\n\n\n\n\n\n\ninjected_GetItem_m7176645861602700091: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268\n\n\n\n\n\n\n\ninjected_GetItem_5124834049111621268: GetItem\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456\n\n\n\n\n\n\n\ninjected_GetItem_m6472715043888601456: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976\n\n\n\n\n\n\n\ninjected_GetItem_m1333829635268599976: GetItem\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106\n\n\n\n\n\n\n\ninjected_GetItem_m272556801974516106: GetItem\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_dict\n\n\n\n\n\n\n\nenergy_dict: InputsToDictm7433853827132915741\n\n\nclustermy_workflowenergy_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_lst\n\n\n\n\n\n\n\nvolume_lst: get_values_from_dict\n\n\nclustermy_workflowvolume_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_lst\n\n\n\n\n\n\n\nenergy_lst: get_values_from_dict\n\n\nclustermy_workflowenergy_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowplot\n\n\n\n\n\n\n\nplot: plot_energy_volume_curve\n\n\nclustermy_workflowplotInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowplotOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclustermy_workflowInputsrun\n\nrun\n\n\n\nclustermy_workflowOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowInputsstructure__element\n\nstructure__element\n\n\n\nclustermy_workflowstructureInputselement\n\nelement\n\n\n\nclustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n\n\n\n\n\n\nclustermy_workflowInputsstructure__a\n\nstructure__a\n\n\n\nclustermy_workflowstructureInputsa\n\na\n\n\n\nclustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n\n\n\n\n\n\nclustermy_workflowInputsstructure__cubic\n\nstructure__cubic\n\n\n\nclustermy_workflowstructureInputscubic\n\ncubic\n\n\n\nclustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials\n\ninput_dict_0__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials->clustermy_workflowinput_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts\n\ninput_dict_0__kpts\n\n\n\nclustermy_workflowinput_dict_0Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts->clustermy_workflowinput_dict_0Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation\n\ninput_dict_0__calculation\n\n\n\nclustermy_workflowinput_dict_0Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation->clustermy_workflowinput_dict_0Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing\n\ninput_dict_0__smearing\n\n\n\nclustermy_workflowinput_dict_0Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing->clustermy_workflowinput_dict_0Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_mini__working_directory\n\ncalc_mini__working_directory\n\n\n\nclustermy_workflowcalc_miniInputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3360943636605503408__item\n\ninjected_GetItem_m3360943636605503408__item\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3360943636605503408__item->clustermy_workflowinjected_GetItem_m3360943636605503408Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst\n\nstructure_lst__strain_lst\n\n\n\nclustermy_workflowstructure_lstInputsstrain_lst\n\nstrain_lst\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2939154398481564769__item\n\ninjected_GetItem_m2939154398481564769__item\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2939154398481564769__item->clustermy_workflowinjected_GetItem_m2939154398481564769Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials\n\ninput_dict_1__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials->clustermy_workflowinput_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts\n\ninput_dict_1__kpts\n\n\n\nclustermy_workflowinput_dict_1Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts->clustermy_workflowinput_dict_1Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation\n\ninput_dict_1__calculation\n\n\n\nclustermy_workflowinput_dict_1Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation->clustermy_workflowinput_dict_1Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing\n\ninput_dict_1__smearing\n\n\n\nclustermy_workflowinput_dict_1Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing->clustermy_workflowinput_dict_1Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory\n\ncalc_strain_0__working_directory\n\n\n\nclustermy_workflowcalc_strain_0Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4041815647480064508__item\n\ninjected_GetItem_4041815647480064508__item\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4041815647480064508__item->clustermy_workflowinjected_GetItem_4041815647480064508Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials\n\ninput_dict_2__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials->clustermy_workflowinput_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts\n\ninput_dict_2__kpts\n\n\n\nclustermy_workflowinput_dict_2Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts->clustermy_workflowinput_dict_2Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation\n\ninput_dict_2__calculation\n\n\n\nclustermy_workflowinput_dict_2Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation->clustermy_workflowinput_dict_2Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing\n\ninput_dict_2__smearing\n\n\n\nclustermy_workflowinput_dict_2Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing->clustermy_workflowinput_dict_2Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory\n\ncalc_strain_1__working_directory\n\n\n\nclustermy_workflowcalc_strain_1Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4015009318811961571__item\n\ninjected_GetItem_m4015009318811961571__item\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4015009318811961571__item->clustermy_workflowinjected_GetItem_m4015009318811961571Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials\n\ninput_dict_3__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials->clustermy_workflowinput_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts\n\ninput_dict_3__kpts\n\n\n\nclustermy_workflowinput_dict_3Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts->clustermy_workflowinput_dict_3Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation\n\ninput_dict_3__calculation\n\n\n\nclustermy_workflowinput_dict_3Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation->clustermy_workflowinput_dict_3Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing\n\ninput_dict_3__smearing\n\n\n\nclustermy_workflowinput_dict_3Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing->clustermy_workflowinput_dict_3Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory\n\ncalc_strain_2__working_directory\n\n\n\nclustermy_workflowcalc_strain_2Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4987553856152306583__item\n\ninjected_GetItem_4987553856152306583__item\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4987553856152306583__item->clustermy_workflowinjected_GetItem_4987553856152306583Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials\n\ninput_dict_4__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials->clustermy_workflowinput_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts\n\ninput_dict_4__kpts\n\n\n\nclustermy_workflowinput_dict_4Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts->clustermy_workflowinput_dict_4Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation\n\ninput_dict_4__calculation\n\n\n\nclustermy_workflowinput_dict_4Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation->clustermy_workflowinput_dict_4Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing\n\ninput_dict_4__smearing\n\n\n\nclustermy_workflowinput_dict_4Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing->clustermy_workflowinput_dict_4Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory\n\ncalc_strain_3__working_directory\n\n\n\nclustermy_workflowcalc_strain_3Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7645132870050794682__item\n\ninjected_GetItem_m7645132870050794682__item\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7645132870050794682__item->clustermy_workflowinjected_GetItem_m7645132870050794682Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials\n\ninput_dict_5__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials->clustermy_workflowinput_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts\n\ninput_dict_5__kpts\n\n\n\nclustermy_workflowinput_dict_5Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts->clustermy_workflowinput_dict_5Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation\n\ninput_dict_5__calculation\n\n\n\nclustermy_workflowinput_dict_5Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation->clustermy_workflowinput_dict_5Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing\n\ninput_dict_5__smearing\n\n\n\nclustermy_workflowinput_dict_5Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing->clustermy_workflowinput_dict_5Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory\n\ncalc_strain_4__working_directory\n\n\n\nclustermy_workflowcalc_strain_4Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3672914153184258888__item\n\ninjected_GetItem_m3672914153184258888__item\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3672914153184258888__item->clustermy_workflowinjected_GetItem_m3672914153184258888Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3704174620413949532__item\n\ninjected_GetItem_m3704174620413949532__item\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3704174620413949532__item->clustermy_workflowinjected_GetItem_m3704174620413949532Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4039229949071618956__item\n\ninjected_GetItem_m4039229949071618956__item\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m4039229949071618956__item->clustermy_workflowinjected_GetItem_m4039229949071618956Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_1686080811433973845__item\n\ninjected_GetItem_1686080811433973845__item\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_1686080811433973845__item->clustermy_workflowinjected_GetItem_1686080811433973845Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4407984160589389926__item\n\ninjected_GetItem_4407984160589389926__item\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4407984160589389926__item->clustermy_workflowinjected_GetItem_4407984160589389926Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7176645861602700091__item\n\ninjected_GetItem_m7176645861602700091__item\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7176645861602700091__item->clustermy_workflowinjected_GetItem_m7176645861602700091Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_5124834049111621268__item\n\ninjected_GetItem_5124834049111621268__item\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_5124834049111621268__item->clustermy_workflowinjected_GetItem_5124834049111621268Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6472715043888601456__item\n\ninjected_GetItem_m6472715043888601456__item\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6472715043888601456__item->clustermy_workflowinjected_GetItem_m6472715043888601456Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m1333829635268599976__item\n\ninjected_GetItem_m1333829635268599976__item\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m1333829635268599976__item->clustermy_workflowinjected_GetItem_m1333829635268599976Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m272556801974516106__item\n\ninjected_GetItem_m272556801974516106__item\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m272556801974516106__item->clustermy_workflowinjected_GetItem_m272556801974516106Inputsitem\n\n\n\n\n\n\nclustermy_workflowOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\nplot__plot_energy_volume_curve\n\n\n\nclustermy_workflowstructureInputsrun\n\nrun\n\n\n\nclustermy_workflowstructureOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclustermy_workflowinput_dict_0Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_dict_0Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_miniInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict->clustermy_workflowcalc_miniInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_miniInputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_miniInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3360943636605503408Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowstructure_lstInputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m3360943636605503408OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n\n\n\n\n\n\nclustermy_workflowstructure_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructure_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m2939154398481564769Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_4041815647480064508Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m4015009318811961571Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_4987553856152306583Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7645132870050794682Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_1Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m2939154398481564769OutputsWithInjectiongetitem->clustermy_workflowinput_dict_1Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_0Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict->clustermy_workflowcalc_strain_0Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3672914153184258888Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m7176645861602700091Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_2Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_4041815647480064508OutputsWithInjectiongetitem->clustermy_workflowinput_dict_2Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_1Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict->clustermy_workflowcalc_strain_1Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3704174620413949532Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_5124834049111621268Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_3Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m4015009318811961571OutputsWithInjectiongetitem->clustermy_workflowinput_dict_3Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_2Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict->clustermy_workflowcalc_strain_2Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m4039229949071618956Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m6472715043888601456Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_4Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_4987553856152306583OutputsWithInjectiongetitem->clustermy_workflowinput_dict_4Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_3Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict->clustermy_workflowcalc_strain_3Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_1686080811433973845Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m1333829635268599976Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_5Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m7645132870050794682OutputsWithInjectiongetitem->clustermy_workflowinput_dict_5Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_5Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_4Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict->clustermy_workflowcalc_strain_4Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_4407984160589389926Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m272556801974516106Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_m3672914153184258888OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m3704174620413949532OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_m4039229949071618956OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_1686080811433973845OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_4407984160589389926OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowvolume_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowvolume_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict->clustermy_workflowvolume_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_m7176645861602700091OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_5124834049111621268OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_m6472715043888601456OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m1333829635268599976OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_m272556801974516106OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowenergy_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowenergy_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict->clustermy_workflowenergy_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowvolume_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionoutput_dict\n\noutput_dict\n\n\n\nclustermy_workflowplotInputsvolume_lst\n\nvolume_lst\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionoutput_dict->clustermy_workflowplotInputsvolume_lst\n\n\n\n\n\n\nclustermy_workflowenergy_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionoutput_dict\n\noutput_dict\n\n\n\nclustermy_workflowplotInputsenergy_lst\n\nenergy_lst\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionoutput_dict->clustermy_workflowplotInputsenergy_lst\n\n\n\n\n\n\nclustermy_workflowplotInputsrun\n\nrun\n\n\n\nclustermy_workflowplotOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowplotInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowplotOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\n\n\n\n\n\n","text/plain":""},"execution_count":16,"metadata":{},"output_type":"execute_result"}],"execution_count":16},{"id":"5bb8c16b-7815-4bb8-b8a1-b0d4aa8528c9","cell_type":"code","source":"write_workflow_json(graph_as_dict=wf.graph_as_dict, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"944be632-3544-4a22-a105-78dd94c6a25d","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"fef7107a-5af3-4434-ae4c-a8d45e1d9b61","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"5f4d2243-faf6-4d57-be70-5f7d1292e33e","cell_type":"code","source":"from aiida import orm, load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"232c9447-8274-4a82-9c8c-468af7ec6c43","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"97150c3d-dd11-4b24-8e19-a088bb85a2c8","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"dac6c4ad-297e-43b1-8d0a-ea841f3d6aa7","cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"9226d966-d90a-4ab2-9776-df1b50bd6a49","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"ba32ad83-385d-4f1a-87ea-28a1383e6067","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"4a39c916-a45b-48ac-b4a9-914688c5d85e","cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"9b03e3e7-3dba-4640-9869-76916413bfc0","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"19df3f74-8c2f-4563-a78a-f5307a9e084d","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"e0c78db2-2ead-45d3-92ed-d087e19952ba","cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"id":"319f466c-def2-45c3-82ba-fffca5d036db","cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"ed2e964d-0251-488c-b623-28b794c46703","cell_type":"code","source":"delayed_object_lst = load_workflow_json(file_name=\"workflow.json\")\ndelayed_object_lst[-1].draw()","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"id":"8bf584f4-52f5-41eb-9ce3-13847436e0a0","cell_type":"code","source":"delayed_object_lst[-1].pull()","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file +{"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.8"}},"nbformat_minor":5,"nbformat":4,"cells":[{"id":"760acc89-8c02-4bc9-a8f6-2572506b7085","cell_type":"markdown","source":"# pyiron_workflow\n## Define workflow with pyiron_workflow","metadata":{}},{"id":"44aa8e82-2d78-4015-a56d-cd487aefc48f","cell_type":"code","source":"from inspect import isfunction\nimport numpy as np\nfrom pyiron_workflow import Workflow, to_function_node, as_function_node\nfrom pyiron_workflow.api import inputs_to_dict\nfrom python_workflow_definition.pyiron_workflow import write_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":1},{"id":"341dab17-b329-42eb-a485-2f9326a048e9","cell_type":"code","source":"from workflow import (\n calculate_qe as _calculate_qe, \n generate_structures as _generate_structures, \n get_bulk_structure as _get_bulk_structure, \n plot_energy_volume_curve as _plot_energy_volume_curve,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":2},{"id":"729a1a3a-8377-4148-9b3c-a4a866f9c4ec","cell_type":"code","source":"@as_function_node(\"output_dict\")\ndef get_values_from_dict(input_dict):\n return list(input_dict.values())","metadata":{"trusted":true},"outputs":[],"execution_count":3},{"id":"6c2711ec-25f8-4ecd-9b9a-d9af1ec81316","cell_type":"code","source":"workflow_json_filename = \"pyiron_workflow_qe.json\"","metadata":{"trusted":true},"outputs":[],"execution_count":4},{"id":"3e1492bc-49bd-4f9c-9703-582a5a60579b","cell_type":"code","source":"calculate_qe = to_function_node(\"calculate_qe\", _calculate_qe, \"calculate_qe\")\ngenerate_structures = to_function_node(\"generate_structures\", _generate_structures, \"generate_structures\")\nget_bulk_structure = to_function_node(\"get_bulk_structure\", _get_bulk_structure, \"get_bulk_structure\")\nplot_energy_volume_curve = to_function_node(\"plot_energy_volume_curve\", _plot_energy_volume_curve, \"plot_energy_volume_curve\", validate_output_labels=False)","metadata":{"trusted":true},"outputs":[],"execution_count":5},{"id":"a4f2fe6d-bed4-49f8-b903-1ed69ff92eb7","cell_type":"code","source":"wf = Workflow(\"my_workflow\")","metadata":{"trusted":true},"outputs":[],"execution_count":6},{"id":"62268668-7f09-4fee-99d2-c770b4e558d9","cell_type":"code","source":"wf.pseudopotentials = {\"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"}","metadata":{"trusted":true},"outputs":[],"execution_count":7},{"id":"b2ea76b0-f79b-461f-8126-7bac3bda4422","cell_type":"code","source":"wf.element = \"Al\"\nwf.a = 4.04\nwf.cubic = True\nwf.structure = get_bulk_structure(\n element=wf.element,\n a=wf.a,\n cubic=wf.cubic,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":8},{"id":"01bc824f-c990-448c-a4da-1ff8b519e720","cell_type":"code","source":"wf.working_directory_0 = \"mini\"\ninput_dict = {\n \"structure\": wf.structure, \n \"pseudopotentials\": wf.pseudopotentials, \n \"kpts\": (3, 3, 3), \n \"calculation\": \"vc-relax\", \n \"smearing\": 0.02,\n}\nwf.input_dict_0 = inputs_to_dict(\n input_specification=list(input_dict.keys()),\n **input_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":9},{"id":"95d168a1-48db-434a-b17d-abea6c1633f5","cell_type":"code","source":"wf.calc_mini = calculate_qe(\n working_directory=wf.working_directory_0,\n input_dict=wf.input_dict_0,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":10},{"id":"fbfb0107-278d-4209-883c-8c0543c5c240","cell_type":"code","source":"number_of_strains = 5\nwf.strain_lst = np.linspace(0.9, 1.1, number_of_strains)\nwf.structure_lst = generate_structures( # the generate_structures() function is not available in the workflow graph\n structure=wf.calc_mini[\"structure\"],\n strain_lst=wf.strain_lst,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":11},{"id":"956184d1-887a-4632-9311-b917fb5d7370","cell_type":"code","source":"job_strain_lst = []\nfor i in range(number_of_strains):\n setattr(wf, \"input_dict_\" + str(i+1), inputs_to_dict(\n input_specification=[\"structure\", \"pseudopotentials\", \"kpts\", \"calculation\", \"smearing\"],\n structure=wf.structure_lst[\"s_\" + str(i)],\n pseudopotentials=wf.pseudopotentials,\n kpts=(3, 3, 3),\n calculation=\"scf\",\n smearing=0.02,\n ))\n setattr(wf, \"calc_strain_\" + str(i), calculate_qe(\n working_directory=\"strain_\" + str(i),\n input_dict=getattr(wf, \"input_dict_\" + str(i+1)),\n ))\n job_strain_lst.append(getattr(wf, \"calc_strain_\" + str(i)))","metadata":{"trusted":true},"outputs":[],"execution_count":12},{"id":"a0643f87-98f1-440e-9f0d-8cf316a69f0f","cell_type":"code","source":"volume_dict = {\"s_\" + str(i): j[\"volume\"] for i, j in enumerate(job_strain_lst)}\nwf.volume_dict = inputs_to_dict(\n input_specification=list(volume_dict.keys()),\n **volume_dict\n)\nenergy_dict = {\"s_\" + str(i): j[\"energy\"] for i, j in enumerate(job_strain_lst)}\nwf.energy_dict = inputs_to_dict(\n input_specification=list(energy_dict.keys()),\n **energy_dict,\n)\nwf.volume_lst = get_values_from_dict(\n input_dict=wf.volume_dict\n)\nwf.energy_lst = get_values_from_dict(\n input_dict=wf.energy_dict\n)","metadata":{"trusted":true},"outputs":[],"execution_count":13},{"id":"96808641-c9e4-4d57-9f9c-8b1a9c1b1356","cell_type":"code","source":"wf.plot = plot_energy_volume_curve(volume_lst=wf.volume_lst, energy_lst=wf.energy_lst)","metadata":{"trusted":true},"outputs":[],"execution_count":14},{"id":"45f45321-dc88-4936-b1e2-6813e0bb63a0","cell_type":"code","source":"wf.draw(size=(10,10))","metadata":{"trusted":true},"outputs":[{"execution_count":15,"output_type":"execute_result","data":{"image/svg+xml":"\n\n\n\n\n\nclustermy_workflow\n\nmy_workflow: Workflow\n\nclustermy_workflowInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure\n\n\n\n\n\n\n\nstructure: get_bulk_structure\n\n\nclustermy_workflowstructureInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructureOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_0\n\n\n\n\n\n\n\ninput_dict_0: InputsToDict7245513302159894572\n\n\nclustermy_workflowinput_dict_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_mini\n\n\n\n\n\n\n\ncalc_mini: calculate_qe\n\n\nclustermy_workflowcalc_miniInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_miniOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993\n\n\n\n\n\n\n\ninjected_GetItem_7861940023574593993: GetItem\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowstructure_lst\n\n\n\n\n\n\n\nstructure_lst: generate_structures\n\n\nclustermy_workflowstructure_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowstructure_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571\n\n\n\n\n\n\n\ninjected_GetItem_3639661277350423571: GetItem\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_1\n\n\n\n\n\n\n\ninput_dict_1: InputsToDict7245513302159894572\n\n\nclustermy_workflowinput_dict_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_0\n\n\n\n\n\n\n\ncalc_strain_0: calculate_qe\n\n\nclustermy_workflowcalc_strain_0Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841\n\n\n\n\n\n\n\ninjected_GetItem_m7252158415225576841: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_2\n\n\n\n\n\n\n\ninput_dict_2: InputsToDict7245513302159894572\n\n\nclustermy_workflowinput_dict_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_1\n\n\n\n\n\n\n\ncalc_strain_1: calculate_qe\n\n\nclustermy_workflowcalc_strain_1Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235\n\n\n\n\n\n\n\ninjected_GetItem_m6988710272709122235: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_3\n\n\n\n\n\n\n\ninput_dict_3: InputsToDict7245513302159894572\n\n\nclustermy_workflowinput_dict_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_2\n\n\n\n\n\n\n\ncalc_strain_2: calculate_qe\n\n\nclustermy_workflowcalc_strain_2Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504\n\n\n\n\n\n\n\ninjected_GetItem_m7506669112781170504: GetItem\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_4\n\n\n\n\n\n\n\ninput_dict_4: InputsToDict7245513302159894572\n\n\nclustermy_workflowinput_dict_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_3\n\n\n\n\n\n\n\ncalc_strain_3: calculate_qe\n\n\nclustermy_workflowcalc_strain_3Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386\n\n\n\n\n\n\n\ninjected_GetItem_2957691736869688386: GetItem\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinput_dict_5\n\n\n\n\n\n\n\ninput_dict_5: InputsToDict7245513302159894572\n\n\nclustermy_workflowinput_dict_5Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinput_dict_5OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowcalc_strain_4\n\n\n\n\n\n\n\ncalc_strain_4: calculate_qe\n\n\nclustermy_workflowcalc_strain_4Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677\n\n\n\n\n\n\n\ninjected_GetItem_8710029016672139677: GetItem\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363\n\n\n\n\n\n\n\ninjected_GetItem_m1919156955132558363: GetItem\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020\n\n\n\n\n\n\n\ninjected_GetItem_4142543244691876020: GetItem\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353\n\n\n\n\n\n\n\ninjected_GetItem_m2782610468716623353: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427\n\n\n\n\n\n\n\ninjected_GetItem_6927899509448106427: GetItem\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_dict\n\n\n\n\n\n\n\nvolume_dict: InputsToDictm7167683884169246426\n\n\nclustermy_workflowvolume_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781\n\n\n\n\n\n\n\ninjected_GetItem_7833741598610549781: GetItem\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128\n\n\n\n\n\n\n\ninjected_GetItem_m3668946170913939128: GetItem\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611\n\n\n\n\n\n\n\ninjected_GetItem_m6511681505733114611: GetItem\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242\n\n\n\n\n\n\n\ninjected_GetItem_m2724299995569513242: GetItem\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054\n\n\n\n\n\n\n\ninjected_GetItem_m447248367025958054: GetItem\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054Inputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054OutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_dict\n\n\n\n\n\n\n\nenergy_dict: InputsToDictm7167683884169246426\n\n\nclustermy_workflowenergy_dictInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_dictOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowvolume_lst\n\n\n\n\n\n\n\nvolume_lst: get_values_from_dict\n\n\nclustermy_workflowvolume_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowvolume_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowenergy_lst\n\n\n\n\n\n\n\nenergy_lst: get_values_from_dict\n\n\nclustermy_workflowenergy_lstInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowenergy_lstOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\nclustermy_workflowplot\n\n\n\n\n\n\n\nplot: plot_energy_volume_curve\n\n\nclustermy_workflowplotInputs\n\n\n\n\n\n\n\nInputs\n\n\nclustermy_workflowplotOutputsWithInjection\n\n\n\n\n\n\n\nOutputsWithInjection\n\n\n\nclustermy_workflowInputsrun\n\nrun\n\n\n\nclustermy_workflowOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowInputsstructure__element\n\nstructure__element\n\n\n\nclustermy_workflowstructureInputselement\n\nelement\n\n\n\nclustermy_workflowInputsstructure__element->clustermy_workflowstructureInputselement\n\n\n\n\n\n\nclustermy_workflowInputsstructure__a\n\nstructure__a\n\n\n\nclustermy_workflowstructureInputsa\n\na\n\n\n\nclustermy_workflowInputsstructure__a->clustermy_workflowstructureInputsa\n\n\n\n\n\n\nclustermy_workflowInputsstructure__cubic\n\nstructure__cubic\n\n\n\nclustermy_workflowstructureInputscubic\n\ncubic\n\n\n\nclustermy_workflowInputsstructure__cubic->clustermy_workflowstructureInputscubic\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials\n\ninput_dict_0__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_0Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_0__pseudopotentials->clustermy_workflowinput_dict_0Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts\n\ninput_dict_0__kpts\n\n\n\nclustermy_workflowinput_dict_0Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_0__kpts->clustermy_workflowinput_dict_0Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation\n\ninput_dict_0__calculation\n\n\n\nclustermy_workflowinput_dict_0Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_0__calculation->clustermy_workflowinput_dict_0Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing\n\ninput_dict_0__smearing\n\n\n\nclustermy_workflowinput_dict_0Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_0__smearing->clustermy_workflowinput_dict_0Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_mini__working_directory\n\ncalc_mini__working_directory\n\n\n\nclustermy_workflowcalc_miniInputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_mini__working_directory->clustermy_workflowcalc_miniInputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7861940023574593993__item\n\ninjected_GetItem_7861940023574593993__item\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7861940023574593993__item->clustermy_workflowinjected_GetItem_7861940023574593993Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst\n\nstructure_lst__strain_lst\n\n\n\nclustermy_workflowstructure_lstInputsstrain_lst\n\nstrain_lst\n\n\n\nclustermy_workflowInputsstructure_lst__strain_lst->clustermy_workflowstructure_lstInputsstrain_lst\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_3639661277350423571__item\n\ninjected_GetItem_3639661277350423571__item\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_3639661277350423571__item->clustermy_workflowinjected_GetItem_3639661277350423571Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials\n\ninput_dict_1__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_1Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_1__pseudopotentials->clustermy_workflowinput_dict_1Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts\n\ninput_dict_1__kpts\n\n\n\nclustermy_workflowinput_dict_1Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_1__kpts->clustermy_workflowinput_dict_1Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation\n\ninput_dict_1__calculation\n\n\n\nclustermy_workflowinput_dict_1Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_1__calculation->clustermy_workflowinput_dict_1Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing\n\ninput_dict_1__smearing\n\n\n\nclustermy_workflowinput_dict_1Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_1__smearing->clustermy_workflowinput_dict_1Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory\n\ncalc_strain_0__working_directory\n\n\n\nclustermy_workflowcalc_strain_0Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_0__working_directory->clustermy_workflowcalc_strain_0Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7252158415225576841__item\n\ninjected_GetItem_m7252158415225576841__item\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7252158415225576841__item->clustermy_workflowinjected_GetItem_m7252158415225576841Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials\n\ninput_dict_2__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_2Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_2__pseudopotentials->clustermy_workflowinput_dict_2Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts\n\ninput_dict_2__kpts\n\n\n\nclustermy_workflowinput_dict_2Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_2__kpts->clustermy_workflowinput_dict_2Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation\n\ninput_dict_2__calculation\n\n\n\nclustermy_workflowinput_dict_2Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_2__calculation->clustermy_workflowinput_dict_2Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing\n\ninput_dict_2__smearing\n\n\n\nclustermy_workflowinput_dict_2Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_2__smearing->clustermy_workflowinput_dict_2Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory\n\ncalc_strain_1__working_directory\n\n\n\nclustermy_workflowcalc_strain_1Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_1__working_directory->clustermy_workflowcalc_strain_1Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6988710272709122235__item\n\ninjected_GetItem_m6988710272709122235__item\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6988710272709122235__item->clustermy_workflowinjected_GetItem_m6988710272709122235Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials\n\ninput_dict_3__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_3Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_3__pseudopotentials->clustermy_workflowinput_dict_3Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts\n\ninput_dict_3__kpts\n\n\n\nclustermy_workflowinput_dict_3Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_3__kpts->clustermy_workflowinput_dict_3Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation\n\ninput_dict_3__calculation\n\n\n\nclustermy_workflowinput_dict_3Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_3__calculation->clustermy_workflowinput_dict_3Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing\n\ninput_dict_3__smearing\n\n\n\nclustermy_workflowinput_dict_3Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_3__smearing->clustermy_workflowinput_dict_3Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory\n\ncalc_strain_2__working_directory\n\n\n\nclustermy_workflowcalc_strain_2Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_2__working_directory->clustermy_workflowcalc_strain_2Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7506669112781170504__item\n\ninjected_GetItem_m7506669112781170504__item\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m7506669112781170504__item->clustermy_workflowinjected_GetItem_m7506669112781170504Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials\n\ninput_dict_4__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_4Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_4__pseudopotentials->clustermy_workflowinput_dict_4Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts\n\ninput_dict_4__kpts\n\n\n\nclustermy_workflowinput_dict_4Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_4__kpts->clustermy_workflowinput_dict_4Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation\n\ninput_dict_4__calculation\n\n\n\nclustermy_workflowinput_dict_4Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_4__calculation->clustermy_workflowinput_dict_4Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing\n\ninput_dict_4__smearing\n\n\n\nclustermy_workflowinput_dict_4Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_4__smearing->clustermy_workflowinput_dict_4Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory\n\ncalc_strain_3__working_directory\n\n\n\nclustermy_workflowcalc_strain_3Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_3__working_directory->clustermy_workflowcalc_strain_3Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_2957691736869688386__item\n\ninjected_GetItem_2957691736869688386__item\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_2957691736869688386__item->clustermy_workflowinjected_GetItem_2957691736869688386Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials\n\ninput_dict_5__pseudopotentials\n\n\n\nclustermy_workflowinput_dict_5Inputspseudopotentials\n\npseudopotentials\n\n\n\nclustermy_workflowInputsinput_dict_5__pseudopotentials->clustermy_workflowinput_dict_5Inputspseudopotentials\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts\n\ninput_dict_5__kpts\n\n\n\nclustermy_workflowinput_dict_5Inputskpts\n\nkpts\n\n\n\nclustermy_workflowInputsinput_dict_5__kpts->clustermy_workflowinput_dict_5Inputskpts\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation\n\ninput_dict_5__calculation\n\n\n\nclustermy_workflowinput_dict_5Inputscalculation\n\ncalculation\n\n\n\nclustermy_workflowInputsinput_dict_5__calculation->clustermy_workflowinput_dict_5Inputscalculation\n\n\n\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing\n\ninput_dict_5__smearing\n\n\n\nclustermy_workflowinput_dict_5Inputssmearing\n\nsmearing\n\n\n\nclustermy_workflowInputsinput_dict_5__smearing->clustermy_workflowinput_dict_5Inputssmearing\n\n\n\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory\n\ncalc_strain_4__working_directory\n\n\n\nclustermy_workflowcalc_strain_4Inputsworking_directory\n\nworking_directory\n\n\n\nclustermy_workflowInputscalc_strain_4__working_directory->clustermy_workflowcalc_strain_4Inputsworking_directory\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_8710029016672139677__item\n\ninjected_GetItem_8710029016672139677__item\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_8710029016672139677__item->clustermy_workflowinjected_GetItem_8710029016672139677Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m1919156955132558363__item\n\ninjected_GetItem_m1919156955132558363__item\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m1919156955132558363__item->clustermy_workflowinjected_GetItem_m1919156955132558363Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_4142543244691876020__item\n\ninjected_GetItem_4142543244691876020__item\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_4142543244691876020__item->clustermy_workflowinjected_GetItem_4142543244691876020Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2782610468716623353__item\n\ninjected_GetItem_m2782610468716623353__item\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2782610468716623353__item->clustermy_workflowinjected_GetItem_m2782610468716623353Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_6927899509448106427__item\n\ninjected_GetItem_6927899509448106427__item\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_6927899509448106427__item->clustermy_workflowinjected_GetItem_6927899509448106427Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_7833741598610549781__item\n\ninjected_GetItem_7833741598610549781__item\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_7833741598610549781__item->clustermy_workflowinjected_GetItem_7833741598610549781Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3668946170913939128__item\n\ninjected_GetItem_m3668946170913939128__item\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m3668946170913939128__item->clustermy_workflowinjected_GetItem_m3668946170913939128Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6511681505733114611__item\n\ninjected_GetItem_m6511681505733114611__item\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m6511681505733114611__item->clustermy_workflowinjected_GetItem_m6511681505733114611Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2724299995569513242__item\n\ninjected_GetItem_m2724299995569513242__item\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m2724299995569513242__item->clustermy_workflowinjected_GetItem_m2724299995569513242Inputsitem\n\n\n\n\n\n\nclustermy_workflowInputsinjected_GetItem_m447248367025958054__item\n\ninjected_GetItem_m447248367025958054__item\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054Inputsitem\n\nitem\n\n\n\nclustermy_workflowInputsinjected_GetItem_m447248367025958054__item->clustermy_workflowinjected_GetItem_m447248367025958054Inputsitem\n\n\n\n\n\n\nclustermy_workflowOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\nplot__plot_energy_volume_curve\n\n\n\nclustermy_workflowstructureInputsrun\n\nrun\n\n\n\nclustermy_workflowstructureOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructureInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructureOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure\n\nget_bulk_structure\n\n\n\nclustermy_workflowinput_dict_0Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowstructureOutputsWithInjectionget_bulk_structure->clustermy_workflowinput_dict_0Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_miniInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_0OutputsWithInjectiondict->clustermy_workflowcalc_miniInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_miniInputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_miniInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_miniOutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7861940023574593993Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowstructure_lstInputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_7861940023574593993OutputsWithInjectiongetitem->clustermy_workflowstructure_lstInputsstructure\n\n\n\n\n\n\nclustermy_workflowstructure_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowstructure_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures\n\ngenerate_structures\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_3639661277350423571Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7252158415225576841Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m6988710272709122235Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_m7506669112781170504Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386Inputsobj\n\nobj\n\n\n\nclustermy_workflowstructure_lstOutputsWithInjectiongenerate_structures->clustermy_workflowinjected_GetItem_2957691736869688386Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_1Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_3639661277350423571OutputsWithInjectiongetitem->clustermy_workflowinput_dict_1Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_0Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_1OutputsWithInjectiondict->clustermy_workflowcalc_strain_0Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_0Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_8710029016672139677Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_0OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_7833741598610549781Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_2Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m7252158415225576841OutputsWithInjectiongetitem->clustermy_workflowinput_dict_2Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_1Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_2OutputsWithInjectiondict->clustermy_workflowcalc_strain_1Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_1Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m1919156955132558363Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_1OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m3668946170913939128Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_3Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m6988710272709122235OutputsWithInjectiongetitem->clustermy_workflowinput_dict_3Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_2Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_3OutputsWithInjectiondict->clustermy_workflowcalc_strain_2Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_2Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_4142543244691876020Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_2OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m6511681505733114611Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_4Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_m7506669112781170504OutputsWithInjectiongetitem->clustermy_workflowinput_dict_4Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_3Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_4OutputsWithInjectiondict->clustermy_workflowcalc_strain_3Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_3Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m2782610468716623353Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_3OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m2724299995569513242Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowinput_dict_5Inputsstructure\n\nstructure\n\n\n\nclustermy_workflowinjected_GetItem_2957691736869688386OutputsWithInjectiongetitem->clustermy_workflowinput_dict_5Inputsstructure\n\n\n\n\n\n\nclustermy_workflowinput_dict_5Inputsrun\n\nrun\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinput_dict_5Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowcalc_strain_4Inputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowinput_dict_5OutputsWithInjectiondict->clustermy_workflowcalc_strain_4Inputsinput_dict\n\n\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsrun\n\nrun\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowcalc_strain_4Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe\n\ncalculate_qe\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_6927899509448106427Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054Inputsobj\n\nobj\n\n\n\nclustermy_workflowcalc_strain_4OutputsWithInjectioncalculate_qe->clustermy_workflowinjected_GetItem_m447248367025958054Inputsobj\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_8710029016672139677OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m1919156955132558363OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_4142543244691876020OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m2782610468716623353OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowvolume_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_6927899509448106427OutputsWithInjectiongetitem->clustermy_workflowvolume_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowvolume_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowvolume_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowvolume_dictOutputsWithInjectiondict->clustermy_workflowvolume_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_0\n\ns_0\n\n\n\nclustermy_workflowinjected_GetItem_7833741598610549781OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_0\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_1\n\ns_1\n\n\n\nclustermy_workflowinjected_GetItem_m3668946170913939128OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_1\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_2\n\ns_2\n\n\n\nclustermy_workflowinjected_GetItem_m6511681505733114611OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_2\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_3\n\ns_3\n\n\n\nclustermy_workflowinjected_GetItem_m2724299995569513242OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_3\n\n\n\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054Inputsrun\n\nrun\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054OutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054Inputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054OutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054OutputsWithInjectiongetitem\n\ngetitem\n\n\n\nclustermy_workflowenergy_dictInputss_4\n\ns_4\n\n\n\nclustermy_workflowinjected_GetItem_m447248367025958054OutputsWithInjectiongetitem->clustermy_workflowenergy_dictInputss_4\n\n\n\n\n\n\nclustermy_workflowenergy_dictInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_dictInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict\n\ndict: dict\n\n\n\nclustermy_workflowenergy_lstInputsinput_dict\n\ninput_dict\n\n\n\nclustermy_workflowenergy_dictOutputsWithInjectiondict->clustermy_workflowenergy_lstInputsinput_dict\n\n\n\n\n\n\nclustermy_workflowvolume_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowvolume_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionoutput_dict\n\noutput_dict\n\n\n\nclustermy_workflowplotInputsvolume_lst\n\nvolume_lst\n\n\n\nclustermy_workflowvolume_lstOutputsWithInjectionoutput_dict->clustermy_workflowplotInputsvolume_lst\n\n\n\n\n\n\nclustermy_workflowenergy_lstInputsrun\n\nrun\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowenergy_lstInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionoutput_dict\n\noutput_dict\n\n\n\nclustermy_workflowplotInputsenergy_lst\n\nenergy_lst\n\n\n\nclustermy_workflowenergy_lstOutputsWithInjectionoutput_dict->clustermy_workflowplotInputsenergy_lst\n\n\n\n\n\n\nclustermy_workflowplotInputsrun\n\nrun\n\n\n\nclustermy_workflowplotOutputsWithInjectionran\n\nran\n\n\n\n\nclustermy_workflowplotInputsaccumulate_and_run\n\naccumulate_and_run\n\n\n\nclustermy_workflowplotOutputsWithInjectionfailed\n\nfailed\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve\n\nplot_energy_volume_curve\n\n\n\nclustermy_workflowplotOutputsWithInjectionplot_energy_volume_curve->clustermy_workflowOutputsWithInjectionplot__plot_energy_volume_curve\n\n\n\n\n\n\n","text/plain":""},"metadata":{}}],"execution_count":15},{"id":"5bb8c16b-7815-4bb8-b8a1-b0d4aa8528c9","cell_type":"code","source":"write_workflow_json(graph_as_dict=wf.graph_as_dict, file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":16},{"id":"944be632-3544-4a22-a105-78dd94c6a25d","cell_type":"code","source":"!cat {workflow_json_filename}","metadata":{"trusted":true},"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\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 2,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 3,\n \"type\": \"function\",\n \"value\": \"workflow.generate_structures\"\n },\n {\n \"id\": 4,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 5,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 6,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 7,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 8,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 9,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 10,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 11,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 12,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_dict\"\n },\n {\n \"id\": 13,\n \"type\": \"function\",\n \"value\": \"workflow.calculate_qe\"\n },\n {\n \"id\": 14,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 15,\n \"type\": \"function\",\n \"value\": \"python_workflow_definition.shared.get_list\"\n },\n {\n \"id\": 16,\n \"type\": \"function\",\n \"value\": \"workflow.plot_energy_volume_curve\"\n },\n {\n \"id\": 17,\n \"type\": \"input\",\n \"name\": \"element\",\n \"value\": \"Al\"\n },\n {\n \"id\": 18,\n \"type\": \"input\",\n \"name\": \"a\",\n \"value\": 4.04\n },\n {\n \"id\": 19,\n \"type\": \"input\",\n \"name\": \"cubic\",\n \"value\": true\n },\n {\n \"id\": 20,\n \"type\": \"input\",\n \"name\": \"pseudopotentials\",\n \"value\": {\n \"Al\": \"Al.pbe-n-kjpaw_psl.1.0.0.UPF\"\n }\n },\n {\n \"id\": 21,\n \"type\": \"input\",\n \"name\": \"kpts\",\n \"value\": [\n 3,\n 3,\n 3\n ]\n },\n {\n \"id\": 22,\n \"type\": \"input\",\n \"name\": \"calculation_0\",\n \"value\": \"vc-relax\"\n },\n {\n \"id\": 23,\n \"type\": \"input\",\n \"name\": \"smearing\",\n \"value\": 0.02\n },\n {\n \"id\": 24,\n \"type\": \"input\",\n \"name\": \"working_directory_0\",\n \"value\": \"mini\"\n },\n {\n \"id\": 25,\n \"type\": \"input\",\n \"name\": \"strain_lst\",\n \"value\": [\n 0.9,\n 0.9500000000000001,\n 1.0,\n 1.05,\n 1.1\n ]\n },\n {\n \"id\": 26,\n \"type\": \"input\",\n \"name\": \"calculation_1\",\n \"value\": \"scf\"\n },\n {\n \"id\": 27,\n \"type\": \"input\",\n \"name\": \"working_directory_1\",\n \"value\": \"strain_0\"\n },\n {\n \"id\": 28,\n \"type\": \"input\",\n \"name\": \"working_directory_2\",\n \"value\": \"strain_1\"\n },\n {\n \"id\": 29,\n \"type\": \"input\",\n \"name\": \"working_directory_3\",\n \"value\": \"strain_2\"\n },\n {\n \"id\": 30,\n \"type\": \"input\",\n \"name\": \"working_directory_4\",\n \"value\": \"strain_3\"\n },\n {\n \"id\": 31,\n \"type\": \"input\",\n \"name\": \"working_directory_5\",\n \"value\": \"strain_4\"\n },\n {\n \"id\": 32,\n \"type\": \"output\",\n \"name\": \"result\"\n }\n ],\n \"edges\": [\n {\n \"target\": 3,\n \"targetPort\": \"structure\",\n \"source\": 2,\n \"sourcePort\": \"structure\"\n },\n {\n \"target\": 12,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_4\"\n },\n {\n \"target\": 10,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_3\"\n },\n {\n \"target\": 8,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_2\"\n },\n {\n \"target\": 6,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_1\"\n },\n {\n \"target\": 4,\n \"targetPort\": \"structure\",\n \"source\": 3,\n \"sourcePort\": \"s_0\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"0\",\n \"source\": 5,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"0\",\n \"source\": 5,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"1\",\n \"source\": 7,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"1\",\n \"source\": 7,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"2\",\n \"source\": 9,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"2\",\n \"source\": 9,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"3\",\n \"source\": 11,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"3\",\n \"source\": 11,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 15,\n \"targetPort\": \"4\",\n \"source\": 13,\n \"sourcePort\": \"energy\"\n },\n {\n \"target\": 14,\n \"targetPort\": \"4\",\n \"source\": 13,\n \"sourcePort\": \"volume\"\n },\n {\n \"target\": 1,\n \"targetPort\": \"structure\",\n \"source\": 0,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"input_dict\",\n \"source\": 1,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"input_dict\",\n \"source\": 4,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"input_dict\",\n \"source\": 6,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"input_dict\",\n \"source\": 8,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"input_dict\",\n \"source\": 10,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"input_dict\",\n \"source\": 12,\n \"sourcePort\": null\n },\n {\n \"target\": 16,\n \"targetPort\": \"volume_lst\",\n \"source\": 14,\n \"sourcePort\": null\n },\n {\n \"target\": 16,\n \"targetPort\": \"energy_lst\",\n \"source\": 15,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"element\",\n \"source\": 17,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"a\",\n \"source\": 18,\n \"sourcePort\": null\n },\n {\n \"target\": 0,\n \"targetPort\": \"cubic\",\n \"source\": 19,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"calculation\",\n \"source\": 22,\n \"sourcePort\": null\n },\n {\n \"target\": 1,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 2,\n \"targetPort\": \"working_directory\",\n \"source\": 24,\n \"sourcePort\": null\n },\n {\n \"target\": 3,\n \"targetPort\": \"strain_lst\",\n \"source\": 25,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 4,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 5,\n \"targetPort\": \"working_directory\",\n \"source\": 27,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 6,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 7,\n \"targetPort\": \"working_directory\",\n \"source\": 28,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 8,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 9,\n \"targetPort\": \"working_directory\",\n \"source\": 29,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 10,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 11,\n \"targetPort\": \"working_directory\",\n \"source\": 30,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"pseudopotentials\",\n \"source\": 20,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"kpts\",\n \"source\": 21,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"calculation\",\n \"source\": 26,\n \"sourcePort\": null\n },\n {\n \"target\": 12,\n \"targetPort\": \"smearing\",\n \"source\": 23,\n \"sourcePort\": null\n },\n {\n \"target\": 13,\n \"targetPort\": \"working_directory\",\n \"source\": 31,\n \"sourcePort\": null\n },\n {\n \"target\": 32,\n \"targetPort\": null,\n \"source\": 16,\n \"sourcePort\": null\n }\n ]\n}"}],"execution_count":17},{"id":"fef7107a-5af3-4434-ae4c-a8d45e1d9b61","cell_type":"markdown","source":"## Load Workflow with aiida","metadata":{}},{"id":"5f4d2243-faf6-4d57-be70-5f7d1292e33e","cell_type":"code","source":"from aiida import orm, load_profile\n\nload_profile()","metadata":{"trusted":true},"outputs":[{"execution_count":18,"output_type":"execute_result","data":{"text/plain":"Profile"},"metadata":{}}],"execution_count":18},{"id":"232c9447-8274-4a82-9c8c-468af7ec6c43","cell_type":"code","source":"from python_workflow_definition.aiida import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":19},{"id":"97150c3d-dd11-4b24-8e19-a088bb85a2c8","cell_type":"code","source":"wg = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":20},{"id":"539e0245-c31c-4fb6-badd-c6ef155b43fa","cell_type":"code","source":"wg.nodes.get_bulk_structure1.inputs.a.value = orm.Float(4.05)","metadata":{"trusted":true},"outputs":[],"execution_count":21},{"id":"dac6c4ad-297e-43b1-8d0a-ea841f3d6aa7","cell_type":"code","source":"wg.run()","metadata":{"trusted":true},"outputs":[{"name":"stderr","output_type":"stream","text":"05/26/2025 05:57:55 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_bulk_structure1\n05/26/2025 05:57:56 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_bulk_structure1, type: PyFunction, finished.\n05/26/2025 05:57:56 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict2\n05/26/2025 05:57:56 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict2, type: PyFunction, finished.\n05/26/2025 05:57:56 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe3\n[jupyter-pythonworkflow-fl--x---35e2fba5:00217] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:58:48 AM <86> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['energy', 'volume'])\n05/26/2025 05:58:48 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe3, type: PyFunction, finished.\n05/26/2025 05:58:48 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: generate_structures4\n05/26/2025 05:58:49 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: generate_structures4, type: PyFunction, finished.\n05/26/2025 05:58:49 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict5,get_dict7,get_dict9,get_dict11,get_dict13\n05/26/2025 05:58:49 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict5, type: PyFunction, finished.\n05/26/2025 05:58:50 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe6,get_dict7,get_dict9,get_dict11,get_dict13\n[jupyter-pythonworkflow-fl--x---35e2fba5:00262] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:59:03 AM <86> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:59:04 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe6, type: PyFunction, finished.\n05/26/2025 05:59:04 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict7,get_dict9,get_dict11,get_dict13\n05/26/2025 05:59:04 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict7, type: PyFunction, finished.\n05/26/2025 05:59:05 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe8,get_dict9,get_dict11,get_dict13\n[jupyter-pythonworkflow-fl--x---35e2fba5:00273] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:59:16 AM <86> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:59:16 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe8, type: PyFunction, finished.\n05/26/2025 05:59:16 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict9,get_dict11,get_dict13\n05/26/2025 05:59:17 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict9, type: PyFunction, finished.\n05/26/2025 05:59:17 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe10,get_dict11,get_dict13\n[jupyter-pythonworkflow-fl--x---35e2fba5:00285] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:59:28 AM <86> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:59:29 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe10, type: PyFunction, finished.\n05/26/2025 05:59:29 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict11,get_dict13\n05/26/2025 05:59:29 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict11, type: PyFunction, finished.\n05/26/2025 05:59:29 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe12,get_dict13\n[jupyter-pythonworkflow-fl--x---35e2fba5:00296] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:59:43 AM <86> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:59:43 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe12, type: PyFunction, finished.\n05/26/2025 05:59:43 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_dict13\n05/26/2025 05:59:44 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_dict13, type: PyFunction, finished.\n05/26/2025 05:59:44 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: calculate_qe14\n[jupyter-pythonworkflow-fl--x---35e2fba5:00307] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n05/26/2025 05:59:58 AM <86> aiida.orm.nodes.process.calculation.calcfunction.CalcFunctionNode: [WARNING] Found extra results that are not included in the output: dict_keys(['structure'])\n05/26/2025 05:59:59 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: calculate_qe14, type: PyFunction, finished.\n05/26/2025 05:59:59 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list15,get_list16\n05/26/2025 05:59:59 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_list15, type: PyFunction, finished.\n05/26/2025 05:59:59 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: get_list16\n05/26/2025 06:00:00 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: get_list16, type: PyFunction, finished.\n05/26/2025 06:00:00 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: plot_energy_volume_curve17\n05/26/2025 06:00:01 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|update_task_state]: Task: plot_energy_volume_curve17, type: PyFunction, finished.\n05/26/2025 06:00:01 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|continue_workgraph]: tasks ready to run: \n05/26/2025 06:00:01 AM <86> aiida.orm.nodes.process.workflow.workchain.WorkChainNode: [REPORT] [17|WorkGraphEngine|finalize]: Finalize workgraph.\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":22},{"id":"9226d966-d90a-4ab2-9776-df1b50bd6a49","cell_type":"markdown","source":"## Load Workflow with jobflow","metadata":{}},{"id":"ba32ad83-385d-4f1a-87ea-28a1383e6067","cell_type":"code","source":"from python_workflow_definition.jobflow import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":23},{"id":"4a39c916-a45b-48ac-b4a9-914688c5d85e","cell_type":"code","source":"from jobflow.managers.local import run_locally","metadata":{"trusted":true},"outputs":[],"execution_count":24},{"id":"9b03e3e7-3dba-4640-9869-76916413bfc0","cell_type":"code","source":"flow = load_workflow_json(file_name=workflow_json_filename)","metadata":{"trusted":true},"outputs":[],"execution_count":25},{"id":"a3f050c8-9a29-461e-bb68-b6cdc5e1bb1b","cell_type":"code","source":"flow[0].function_kwargs[\"a\"] = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":26},{"id":"19df3f74-8c2f-4563-a78a-f5307a9e084d","cell_type":"code","source":"result = run_locally(flow)\nresult","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"2025-05-26 06:00:02,662 INFO Started executing jobs locally\n2025-05-26 06:00:02,768 INFO Starting job - get_bulk_structure (2521ebff-2219-4e59-9425-4f3ab2851e2a)\n2025-05-26 06:00:02,771 INFO Finished job - get_bulk_structure (2521ebff-2219-4e59-9425-4f3ab2851e2a)\n2025-05-26 06:00:02,772 INFO Starting job - get_dict (16a60b49-6205-418e-a640-7a128111d10c)\n2025-05-26 06:00:02,776 INFO Finished job - get_dict (16a60b49-6205-418e-a640-7a128111d10c)\n2025-05-26 06:00:02,777 INFO Starting job - calculate_qe (ac278a4f-b187-498e-a234-4060e13f5b06)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00319] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:00:53,435 INFO Finished job - calculate_qe (ac278a4f-b187-498e-a234-4060e13f5b06)\n2025-05-26 06:00:53,436 INFO Starting job - generate_structures (40215563-bfe0-47dc-a31b-124b15688007)\n2025-05-26 06:00:53,440 INFO Finished job - generate_structures (40215563-bfe0-47dc-a31b-124b15688007)\n2025-05-26 06:00:53,440 INFO Starting job - get_dict (65b32304-10b3-4711-9f55-2dcc5c405641)\n2025-05-26 06:00:53,442 INFO Finished job - get_dict (65b32304-10b3-4711-9f55-2dcc5c405641)\n2025-05-26 06:00:53,442 INFO Starting job - get_dict (77f8e7d0-2281-42cc-b39e-d7acc34f5458)\n2025-05-26 06:00:53,444 INFO Finished job - get_dict (77f8e7d0-2281-42cc-b39e-d7acc34f5458)\n2025-05-26 06:00:53,445 INFO Starting job - get_dict (65655d5b-ccf4-44bd-8c8d-6e833b329ede)\n2025-05-26 06:00:53,446 INFO Finished job - get_dict (65655d5b-ccf4-44bd-8c8d-6e833b329ede)\n2025-05-26 06:00:53,447 INFO Starting job - get_dict (bc4172ef-be1c-4ad0-86c0-156181da184a)\n2025-05-26 06:00:53,448 INFO Finished job - get_dict (bc4172ef-be1c-4ad0-86c0-156181da184a)\n2025-05-26 06:00:53,449 INFO Starting job - get_dict (46148184-d180-4a07-95f7-31bd43ada4b2)\n2025-05-26 06:00:53,451 INFO Finished job - get_dict (46148184-d180-4a07-95f7-31bd43ada4b2)\n2025-05-26 06:00:53,452 INFO Starting job - calculate_qe (1bae14bc-f3b4-4be4-a504-7c100cf1b54c)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---35e2fba5:00344] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:01:03,461 INFO Finished job - calculate_qe (1bae14bc-f3b4-4be4-a504-7c100cf1b54c)\n2025-05-26 06:01:03,462 INFO Starting job - calculate_qe (8c6e7e3c-4acc-4434-b140-ce8c97100240)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---35e2fba5:00355] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:01:16,096 INFO Finished job - calculate_qe (8c6e7e3c-4acc-4434-b140-ce8c97100240)\n2025-05-26 06:01:16,097 INFO Starting job - calculate_qe (45156baf-8ffa-4c3f-8da4-6b9121e77306)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---35e2fba5:00366] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:01:28,481 INFO Finished job - calculate_qe (45156baf-8ffa-4c3f-8da4-6b9121e77306)\n2025-05-26 06:01:28,482 INFO Starting job - calculate_qe (7662120d-f6da-415a-9da8-5fbcadf166aa)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n[jupyter-pythonworkflow-fl--x---35e2fba5:00378] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:01:41,772 INFO Finished job - calculate_qe (7662120d-f6da-415a-9da8-5fbcadf166aa)\n2025-05-26 06:01:41,773 INFO Starting job - calculate_qe (9d38753b-3c9d-40f9-aa27-eceec701734b)\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00389] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:01:54,979 INFO Finished job - calculate_qe (9d38753b-3c9d-40f9-aa27-eceec701734b)\n2025-05-26 06:01:54,980 INFO Starting job - get_list (cd676100-1e89-4293-a77f-7ca752f228cd)\n2025-05-26 06:01:54,983 INFO Finished job - get_list (cd676100-1e89-4293-a77f-7ca752f228cd)\n2025-05-26 06:01:54,984 INFO Starting job - get_list (44aeb1e8-6af4-4b97-8345-fc78009db91c)\n2025-05-26 06:01:54,987 INFO Finished job - get_list (44aeb1e8-6af4-4b97-8345-fc78009db91c)\n2025-05-26 06:01:54,987 INFO Starting job - plot_energy_volume_curve (09bec337-1bd0-434d-a322-14b6485445bf)\n"},{"name":"stderr","output_type":"stream","text":"Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"2025-05-26 06:01:55,044 INFO Finished job - plot_energy_volume_curve (09bec337-1bd0-434d-a322-14b6485445bf)\n2025-05-26 06:01:55,045 INFO Finished executing jobs locally\n"},{"execution_count":27,"output_type":"execute_result","data":{"text/plain":"{'2521ebff-2219-4e59-9425-4f3ab2851e2a': {1: Response(output='{\"immutable_id\": null, \"last_modified\": null, \"elements\": [\"Al\"], \"nelements\": 1, \"elements_ratios\": [1.0], \"chemical_formula_descriptive\": \"Al4\", \"chemical_formula_reduced\": \"Al\", \"chemical_formula_hill\": null, \"chemical_formula_anonymous\": \"A\", \"dimension_types\": [1, 1, 1], \"nperiodic_dimensions\": 3, \"lattice_vectors\": [[4.05, 0.0, 0.0], [0.0, 4.05, 0.0], [0.0, 0.0, 4.05]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '16a60b49-6205-418e-a640-7a128111d10c': {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/jovyan/example_workflows/quantum_espresso'))},\n 'ac278a4f-b187-498e-a234-4060e13f5b06': {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.045637215946772, 0.0, 0.0], [0.0, 4.045637215946772, 0.0], [0.0, 0.0, 4.045637215946772]], \"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.022818607973386, 2.0228186079733863], [2.022818607973386, 0.0, 2.0228186079733863], [2.022818607973386, 2.022818607973386, 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.9365262253611, 'volume': 66.2156744823591}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '40215563-bfe0-47dc-a31b-124b15688007': {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.9060197859620818, 0.0, 0.0], [0.0, 3.9060197859620818, 0.0], [0.0, 0.0, 3.9060197859620818]], \"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.9530098929810409, 1.9530098929810413], [1.9530098929810409, 0.0, 1.9530098929810413], [1.9530098929810409, 1.9530098929810409, 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.977053844317981, 0.0, 0.0], [0.0, 3.977053844317981, 0.0], [0.0, 0.0, 3.977053844317981]], \"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.9885269221589905, 1.988526922158991], [1.9885269221589905, 0.0, 1.988526922158991], [1.9885269221589905, 1.9885269221589905, 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.045637215946772, 0.0, 0.0], [0.0, 4.045637215946772, 0.0], [0.0, 0.0, 4.045637215946772]], \"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.022818607973386, 2.0228186079733863], [2.022818607973386, 0.0, 2.0228186079733863], [2.022818607973386, 2.022818607973386, 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.1119709272828855, 0.0, 0.0], [0.0, 4.1119709272828855, 0.0], [0.0, 0.0, 4.1119709272828855]], \"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.0559854636414427, 2.055985463641443], [2.0559854636414427, 0.0, 2.055985463641443], [2.0559854636414427, 2.0559854636414427, 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.176230852372109, 0.0, 0.0], [0.0, 4.176230852372109, 0.0], [0.0, 0.0, 4.176230852372109]], \"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.088115426186054, 2.0881154261860546], [2.088115426186054, 0.0, 2.0881154261860546], [2.088115426186054, 2.088115426186054, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}'}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '65b32304-10b3-4711-9f55-2dcc5c405641': {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.9060197859620818, 0.0, 0.0], [0.0, 3.9060197859620818, 0.0], [0.0, 0.0, 3.9060197859620818]], \"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.9530098929810409, 1.9530098929810413], [1.9530098929810409, 0.0, 1.9530098929810413], [1.9530098929810409, 1.9530098929810409, 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/jovyan/example_workflows/quantum_espresso'))},\n '77f8e7d0-2281-42cc-b39e-d7acc34f5458': {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.977053844317981, 0.0, 0.0], [0.0, 3.977053844317981, 0.0], [0.0, 0.0, 3.977053844317981]], \"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.9885269221589905, 1.988526922158991], [1.9885269221589905, 0.0, 1.988526922158991], [1.9885269221589905, 1.9885269221589905, 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/jovyan/example_workflows/quantum_espresso'))},\n '65655d5b-ccf4-44bd-8c8d-6e833b329ede': {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.045637215946772, 0.0, 0.0], [0.0, 4.045637215946772, 0.0], [0.0, 0.0, 4.045637215946772]], \"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.022818607973386, 2.0228186079733863], [2.022818607973386, 0.0, 2.0228186079733863], [2.022818607973386, 2.022818607973386, 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/jovyan/example_workflows/quantum_espresso'))},\n 'bc4172ef-be1c-4ad0-86c0-156181da184a': {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.1119709272828855, 0.0, 0.0], [0.0, 4.1119709272828855, 0.0], [0.0, 0.0, 4.1119709272828855]], \"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.0559854636414427, 2.055985463641443], [2.0559854636414427, 0.0, 2.055985463641443], [2.0559854636414427, 2.0559854636414427, 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/jovyan/example_workflows/quantum_espresso'))},\n '46148184-d180-4a07-95f7-31bd43ada4b2': {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.176230852372109, 0.0, 0.0], [0.0, 4.176230852372109, 0.0], [0.0, 0.0, 4.176230852372109]], \"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.088115426186054, 2.0881154261860546], [2.088115426186054, 0.0, 2.0881154261860546], [2.088115426186054, 2.088115426186054, 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/jovyan/example_workflows/quantum_espresso'))},\n '1bae14bc-f3b4-4be4-a504-7c100cf1b54c': {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.906019768889115, 0.0, 0.0], [0.0, 3.906019768889115, 0.0], [0.0, 0.0, 3.906019768889115]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9530098844635175, 1.9530098844635175], [1.9530098844635175, 0.0, 1.9530098844635175], [1.9530098844635175, 1.9530098844635175, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8457446150628, 'volume': 59.59410625267695}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '8c6e7e3c-4acc-4434-b140-ce8c97100240': {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.97705382693453, 0.0, 0.0], [0.0, 3.97705382693453, 0.0], [0.0, 0.0, 3.97705382693453]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 1.9885269135082746, 1.9885269135082746], [1.9885269135082746, 0.0, 1.9885269135082746], [1.9885269135082746, 1.9885269135082746, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.9161488594593, 'volume': 62.90488993338123}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '45156baf-8ffa-4c3f-8da4-6b9121e77306': {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.045637198263546, 0.0, 0.0], [0.0, 4.045637198263546, 0.0], [0.0, 0.0, 4.045637198263546]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0228185991583882, 2.0228185991583882], [2.0228185991583882, 0.0, 2.0228185991583882], [2.0228185991583882, 2.0228185991583882, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.936524166837, 'volume': 66.21567361408542}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '7662120d-f6da-415a-9da8-5fbcadf166aa': {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.111970909309726, 0.0, 0.0], [0.0, 4.111970909309726, 0.0], [0.0, 0.0, 4.111970909309726]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.0559854546134178, 2.0559854546134178], [2.0559854546134178, 0.0, 2.0559854546134178], [2.0559854546134178, 2.0559854546134178, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.919286002583, 'volume': 69.52645729479006}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '9d38753b-3c9d-40f9-aa27-eceec701734b': {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.17623083411807, 0.0, 0.0], [0.0, 4.17623083411807, 0.0], [0.0, 0.0, 4.17623083411807]], \"space_group_symmetry_operations_xyz\": null, \"space_group_symbol_hall\": null, \"space_group_symbol_hermann_mauguin\": null, \"space_group_symbol_hermann_mauguin_extended\": null, \"space_group_it_number\": null, \"cartesian_site_positions\": [[0.0, 0.0, 0.0], [0.0, 2.08811541707298, 2.08811541707298], [2.08811541707298, 0.0, 2.08811541707298], [2.08811541707298, 2.08811541707298, 0.0]], \"nsites\": 4, \"species\": [{\"name\": \"Al\", \"chemical_symbols\": [\"Al\"], \"concentration\": [1.0], \"mass\": null, \"original_name\": null, \"attached\": null, \"nattached\": null}], \"species_at_sites\": [\"Al\", \"Al\", \"Al\", \"Al\"], \"assemblies\": null, \"structure_features\": []}', 'energy': -1074.8737904693417, 'volume': 72.83724097549414}, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n 'cd676100-1e89-4293-a77f-7ca752f228cd': {1: Response(output=[59.59410625267695, 62.90488993338123, 66.21567361408542, 69.52645729479006, 72.83724097549414], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '44aeb1e8-6af4-4b97-8345-fc78009db91c': {1: Response(output=[-1074.8457446150628, -1074.9161488594593, -1074.936524166837, -1074.919286002583, -1074.8737904693417], detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))},\n '09bec337-1bd0-434d-a322-14b6485445bf': {1: Response(output=None, detour=None, addition=None, replace=None, stored_data=None, stop_children=False, stop_jobflow=False, job_dir=PosixPath('/home/jovyan/example_workflows/quantum_espresso'))}}"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXu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Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":27},{"id":"e0c78db2-2ead-45d3-92ed-d087e19952ba","cell_type":"markdown","source":"## Load Workflow with pyiron_base","metadata":{}},{"id":"319f466c-def2-45c3-82ba-fffca5d036db","cell_type":"code","source":"from python_workflow_definition.pyiron_base import load_workflow_json","metadata":{"trusted":true},"outputs":[],"execution_count":28},{"id":"ed2e964d-0251-488c-b623-28b794c46703","cell_type":"code","source":"delayed_object_lst = load_workflow_json(file_name=\"workflow.json\")\ndelayed_object_lst[-1].draw()","metadata":{"trusted":true},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/svg+xml":"\n\n\n\n\ncreate_function_job_819583e9e3328a02d26efc433a60218b\n\ncreate_function_job=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4994500>\n\n\n\nvolume_lst_473b24fac60dad6f79608b1dcecb81c3\n\nvolume_lst=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4994650>\n\n\n\nvolume_lst_473b24fac60dad6f79608b1dcecb81c3->create_function_job_819583e9e3328a02d26efc433a60218b\n\n\n\n\n\n0_8b5fadbd9d29d908c534248ef5e9315d\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4997950>\n\n\n\n0_8b5fadbd9d29d908c534248ef5e9315d->volume_lst_473b24fac60dad6f79608b1dcecb81c3\n\n\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add\n\nworking_directory=strain_0\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_8b5fadbd9d29d908c534248ef5e9315d\n\n\n\n\n\n0_87110ed6b7c4d5bba96c34aeccc74df8\n\n0=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49959a0>\n\n\n\nworking_directory_2e9abb255f1a31f7d29b4451ad422add->0_87110ed6b7c4d5bba96c34aeccc74df8\n\n\n\n\n\nenergy_lst_eac6ea907afb7d28a1e710cf28b1bc21\n\nenergy_lst=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4997920>\n\n\n\n0_87110ed6b7c4d5bba96c34aeccc74df8->energy_lst_eac6ea907afb7d28a1e710cf28b1bc21\n\n\n\n\n\ninput_dict_07bb4c07773ac201d36aae86ae8fe2fb\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4994980>\n\n\n\ninput_dict_07bb4c07773ac201d36aae86ae8fe2fb->0_8b5fadbd9d29d908c534248ef5e9315d\n\n\n\n\n\ninput_dict_07bb4c07773ac201d36aae86ae8fe2fb->0_87110ed6b7c4d5bba96c34aeccc74df8\n\n\n\n\n\nstructure_d288c970f4f39abdf5917ab0cdda5a74\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49957c0>\n\n\n\nstructure_d288c970f4f39abdf5917ab0cdda5a74->input_dict_07bb4c07773ac201d36aae86ae8fe2fb\n\n\n\n\n\nstructure_24390cb51d2b8733707c1b0720f10ee1\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4660da0>\n\n\n\nstructure_24390cb51d2b8733707c1b0720f10ee1->structure_d288c970f4f39abdf5917ab0cdda5a74\n\n\n\n\n\nstructure_cd6455098e547b09fab57e4b2675af93\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49955e0>\n\n\n\nstructure_24390cb51d2b8733707c1b0720f10ee1->structure_cd6455098e547b09fab57e4b2675af93\n\n\n\n\n\nstructure_f8eea3d580ba67799a85fc572d29ff35\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4996fc0>\n\n\n\nstructure_24390cb51d2b8733707c1b0720f10ee1->structure_f8eea3d580ba67799a85fc572d29ff35\n\n\n\n\n\nstructure_739f727cd683f52942cc877709ac6a2b\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4994170>\n\n\n\nstructure_24390cb51d2b8733707c1b0720f10ee1->structure_739f727cd683f52942cc877709ac6a2b\n\n\n\n\n\nstructure_f3b0da6e211f75868023edb2cb868ac4\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4995250>\n\n\n\nstructure_24390cb51d2b8733707c1b0720f10ee1->structure_f3b0da6e211f75868023edb2cb868ac4\n\n\n\n\n\ninput_dict_e3cba9a9960659f9dc41632e5327206e\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49955b0>\n\n\n\nstructure_cd6455098e547b09fab57e4b2675af93->input_dict_e3cba9a9960659f9dc41632e5327206e\n\n\n\n\n\ninput_dict_e93f22327a731a96309da7daa63359ec\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4994710>\n\n\n\nstructure_f8eea3d580ba67799a85fc572d29ff35->input_dict_e93f22327a731a96309da7daa63359ec\n\n\n\n\n\ninput_dict_d66fbd538cf924fb2a8253bd48ef5c13\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49979b0>\n\n\n\nstructure_739f727cd683f52942cc877709ac6a2b->input_dict_d66fbd538cf924fb2a8253bd48ef5c13\n\n\n\n\n\ninput_dict_7460bcb220d21c38a74f47f27eb9de2a\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4994b00>\n\n\n\nstructure_f3b0da6e211f75868023edb2cb868ac4->input_dict_7460bcb220d21c38a74f47f27eb9de2a\n\n\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7\n\nworking_directory=mini\n\n\n\nworking_directory_a17ade9a563d8dcadb655fb2e1c743a7->structure_24390cb51d2b8733707c1b0720f10ee1\n\n\n\n\n\ninput_dict_100eb1069a97b70f80697e03d6e0582d\n\ninput_dict=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4997d10>\n\n\n\ninput_dict_100eb1069a97b70f80697e03d6e0582d->structure_24390cb51d2b8733707c1b0720f10ee1\n\n\n\n\n\nstructure_719a0b45b126422daa0a45939db22a79\n\nstructure=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4996990>\n\n\n\nstructure_719a0b45b126422daa0a45939db22a79->input_dict_100eb1069a97b70f80697e03d6e0582d\n\n\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0\n\nelement=Al\n\n\n\nelement_467734216d9bd2497ffd28d5cd6daba0->structure_719a0b45b126422daa0a45939db22a79\n\n\n\n\n\na_aea0574e321c6f75f923c059730e9537\n\na=4.05\n\n\n\na_aea0574e321c6f75f923c059730e9537->structure_719a0b45b126422daa0a45939db22a79\n\n\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a\n\ncubic=True\n\n\n\ncubic_bad787c53fa02a5559fe570238fdb23a->structure_719a0b45b126422daa0a45939db22a79\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10\n\npseudopotentials={'Al': 'Al.pbe-n-kjpaw_psl.1.0.0.UPF'}\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_07bb4c07773ac201d36aae86ae8fe2fb\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_100eb1069a97b70f80697e03d6e0582d\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_e3cba9a9960659f9dc41632e5327206e\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_e93f22327a731a96309da7daa63359ec\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_d66fbd538cf924fb2a8253bd48ef5c13\n\n\n\n\n\npseudopotentials_453cdcc0d627a851e196cd899d956d10->input_dict_7460bcb220d21c38a74f47f27eb9de2a\n\n\n\n\n\n1_94302ebcb371a379af51f312ddde4842\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4996090>\n\n\n\ninput_dict_e3cba9a9960659f9dc41632e5327206e->1_94302ebcb371a379af51f312ddde4842\n\n\n\n\n\n1_e7c02b63ee60e6027e07408744058bb7\n\n1=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4995eb0>\n\n\n\ninput_dict_e3cba9a9960659f9dc41632e5327206e->1_e7c02b63ee60e6027e07408744058bb7\n\n\n\n\n\n2_dda2e9a60d8da7b2145dfb00de5c55c7\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49950d0>\n\n\n\ninput_dict_e93f22327a731a96309da7daa63359ec->2_dda2e9a60d8da7b2145dfb00de5c55c7\n\n\n\n\n\n2_af768fbc51beefdd7dbf069476fb362c\n\n2=<pyiron_base.project.delayed.DelayedObject object at 0x7c99dbbc7d70>\n\n\n\ninput_dict_e93f22327a731a96309da7daa63359ec->2_af768fbc51beefdd7dbf069476fb362c\n\n\n\n\n\n3_fa9d99441c09b3d51ecb159095ac606c\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e49969f0>\n\n\n\ninput_dict_d66fbd538cf924fb2a8253bd48ef5c13->3_fa9d99441c09b3d51ecb159095ac606c\n\n\n\n\n\n3_9c4338c233da3f7fbf2bd1577209c8a4\n\n3=<pyiron_base.project.delayed.DelayedObject object at 0x7c99dbb7a5a0>\n\n\n\ninput_dict_d66fbd538cf924fb2a8253bd48ef5c13->3_9c4338c233da3f7fbf2bd1577209c8a4\n\n\n\n\n\n4_7c7d811c8847195569c2105c938c464a\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e4997230>\n\n\n\ninput_dict_7460bcb220d21c38a74f47f27eb9de2a->4_7c7d811c8847195569c2105c938c464a\n\n\n\n\n\n4_3e48dd53dfddd2346d05b7b64e55ab38\n\n4=<pyiron_base.project.delayed.DelayedObject object at 0x7c99e446b770>\n\n\n\ninput_dict_7460bcb220d21c38a74f47f27eb9de2a->4_3e48dd53dfddd2346d05b7b64e55ab38\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa\n\nkpts=[3, 3, 3]\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_07bb4c07773ac201d36aae86ae8fe2fb\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_100eb1069a97b70f80697e03d6e0582d\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_e3cba9a9960659f9dc41632e5327206e\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_e93f22327a731a96309da7daa63359ec\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_d66fbd538cf924fb2a8253bd48ef5c13\n\n\n\n\n\nkpts_e961a9390797b0f6f8887a402ea3e9aa->input_dict_7460bcb220d21c38a74f47f27eb9de2a\n\n\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34\n\ncalculation=vc-relax\n\n\n\ncalculation_77b75a01e65d83962d14fa8a882d6c34->input_dict_100eb1069a97b70f80697e03d6e0582d\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9\n\nsmearing=0.02\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_07bb4c07773ac201d36aae86ae8fe2fb\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_100eb1069a97b70f80697e03d6e0582d\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_e3cba9a9960659f9dc41632e5327206e\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_e93f22327a731a96309da7daa63359ec\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_d66fbd538cf924fb2a8253bd48ef5c13\n\n\n\n\n\nsmearing_64a632a7e5bfbb7d0c6face9b82082a9->input_dict_7460bcb220d21c38a74f47f27eb9de2a\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781\n\nstrain_lst=[0.9, 0.95, 1.0, 1.05, 1.1]\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_d288c970f4f39abdf5917ab0cdda5a74\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_cd6455098e547b09fab57e4b2675af93\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_f8eea3d580ba67799a85fc572d29ff35\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_739f727cd683f52942cc877709ac6a2b\n\n\n\n\n\nstrain_lst_2d8c38dac8f1aeeeecfa3c0b1cc8a781->structure_f3b0da6e211f75868023edb2cb868ac4\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83\n\ncalculation=scf\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_07bb4c07773ac201d36aae86ae8fe2fb\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_e3cba9a9960659f9dc41632e5327206e\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_e93f22327a731a96309da7daa63359ec\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_d66fbd538cf924fb2a8253bd48ef5c13\n\n\n\n\n\ncalculation_bc91e0ce7227762f507f47b85f2f0a83->input_dict_7460bcb220d21c38a74f47f27eb9de2a\n\n\n\n\n\n1_94302ebcb371a379af51f312ddde4842->volume_lst_473b24fac60dad6f79608b1dcecb81c3\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd\n\nworking_directory=strain_1\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_94302ebcb371a379af51f312ddde4842\n\n\n\n\n\nworking_directory_5423d2cc67129a6d0383af6f347df5bd->1_e7c02b63ee60e6027e07408744058bb7\n\n\n\n\n\n1_e7c02b63ee60e6027e07408744058bb7->energy_lst_eac6ea907afb7d28a1e710cf28b1bc21\n\n\n\n\n\n2_dda2e9a60d8da7b2145dfb00de5c55c7->volume_lst_473b24fac60dad6f79608b1dcecb81c3\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992\n\nworking_directory=strain_2\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_dda2e9a60d8da7b2145dfb00de5c55c7\n\n\n\n\n\nworking_directory_cc646e064ddfc4b2811aba3d86d27992->2_af768fbc51beefdd7dbf069476fb362c\n\n\n\n\n\n2_af768fbc51beefdd7dbf069476fb362c->energy_lst_eac6ea907afb7d28a1e710cf28b1bc21\n\n\n\n\n\n3_fa9d99441c09b3d51ecb159095ac606c->volume_lst_473b24fac60dad6f79608b1dcecb81c3\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f\n\nworking_directory=strain_3\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_fa9d99441c09b3d51ecb159095ac606c\n\n\n\n\n\nworking_directory_e27768d53df6cd8dc245c52054ecf31f->3_9c4338c233da3f7fbf2bd1577209c8a4\n\n\n\n\n\n3_9c4338c233da3f7fbf2bd1577209c8a4->energy_lst_eac6ea907afb7d28a1e710cf28b1bc21\n\n\n\n\n\n4_7c7d811c8847195569c2105c938c464a->volume_lst_473b24fac60dad6f79608b1dcecb81c3\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7\n\nworking_directory=strain_4\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_7c7d811c8847195569c2105c938c464a\n\n\n\n\n\nworking_directory_72bba39b22d2b7ce154d37c7e8c658b7->4_3e48dd53dfddd2346d05b7b64e55ab38\n\n\n\n\n\n4_3e48dd53dfddd2346d05b7b64e55ab38->energy_lst_eac6ea907afb7d28a1e710cf28b1bc21\n\n\n\n\n\nenergy_lst_eac6ea907afb7d28a1e710cf28b1bc21->create_function_job_819583e9e3328a02d26efc433a60218b\n\n\n\n\n"},"metadata":{}}],"execution_count":29},{"id":"476f0c22-564a-4e4b-8bd8-d68582a68710","cell_type":"code","source":"delayed_object_lst[0].input['a'] = 4.05","metadata":{"trusted":true},"outputs":[],"execution_count":30},{"id":"8bf584f4-52f5-41eb-9ce3-13847436e0a0","cell_type":"code","source":"delayed_object_lst[-1].pull()","metadata":{"trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":"The job get_bulk_structure_2ca4aeae204ceaa28593c93054b07908 was saved and received the ID: 1\nThe job get_dict_1e47509b88d63a21fd421686554c8f4a was saved and received the ID: 2\nThe job calculate_qe_411e578f2700d09ba2df9a4c682b4582 was saved and received the ID: 3\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00404] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job generate_structures_4d77d481fc8ea55229ec1ece04d63682 was saved and received the ID: 4\nThe job get_dict_83639a473c5a24b39cda4262a11ce660 was saved and received the ID: 5\nThe job calculate_qe_bc7507e47b3777418bec8bd6a10e8db9 was saved and received the ID: 6\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00423] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_8911ea3b715c48fd9e6ebfd933827ad8 was saved and received the ID: 7\nThe job calculate_qe_3bf1743787b6db34eb1482e0cb2b49f2 was saved and received the ID: 8\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00435] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_b30dd89506e55e06e63a020a5033af19 was saved and received the ID: 9\nThe job calculate_qe_7fdc96db9da025b4936748f5616be588 was saved and received the ID: 10\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00446] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_899289e3717fb81edaca9c5c2b5d8f48 was saved and received the ID: 11\nThe job calculate_qe_9bb68591280fb0b90a58521fd3c6bc9d was saved and received the ID: 12\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00457] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_dict_12373ab37ecdba93cf91b2a4c3c016d6 was saved and received the ID: 13\nThe job calculate_qe_c41612cee84a2bc87674f7f0720f27af was saved and received the ID: 14\n"},{"name":"stderr","output_type":"stream","text":"[jupyter-pythonworkflow-fl--x---35e2fba5:00468] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)\nNote: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG\n"},{"name":"stdout","output_type":"stream","text":"The job get_list_4a53d87f56ee9d519ca6c738ae2cef3f was saved and received the ID: 15\nThe job get_list_5a5af7c495c3bd034f3904760535ba3e was saved and received the ID: 16\nThe job plot_energy_volume_curve_aea478ca6598efbe0596a61e39e1154d was saved and received the ID: 17\n"},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHACAYAAACyIiyEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW/BJREFUeJzt3XlcVXXCx/HPZReUi8omgqC5AO5LKmZp5ZpLWpltmFZOzYwtVlb2tDht2t6UbdOUtttoWrZRmtrkgjuuCLjgwubKIsh6z/MHwkQiKsI9XPi+X6/7eh4u51y+98Rcvv5+5/yOxTAMAxERERGplJPZAURERETqMpUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgsmeT555+nX79+eHp64uPjc177GIbBjBkzCAoKolGjRgwcOJAdO3aUfz85ORmLxVLpY/78+We8XkFBAd26dcNisRAXF3dB+d999126dOmCt7c33t7eREVF8dNPP13Qa4iIiDgClSWTFBYWMm7cOP7617+e9z4vvfQSr732GrNnz2b9+vUEBgYyePBgcnJyAAgJCSEtLa3C4x//+AdeXl4MHz78jNd75JFHCAoKqlb+4OBgZs2axYYNG9iwYQNXXXUV1157bYXyJiIiUi8YYqo5c+YYVqv1nNvZbDYjMDDQmDVrVvlz+fn5htVqNd57772z7tetWzfjjjvuOOP5H3/80QgPDzd27NhhAMbmzZsrfH/Hjh3G8OHDDS8vL8Pf39+47bbbjCNHjlSZsWnTpsa///3vc74XERERR6KRJQexb98+0tPTGTJkSPlz7u7uDBgwgNWrV1e6z8aNG4mLi+POO++s8HxGRgaTJ0/m008/xdPT84z90tLSGDBgAN26dWPDhg3ExMSQkZHBjTfeWOnPKSkpYd68eeTm5hIVFXUR71JERKTucTE7gJyf9PR0AAICAio8HxAQwP79+yvd58MPPyQiIoJ+/fqVP2cYBhMnTuSee+6hV69eJCcnn7Hfu+++S48ePXjhhRfKn/voo48ICQkhMTGR9u3bA7Bt2zaioqLIz8+ncePGLFq0iMjIyIt9qyIiInWKRpZq0IwZM856gnXZY8OGDRf1MywWS4WvDcM44zmAU6dO8cUXX5wxqvTWW2+RnZ3N9OnTz/ozNm7cyPLly2ncuHH5Izw8HIA9e/aUb9ehQwfi4uKIjY3lr3/9K7fffjs7d+68mLcnIiJS52hkqQZNmTKFm266qcptwsLCqvXagYGBQOkIU4sWLcqfP3z48BmjTQALFiwgLy+PCRMmVHh+2bJlxMbG4u7uXuH5Xr16ceutt/Lxxx9js9kYNWoUL7744hmv+8ef7ebmRtu2bcv3X79+Pf/85z95//33q/UeRURE6iKVpRrk6+uLr69vrbx269atCQwMZMmSJXTv3h0ovaLut99+q7TUfPjhh4wePRo/P78Kz7/55ps899xz5V+npqYydOhQvvrqK/r06QNAjx49+PrrrwkLC8PF5fx/RQzDoKCgoDpvT0REpM5SWTLJgQMHOH78OAcOHKCkpKR8naO2bdvSuHFjAMLDw5k5cyZjx47FYrHwwAMP8MILL9CuXTvatWvHCy+8gKenJ7fcckuF1969ezf//e9/+fHHH8/4ua1atarwddnPuuSSSwgODgbg73//Ox988AE333wz06ZNw9fXl927dzNv3jw++OADnJ2defzxxxk+fDghISHk5OQwb948VqxYQUxMTE0fKhEREVOpLJnkqaee4uOPPy7/umy0aPny5QwcOBCAhIQEsrKyyrd55JFHOHXqFH/72984ceIEffr04ZdffqFJkyYVXvujjz6iZcuWFa6cuxBBQUGsWrWKRx99lKFDh1JQUEBoaCjDhg3Dyan0NLeMjAyio6NJS0vDarXSpUsXYmJiGDx4cLV+poiISF1lMQzDMDuEiIiISF2lq+FEREREqqCyJCIiIlIFnbNUA2w2G6mpqTRp0qTSNY9ERESk7jEMg5ycHIKCgsrPya2MylINSE1NJSQkxOwYIiIiUg0HDx4svyK8MipLNaDsarSDBw/i7e1tchoRERE5H9nZ2YSEhJxxVfmfqSzVgLKpN29vb5UlERERB3OuU2h0greIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKqgs1WGGYbBu33HyCovNjiIiItJgqSzVYX/9bBM3vr+GRZtTzI4iIiLSYKks1WG9wpoCMHdVMoZhmJxGRESkYVJZqsNuvDQELzdnkg6fZNXuY2bHERERaZBUluowbw9XbugZDMCcVftMTiMiItIwqSzVcbf3CwNgWcJhko/mmhtGRESkAVJZquPa+DVmYAc/DAPmrk42O46IiEiDo7LkACZd1hqABRsPkZNfZHIaERGRhkVlyQFc0c6XS/y8OFlQzIKNh8yOIyIi0qCoLDkAi8XCxNPnLn28OhmbTcsIiIiI2IvKkoO4rkcwTTxcSD6Wx/KEw2bHERERaTBUlhyEl7sLN10aAuhEbxEREXtSWXIgE6LCcLLA70lHScrIMTuOiIhIg6Cy5EBCmnkyKCIAgDkaXRIREbELlSUHU7aMwMJNh8jMKzQ5jYiISP2nsuRg+rZpRnhgE/KLbHy1/qDZcUREROo9lSUHY7FYuOP06NIna/ZTXGIzOZGIiEj9prLkgEZ3C6KppyspmadYsjPD7DgiIiL1msqSA/JwdeaWPq0AmLMq2dwwIiIi9ZzKkoOK7huGi5OFdcnH2Z6SZXYcERGRektlyUEFWj0Y3rkFoEUqRUREapPKkgMru1/c4rhUjp4sMDeMiIhIPaWy5MB6tPKha7CVwhIbX6w9YHYcERGRekllyYFZLJbyRSo/i91PYbGWERAREalpKksO7prOLfBr4s7hnAJ+2p5mdhwREZF6R2XJwbm5OHFbn1AAPtIyAiIiIjVOZakeuKVPK9ycndhyMJPNB06YHUdERKReUVmqB/yauDOqaxCgRSpFRERqmspSPTHpsjAAftyWRnpWvrlhRERE6hGVpXqiU0srl4Y1pdhm8FnsfrPjiIiI1BsqS/VI2TICX6w7QH5RiclpRERE6geVpXpkSGQALX0acTy3kMVbUs2OIyIiUi+oLNUjLs5OREeVLiMwZ1UyhmGYnEhERMTxqSzVMzddGoKHqxPxadms3Xfc7DgiIiIOT2WpnvHxdGNs92AA5moZARERkYumslQPlS0j8MvOdA4ezzM3jIiIiINTWaqH2gc0oX9bX2wGfKplBERERC6KylI9NbFfGADz1h0gr7DY3DAiIiIOTGWpnroq3J/Q5p5k5xezcFOK2XFEREQclspSPeXkZOH2qDAA5q7WMgIiIiLVpbJUj43rFYyXmzO7D5/k96SjZscRERFxSCpL9VgTD1fG9QoBYM6qfSanERERcUwqS/Xc7f3CsFhgecIR9h3NNTuOiIiIw1FZquda+3pxZQd/AD5enWxuGBEREQekstQAlC0jMH/DQbLzi8wNIyIi4mBUlhqAy9v50ta/MbmFJczfcMjsOCIiIg5FZakBsFgs5aNLH69OpsSmZQRERETOl8pSA3Fdj5Z4e7hw4Hgey3cdNjuOiIiIw1BZaiA83Vy4qXcrAOas1jICIiIi50tlqQGZEBWKkwVW7T5GYkaO2XFEREQcgsOUpRMnThAdHY3VasVqtRIdHU1mZmaV+5w8eZIpU6YQHBxMo0aNiIiI4N133z1juzVr1nDVVVfh5eWFj48PAwcO5NSpU7X0TswT3NSTIZGBAMxZlWxuGBEREQfhMGXplltuIS4ujpiYGGJiYoiLiyM6OrrKfaZOnUpMTAyfffYZ8fHxTJ06lXvvvZdvv/22fJs1a9YwbNgwhgwZwrp161i/fj1TpkzByclhDs0FmXRZGACLNh8iM6/Q3DAiIiIOwGI4wB1W4+PjiYyMJDY2lj59+gAQGxtLVFQUu3btokOHDpXu16lTJ8aPH8+TTz5Z/lzPnj255pprePbZZwHo27cvgwcPLv+6OrKzs7FarWRlZeHt7V3t17EHwzC45s2VxKdl8+iwcP468BKzI4mIiJjifP9+O8TwyZo1a7BareVFCUpLjtVqZfXq1Wfdr3///ixevJiUlBQMw2D58uUkJiYydOhQAA4fPszatWvx9/enX79+BAQEMGDAAFauXFnr78ksFoulfHTp0zXJFJfYzA0kIiJSxzlEWUpPT8ff3/+M5/39/UlPTz/rfm+++SaRkZEEBwfj5ubGsGHDeOedd+jfvz8Ae/fuBWDGjBlMnjyZmJgYevTowdVXX01SUtJZX7egoIDs7OwKD0cyumsQzb3cSM3K55edGWbHERERqdNMLUszZszAYrFU+diwYQNQOiLyZ4ZhVPp8mTfffJPY2FgWL17Mxo0befXVV/nb3/7G0qVLAbDZSkdV7r77biZNmkT37t15/fXX6dChAx999NFZX3fmzJnlJ5pbrVZCQkIu5jDYnYerM7f0Ob2MwCotIyAiIlIVFzN/+JQpU7jpppuq3CYsLIytW7eSkXHmCMiRI0cICAiodL9Tp07x+OOPs2jRIkaMGAFAly5diIuL45VXXmHQoEG0aNECgMjIyAr7RkREcODAgbNmmj59Og8++GD519nZ2Q5XmG7rG8q7K/awPvkE21Oy6NTSanYkERGROsnUsuTr64uvr+85t4uKiiIrK4t169bRu3dvANauXUtWVhb9+vWrdJ+ioiKKiorOuKrN2dm5fEQpLCyMoKAgEhISKmyTmJjI8OHDz5rH3d0dd3f3c+auywK8PbimcwsWb0llzqpkXr2xq9mRRERE6iSHOGcpIiKCYcOGMXnyZGJjY4mNjWXy5MmMHDmywpVw4eHhLFq0CABvb28GDBjAtGnTWLFiBfv27WPu3Ll88sknjB07Fiid2ps2bRpvvvkmCxYsYPfu3Tz55JPs2rWLO++805T3ak9lJ3p/tyWVIzkF5oYRERGpo0wdWboQn3/+Offddx9DhgwBYPTo0cyePbvCNgkJCWRlZZV/PW/ePKZPn86tt97K8ePHCQ0N5fnnn+eee+4p3+aBBx4gPz+fqVOncvz4cbp27cqSJUu45JL6f0l991ZN6RbiQ9zBTL5Ye4D7B7UzO5KIiEid4xDrLNV1jrTO0p99G5fC/fPi8GvizqpHr8LNxSEGG0VERC5avVpnSWrP8E4t8G/izpGcAn7clmZ2HBERkTpHZamBc3NxIrpvKFC6jIAGGkVERCpSWRJu6dMKNxcnthzKYtOBTLPjiIiI1CkqS0Lzxu6M7hoEaJFKERGRP1NZEuB/ywj8tD2dtKxT5oYRERGpQ1SWBICOQVZ6t25Gic3gs9j9ZscRERGpM1SWpNwdp0eXvlh7gPyiEnPDiIiI1BEqS1JuUEQALX0acSKviG/jUsyOIyIiUieoLEk5F2cnJkSVLSOQrGUEREREUFmSP7np0lY0cnVmV3oOsXuPmx1HRETEdCpLUoHV05XrerQEtIyAiIgIqCxJJSb2CwNgaXwGB4/nmRtGRETEZCpLcoZ2AU24vJ0vNgM+WZNsdhwRERFTqSxJpcoWqZy3/iC5BcXmhhERETGRypJUamB7f8Kae5KTX8zCTYfMjiMiImIalSWplJOThdtPn7s0d3UyNpuWERARkYZJZUnO6oaewTR2d2HPkVx+333U7DgiIiKmUFmSs2ri4cq4XsGAlhEQEZGGS2VJqnR7VBgWC6xIOMKeIyfNjiMiImJ3KktSpTBfL67q4A/AJ6uTzQ0jIiJiApUlOadJl7UGYMHGQ2TnF5mcRkRExL5UluScLmvbnHb+jcktLOE/6w+aHUdERMSuVJbknCwWCxNPL1L58ZpkSrSMgIiINCAqS3JerusejLWRKwePn2LZrsNmxxEREbEblSU5L43cnLmpdwigZQRERKRhUVmS8zYhKgwnC6zec4xd6dlmxxEREbELlSU5by19GjG0YyAAc1clmxtGRETETlSW5IKULSOwaHMKJ3ILTU4jIiJS+1SW5IJcGtaUjkHeFBTb+HL9AbPjiIiI1DqVJbkgFoulfHTp0zX7KSqxmZxIRESkdqksyQUb2aUFzb3cSMvK5+cd6WbHERERqVUqS3LBPFydubVPK0AneouISP2nsiTVclvfUFydLWzYf4Jth7LMjiMiIlJrVJakWvy9PRjRuQWgRSpFRKR+U1mSapt4+kTv77amcjgn3+Q0IiIitUNlSaqtW4gP3Vv5UFRi8MVaLSMgIiL1k8qSXJSyZQQ+iz1AQXGJyWlERERqnsqSXJThnQIJ8Hbn6MkCftiaZnYcERGRGqeyJBfF1dmJ6L6hAMxZlYxhGCYnEhERqVkqS3LRbu7dCjcXJ7alZLHpwAmz44iIiNQolSW5aM0buzOmWxAAH2mRShERqWdUlqRGTOxXeqJ3zPZ0UjNPmZxGRESk5qgsSY2IDPKmT+tmlNgMPovdb3YcERGRGqOyJDWmbBmBL9cdIL9IywiIiMjFO3g8jzmr9mGzmXcBkcqS1JjBkQEEN23EibwivtmcYnYcERFxcDabwbQFW/jHdzt54cd403KoLEmNcXaycHtUGKBlBERE5OJ9tnY/sXuP08jVmeioUNNyqCxJjbqxVwiNXJ1JyMhhzd5jZscREREHdeBYHjN/3AXAY8PDCW3uZVoWlSWpUVZPV67v2RIoHV0SERG5UDabwcMLtnCqqIS+bZqVL35sFpUlqXFlywgsjc/gwLE8k9OIiIij+WRNMuv2HcfTzZmXru+Kk5PF1DwqS1Lj2vo35or2fhgGfLwm2ew4IiLiQJKP5jIrpnT6bfrwcFo19zQ5kcqS1JJJ/cIA+M/6g+QWFJsbRkREHILNZvDIgq3kF9mIatOcW/uYO/1WRmVJasWA9n608fUip6CYrzcdMjuOiIg4gLmrk1mXfBwvN2deuqGL6dNvZVSWpFY4OVm4/fTo0txVyaYuJiYiInXfvqO5vPTz6em3ayIIaWb+9FsZlSWpNdf3DKaJuwt7j+byW9IRs+OIiEgdVWIzmDZ/C/lFNvq39eXWPq3MjlSBypLUmsbuLozrFQKUji6JiIhUZs6qfWzYf4LG7i7Mur4zFkvdmH4ro7IktWpivzAsFvgt8Qi7D580O46IiNQxe46c5OWfEwB4/JoIgpvWnem3MipLUqtaNffk6vAAAD5enWxuGBERqVPKpt8Kim1c3s6Xm3uHmB2pUipLUusmXRYGwNebDpF1qsjcMCIiUmd8tHIfmw5knp5+61Lnpt/KqCxJret3SXM6BDQhr7CE+RsOmh1HRETqgN2HT/LyL6XTb0+MiKClTyOTE52dypLUOovFwsTTo0tzVydTomUEREQatBKbwcPzt1BYbOOK9n6Mv7RuTr+VUVkSuxjTrSU+nq4cOnGKpfEZZscRERETffD7XuIOZtLE3YUX6+DVb3+msiR20cjNmZsuLV03Q8sIiIg0XLsP5/DakkQAnhwVSQtr3Z1+K6OyJHYzISoUZycLa/YeIz4t2+w4IiJiZ8UlNh6av5XCYhtXdvBjXM9gsyOdF4cpSydOnCA6Ohqr1YrVaiU6OprMzMwq9zl58iRTpkwhODiYRo0aERERwbvvvlthm/T0dKKjowkMDMTLy4sePXqwYMGCWnwnDVeQTyOGdQwENLokItIQ/ev3vWw5mEkTDxdmXld3r377M4cpS7fccgtxcXHExMQQExNDXFwc0dHRVe4zdepUYmJi+Oyzz4iPj2fq1Knce++9fPvtt+XbREdHk5CQwOLFi9m2bRvXXXcd48ePZ/PmzbX9lhqksmUEvolL4XhuoblhRETEbhIzcnhjSRIAT4/qSKDVw+RE588hylJ8fDwxMTH8+9//JioqiqioKD744AO+//57EhISzrrfmjVruP322xk4cCBhYWH85S9/oWvXrmzYsKHCNvfeey+9e/emTZs2PPHEE/j4+LBp0yZ7vLUGp2doUzq19Kag2MaX6w6YHUdEROyguMRWevVbiY2rwv25vkdLsyNdEIcoS2vWrMFqtdKnT5/y5/r27YvVamX16tVn3a9///4sXryYlJQUDMNg+fLlJCYmMnTo0ArbfPXVVxw/fhybzca8efMoKChg4MCBtfmWGiyLxcKkfq0B+HTNfopKbCYnEhGR2vb+f/ey9VAW3h4uzLyu7l/99mcOUZbS09Px9/c/43l/f3/S09PPut+bb75JZGQkwcHBuLm5MWzYMN555x369+9fvs1XX31FcXExzZs3x93dnbvvvptFixZxySWXnPV1CwoKyM7OrvCQ8zeyawt8G7uTnp1PzPaz//cTERHHtys9mzeWll79NmN0RwK8HWf6rYypZWnGjBlYLJYqH2VTZpW1UMMwqmynb775JrGxsSxevJiNGzfy6quv8re//Y2lS5eWb/PEE09w4sQJli5dyoYNG3jwwQcZN24c27ZtO+vrzpw5s/xEc6vVSkhI3V5Mq65xd3Hm1j6lywjMWbXP5DQiIlJbik5PvxWVGAyK8Gdsd8eafitjMQzDtOWUjx49ytGjR6vcJiwsjC+++IIHH3zwjKvffHx8eP3115k0adIZ+506dQqr1cqiRYsYMWJE+fN33XUXhw4dIiYmhj179tC2bVu2b99Ox44dy7cZNGgQbdu25b333qs0U0FBAQUFBeVfZ2dnExISQlZWFt7e3ufz1hu8wzn5XDZrGUUlBt/+/TK6hviYHUlERGrYW78m8eqSRKyNXFky9Qr869ioUnZ2Nlar9Zx/v13smOkMvr6++Pr6nnO7qKgosrKyWLduHb179wZg7dq1ZGVl0a9fv0r3KSoqoqioCCenioNnzs7O2Gyl58nk5eUBVLlNZdzd3XF3dz9nbjk7/yYejOwSxKLNKcxdnczr47uZHUlERGpQfFo2by4rvfrtH6M71rmidCEc4pyliIgIhg0bxuTJk4mNjSU2NpbJkyczcuRIOnToUL5deHg4ixYtAsDb25sBAwYwbdo0VqxYwb59+5g7dy6ffPIJY8eOLd++bdu23H333axbt449e/bw6quvsmTJEsaMGWPGW21QypYR+H5rKoez880NIyIiNeaP02+DIwO4tluQ2ZEuikOUJYDPP/+czp07M2TIEIYMGUKXLl349NNPK2yTkJBAVlZW+dfz5s3j0ksv5dZbbyUyMpJZs2bx/PPPc8899wDg6urKjz/+iJ+fH6NGjaJLly588sknfPzxx1xzzTV2fX8NUZdgH3qGNqWoxOCztVpGQESkvnhn+R52pGbj4+nK82M7OdzVb39m6jlL9cX5znnKmb7bksq9X27Gt7Ebqx67CncXZ7MjiYjIRdiRmsW1s1dRbDP4503duLZb3T2p+3z/fjvMyJLUT8M6BRLo7cHRk4V8vyXN7DgiInIRCottPDx/K8U2g6EdAxjd1bGn38qoLImpXJ2diI4KBWDO6n1ooFNExHG9vXw38WnZNPV05bkxjrf45NmoLInpbu7dCncXJ7anZLNh/wmz44iISDVsT8ni7eW7AXjm2k74Nak/V42rLInpmnm5Meb0nPbcVcnmhhERkQtWOv22hWKbwfBOgYzs0sLsSDVKZUnqhEn9wwCI2ZFOauYpc8OIiMgFmb0siV3pOTTzcuPZMY5/9dufqSxJnRAe6E1Um+aU2Aw+WbPf7DgiInKeth3K4u0VewB49tpO+DauP9NvZVSWpM4oW6Tyy3UHOFVYYm4YERE5p4LiEh6ev4USm8GILi0YUc+m38qoLEmdcXVEACHNGpF1qohv4lLMjiMiIufw1q+7ScjIobmXG8+M7njuHRyUypLUGc5OFm6PCgNgziotIyAiUpdtPZTJu7+VTr89N6YTzevh9FsZlSWpU8b1CsHTzZnEjJOs3nPM7DgiIlKJP06/jeoaxPDO9XP6rYzKktQp1kau3NAzGIA5WkZARKRO+ufSJBIzTuLb2I1/1OPptzIqS1Ln3N4vDIBfd2Ww/1iuuWFERKSCuIOZvFc+/daZZl5uJieqfSpLUudc4teYAe39MAz4eLWWERARqSvyi0qn32wGXNstiGGdAs2OZBfVKku5ufrXvtSusmUE5m84yMmCYnPDiIgIAK8vTWT34ZP4NnZnxqj6P/1WplplKSAggDvuuIOVK1fWdB4RAK5o50cbXy9yCor5euMhs+OIiDR4mw6c4IP/7gXghbGdaNoApt/KVKssffnll2RlZXH11VfTvn17Zs2aRWpqak1nkwbMycnCxNOjS3NXJ2OzaRkBERGz5BeVMO309NvY7i0Z0rFhTL+VqVZZGjVqFF9//TWpqan89a9/5csvvyQ0NJSRI0eycOFCios1bSIX7/oewTTxcGHf0Vx+SzxidhwRkQbrtSWJ7DmSi18Td54eFWl2HLu7qBO8mzdvztSpU9myZQuvvfYaS5cu5YYbbiAoKIinnnqKvLy8msopDZCXuwvje4UA8NGqfSanERFpmDbuP8EHv5dOv80c2xkfz4Yz/VbmospSeno6L730EhERETz22GPccMMN/Prrr7z++ussWrSIMWPG1FBMaagmRIVhscDvSUfZfTjH7DgiIg1K2fSbYcB1PVoyKDLA7EimcKnOTgsXLmTOnDn8/PPPREZG8ve//53bbrsNHx+f8m26detG9+7dayqnNFCtmnsyKCKAJTszmLs6mefGdDY7kohIg/HKzwnsPZpLgLc7T49sOFe//Vm1RpYmTZpEUFAQq1atIi4ujilTplQoSgBt2rTh//7v/2oiozRwZcsIfL0xhay8InPDiIg0EBuSj/Ph6VMgZl7XGaunq8mJzFOtkaW0tDQ8PT2r3KZRo0Y8/fTT1Qol8kdRbZoTHtiEXek5fLXhAH+54hKzI4mI1GunCksXnzQMuKFnMFeFN8zptzLVGlkqLi4mOzv7jEdOTg6FhYU1nVEaOIvFwsTTt0D5ePV+SrSMgIhIrXr55wSSj+UR6O3BkyMb3tVvf1atsuTj40PTpk3PePj4+NCoUSNCQ0N5+umnsdlsNZ1XGqgx3VvS1NOVlMxTLNmZYXYcEZF6a92+48xZfXr67frOWBs13Om3MtUqS3PnziUoKIjHH3+cb775hkWLFvH444/TsmVL3n33Xf7yl7/w5ptvMmvWrJrOKw2Uh6szN/duBcAcLSMgIlIr8gqLmbagdPrtxl7BXNnB3+xIdUK1zln6+OOPefXVV7nxxhvLnxs9ejSdO3fm/fff59dff6VVq1Y8//zzPP744zUWVhq26KhQ3v/vXtbuO86O1Cw6BlnNjiQiUq+8FJPA/mN5tLB68ISm38pVa2RpzZo1lS4L0L17d9asWQNA//79OXDgwMWlE/mDFtZG5Xe4/nh1srlhRETqmdi9x5h7+rN11vVd8PbQ9FuZapWl4OBgPvzwwzOe//DDDwkJKV1x+dixYzRt2vTi0on8yR2nlxH4Ji6VYycLzA0jIlJP5BUW88iCrQDcdGkIA9r7mZyobqnWNNwrr7zCuHHj+Omnn7j00kuxWCysX7+eXbt2sWDBAgDWr1/P+PHjazSsSI9WTekSbGXroSy+XHeAKVe1MzuSiIjDe/GnXRw4nkeQ1YP/GxFhdpw6x2IYRrWuw96/fz/vvfceCQkJGIZBeHg4d999N2FhYTUcse7Lzs7GarWSlZWFt7e32XHqvUWbDzH1qy0EeLuz8tGrcHW+qLv2iIg0aKv3HOWWD9YC8Omdvbm8XcMZVTrfv98XPLJUVFTEkCFDeP/995k5c+ZFhRSpjms6t+D5H3aRkV3AT9vTGd01yOxIIiIOKbfgf9Nvt/Rp1aCK0oW44H+Su7q6sn37diwWS23kETkndxdnbuurZQRERC7WrJ92cejEKVr6NOLxazT9djbVmr+YMGFCpSd4i9jLrX1CcXN2YvOBTOIOZpodR0TE4azefZRPY/cD8NINXWjsXq3TmBuEah2ZwsJC/v3vf7NkyRJ69eqFl5dXhe+/9tprNRJO5Gz8mrgzsmsLFm5KYe6qfbxx05lLWYiISOVOFhQz7fT02219W3FZW1+TE9Vt1SpL27dvp0ePHgAkJiZW+J6m58ReJvVrzcJNKfywLY3Hr4nA39vD7EgiIg5h5o/xpGSeIrhpI6YP1/TbuVSrLC1fvrymc4hcsM7BVnqFNmXD/hN8FrufB4d0MDuSiEidtzLpKJ+vLV00+qUbuuCl6bdzuqhrrnfv3s3PP//MqVOnAKjmKgQi1TbpstYAfL72APlFJSanERGp23Lyi3j069LptwlRofS7RNNv56NaZenYsWNcffXVtG/fnmuuuYa0tDQA7rrrLh566KEaDShSlaEdA2hh9eBYbiHfb00zO46ISJ32wunpt5BmjXh0WLjZcRxGtcrS1KlTcXV15cCBA3h6epY/P378eGJiYmosnMi5uDg7ER0VCpQuI6DRTRGRyv038QhfrjsIwMs3dNX02wWoVln65ZdfePHFFwkODq7wfLt27di/f3+NBBM5Xzdf2goPVyd2pGazPvmE2XFEROqc7PwiHjs9/TaxXxh92zQ3OZFjqVZZys3NrTCiVObo0aO4u7tfdCiRC9HUy42x3VsCWqRSRKQyz38fT2pWPqHNPXlkmC6GuVDVKktXXHEFn3zySfnXFosFm83Gyy+/zJVXXllj4UTO18R+pSd6/7wjnZTMUyanERGpO1YkHOarDQexWEqn3zzdNP12oap1xF5++WUGDhzIhg0bKCws5JFHHmHHjh0cP36cVatW1XRGkXPqENiEfpc0Z/WeY3yyJlnrhoiIAFmninjs621A6fRb79bNTE7kmKo1shQZGcnWrVvp3bs3gwcPJjc3l+uuu47NmzdzySWX1HRGkfNStozAvHUHySssNjmNiIj5nvt+J+nZ+YQ19+SRobr6rbqqPRYXGBjIP/7xj5rMInJRrgr3p1UzTw4cz2PR5hRu7RNqdiQREdMs33WY+RsPlU6/jetKIzdnsyM5rGqXpczMTNatW8fhw4ex2WwVvjdhwoSLDiZyoZydLEyICuW5H+KZuyqZW3q30u13RKRBysor4rGFpVe/3XFZay4N0/TbxahWWfruu++49dZbyc3NpUmTJhX+IFksFpUlMc2Nl4bw+pJEkg6fZNXuY/Rvp9VpRaTheeb7nWRkF9Da14uHdSuoi1atc5Yeeugh7rjjDnJycsjMzOTEiRPlj+PHj9d0RpHz5u3hyg09S9f/0jICItIQ/RqfwdebSqffXhnXRdNvNaBaZSklJYX77ruv0rWWRMx2e78wAJYlHCb5aK65YURE7Cgrr4jpC0uvfrurf2t6hmr6rSZUqywNHTqUDRs21HQWkRrRxq8xAzv4YRjw8Zpks+OIiNjNP77bweGcAtr4efGQpt9qTLXOWRoxYgTTpk1j586ddO7cGVdX1wrfHz16dI2EE6muSZe1ZkXCEeZvOMSDg9vTxMP13DuJiDiwJTszWLg5BScLvDKuKx6umn6rKdUqS5MnTwbgmWeeOeN7FouFkpKSi0slcpGuaOfLJX5e7DmSy4KNh8rXYBIRqY8y8wp5fFHp9Nvky9vQo1VTkxPVL9WahrPZbGd9qChJXWCxWJh4uiB9vDoZm80wOZGISO2ZsXgHR3IKuMTPi6mD25sdp965oLJ0zTXXkJWVVf71888/T2ZmZvnXx44dIzIyssbCiVyM67q3pImHC8nH8liReNjsOCIiteLnHel8E5eKkwVevbGbpt9qwQWVpZ9//pmCgoLyr1988cUKSwUUFxeTkJBQc+lELoKXuws3XRoCwJxVyeaGERGpBSdyC/m/RdsB+MsVl9AtxMfcQPXUBZUlwzCq/FqkrpkQFYaTBX5POkpSRo7ZcUREatTTi3dw9GQB7fwb88CgdmbHqbeqdc6SiKMIaebJ4MgAAOauTjY3jIhIDYrZnsbiLak4O1l09Vstu6CyZLFYzrjXlu69JXXdxH6lJ3ov3JRCVl6RyWlERC7e8dxCnvimdPrtngFt6Krpt1p1QUsHGIbBxIkTcXd3ByA/P5977rkHLy8vgArnM4nUFX3bNCM8sAm70nOYt/4Adw+4xOxIIiIX5alvt3P0ZCEdAppw39WafqttFzSydPvtt+Pv74/VasVqtXLbbbcRFBRU/rW/v79uoit1jsVi4Y7Tywh8smY/xSU2kxOJiFTfj9vS+H5rWvn0m7uLpt9q2wWNLM2ZM6e2cojUqtHdgpgVs4uUzFMsjc9gWKcWZkcSEblgx04W8OTp6be/DbyEzsFWkxM1DDrBWxoED1dnbu5duozAR1pGQEQc1FPf7uBYbiHhgU249ypNv9mLypI0GNF9w3BxsrBu33F2pGadewcRkTrk+62p/LDtf9Nvbi76E24vDnOkT5w4QXR0dPn5UdHR0RVWD69MRkYGEydOJCgoCE9PT4YNG0ZSUlKFbQoKCrj33nvx9fXFy8uL0aNHc+jQoVp8J2KWQKsHwzuXTr9pkUoRcSRHcv43/fb3K9vSqaWm3+zJYcrSLbfcQlxcHDExMcTExBAXF0d0dPRZtzcMgzFjxrB3716+/fZbNm/eTGhoKIMGDSI3N7d8uwceeIBFixYxb948Vq5cycmTJxk5cqTucVdPTbosDIDFcakcPamrN0Wk7jMMgye/2c6JvCIiWngz5cq2ZkdqcCyGAyzDHR8fT2RkJLGxsfTp0weA2NhYoqKi2LVrFx06dDhjn8TERDp06MD27dvp2LEjACUlJfj7+/Piiy9y1113kZWVhZ+fH59++injx48HIDU1lZCQEH788UeGDh16Xvmys7OxWq1kZWXh7e1dQ+9aaoNhGIx5exVbDmXx0OD23KtLbkWkjlu8JZX7vtyMi5OFb6dcRscgjSrVlPP9++0QI0tr1qzBarWWFyWAvn37YrVaWb16daX7lK355OHhUf6cs7Mzbm5urFy5EoCNGzdSVFTEkCFDyrcJCgqiU6dOZ31dcWwWi4VJp5cR+DR2P4XFWkZAROquwzn5PPVt6fTblKvaqiiZxCHKUnp6Ov7+/mc87+/vT3p6eqX7hIeHExoayvTp0zlx4gSFhYXMmjWL9PR00tLSyl/Xzc2Npk2bVtg3ICDgrK8LpUUsOzu7wkMcxzWdW+DfxJ3DOQX8tD3N7DgiIpUyDIMnFm0nM6+IyBbe/F3Tb6YxtSzNmDGj/BYqZ3ts2LABqPy2KoZhnPV2K66urnz99dckJibSrFkzPD09WbFiBcOHD8fZueoFvKp6XYCZM2eWn2hutVoJCQm5gHctZnNzceK2vqGATvQWkbpr8ZZUftmZgatz6dVvrs4OMb5RL13QopQ1bcqUKdx0001VbhMWFsbWrVvJyMg443tHjhwhICDgrPv27NmTuLg4srKyKCwsxM/Pjz59+tCrVy8AAgMDKSws5MSJExVGlw4fPky/fv3O+rrTp0/nwQcfLP86OztbhcnB3Ny7FbOX7SbuYCabD5yge6um595JRMRODmfn89S3OwC496p2RAbpfFgzmVqWfH198fX1Ped2UVFRZGVlsW7dOnr37g3A2rVrycrKqrLUlLFaS+d4k5KS2LBhA88++yxQWqZcXV1ZsmQJN954IwBpaWls376dl1566ayv5+7uXn5/PHFMfk3cGdU1iK83HWLOqmSVJRGpMwzD4PFF28k6VUSnlt78daDuZ2k2hxjTi4iIYNiwYUyePJnY2FhiY2OZPHkyI0eOrHAlXHh4OIsWLSr/ev78+axYsaJ8+YDBgwczZsyY8hO6rVYrd955Jw899BC//vormzdv5rbbbqNz584MGjTI7u9T7KtsGYEft6WRnpVvbhgRkdO+iUthabym3+oSh/kv8Pnnn9O5c2eGDBnCkCFD6NKlC59++mmFbRISEsjK+t/KzGlpaURHRxMeHs59991HdHQ0X375ZYV9Xn/9dcaMGcONN97IZZddhqenJ9999905z2sSx9eppZXeYc0othl8vna/2XFERMjIzmfG4p0A3H91O8IDNf1WFzjEOkt1ndZZclw/bkvjb59vormXG6seuwoPV5VkETGHYRjc9fEGft11mM4trSz6Wz9cNKpUq+rVOksitWVIZAAtfRpxLLeQxVtSzY4jIg3Ywk0p/LrrMG7OTrx6Y1cVpTpE/yWkQXNxdiI66n/LCGigVUTMkJ6Vz4zvSq9+u39QO9oHNDE5kfyRypI0eDddGoKHqxPxadms23fc7Dgi0sAYhsH0hVvJyS+ma7CVu69oY3Yk+ROVJWnwfDzdGNs9GNAilSJifws2HmJ5whHcnJ14ZZym3+oi/RcR4X/LCPyyM52Dx/PMDSMiDUZa1ime+a706repg9vTTtNvdZLKkgjQPqAJ/dv6YjNKb7ArIlLbDMPgsa+3kVNQTLcQHyZf3trsSHIWKksip03sFwbAvHUHyCssNjeMiNR78zcc4rfEI7i5aPqtrtN/GZHTrgr3J7S5J9n5xSzclGJ2HBGpx1IzT/Hs96XTbw8Nbk9b/8YmJ5KqqCyJnObkZOH2qDAA5q7WMgIiUjsMw+DRr7eSU1BM91Y+3HW5rn6r61SWRP5gXK9gvNyc2X34JCt3HzU7jojUQ/PWH+T3pKO4n55+c3aymB1JzkFlSeQPmni4Mq5XCKBlBESk5qVknuL5H+IBmDa0A5f4afrNEagsifzJ7f3CsFhg2a7D7Duaa3YcEaknDMPg0QVbOVlQTK/Qpky6TFe/OQqVJZE/ae3rxZUd/AH4eHWyuWFEpN74Yt0BVu4unX576YYumn5zICpLIpUoW6Ry/oaD5OQXmRtGRBzeweN5vHB6+u2RYeG00fSbQ1FZEqlE/7a+tPVvTG5hCfM3HDI7jog4MJut9Oq33MISLg1ryqTTa7qJ41BZEqmExWIpX6Ty4zXJlNi0jICIVM/n6w6wes8xPFydePmGrjhp+s3hqCyJnMV1PVri7eHC/mN5LN912Ow4IuKADh7PY+aPpdNvjw4LJ8zXy+REUh0qSyJn4enmws29WwGli1SKiFwIm81g2oIt5BWW0Lt1s/JFb8XxqCyJVCE6KhQnC6zcfZTEjByz44iIA/ls7X5i9x6nkaszL9/QRdNvDkxlSaQKwU09GRIZCGiRShE5fweO5THzx10APDY8nNDmmn5zZCpLIudQtozAos2HyMwrNDeMiNR5NpvBwwu2cKqohL5tmhHdN9TsSHKRVJZEzqF362ZEtvAmv8jGvPUHzY4jInXcJ2uSWbfvOJ5uzrx0va5+qw9UlkTOwWKxMPH06NInq5MpLrGZG0hE6qzko7m8GJMAwPTh4bRq7mlyIqkJKksi52F01yCae7mRmpXPLzszzI4jInWQzWbwyIKtnCoqIapNc27to+m3+kJlSeQ8eLg6c0uf0mUE5qzaZ3IaEamL5q5OZl3ycbzcnHlJV7/VKypLIufptr6huDhZWJ98gu0pWWbHEZE6ZN/RXF76ufTqt+nXRBDSTNNv9YnKksh5CvD24JrOLQAtIyAi/1NiM5g2fwv5RTb6t/Xl1tOj0FJ/qCyJXICyZQS+25LKkZwCc8OISJ0wZ9U+Nuw/QWN3F2Zd3xmLRdNv9Y3KksgF6N6qKd1CfCgssfHF2gNmxxERk+05cpKXfy69+u3xayIIbqrpt/pIZUnkApWNLn22dj+FxVpGQKShKpt+Kyi2cXk7X27uHWJ2JKklKksiF2h4pxb4N3HnSE4BP25LMzuOiJjko5X72HQg8/T0WxdNv9VjKksiF8jNxan89gVzVu3DMAyTE4mIve0+fJKXfymdfntiRAQtfRqZnEhqk8qSSDXc0qcVbi5ObDmUxeaDmWbHERE7KrEZTFuwhcJiG1e092P8pZp+q+9UlkSqoXljd67tGgRoGQGRhubfv+9l84FMmri78KKufmsQVJZEqqnsfnE/bUsjPSvf3DAiYhe7D+fw6pJEAJ4cFUkLq6bfGgKVJZFq6hhkpXfrZhTbDD6NTTY7jojUsuISGw/N30phsY0rO/gxrmew2ZHETlSWRC7CHadHl75Ye4D8ohJzw4hIrfrX73vZcjCTJh4uzLxOV781JCpLIhdhUEQALX0acSKviMVxqWbHEZFakpiRwxtLkgB4elRHAq0eJicSe1JZErkILs5OTIgqXUbgIy0jIFIvFZfYeHj+FgpLbFwV7s/1PVqaHUnsTGVJ5CLddGkrGrk6sys9h9i9x82OIyI17P3/7mXroSy8PVyYeZ2ufmuIVJZELpLV05XrTv9Lc+7qfSanEZGalJCewxtLS69+mzG6IwHemn5riFSWRGrAxH5hACzZmcHB43nmhhGRGlF0evqtqMRgUIQ/Y7tr+q2hUlkSqQHtAppweTtfbAZ8sibZ7DgiUgPeW7GHbSlZWBu58sJYTb81ZCpLIjVk0ullBOatP0huQbG5YUTkosSnZfPmstKr3/4xuiP+mn5r0FSWRGrIwPb+hDX3JCe/mIWbU8yOIyLV9Mfpt8GRAVzbLcjsSGIylSWRGuLkZOH20+cuzV21D5tNywiIOKJ3lu9hR2o2Pp6uPD+2k6bfRGVJpCbd0DOYxu4u7DmSy++7j5odR0Qu0I7ULN764/RbE02/icqSSI1q4uHKuF6l94uas0rLCIg4ksJiGw/P30qxzWBoxwBGd9X0m5RSWRKpYbdHhWGxwIqEI+w9ctLsOCJynt5evpv4tGyaerry3Bhd/Sb/o7IkUsPCfL24qoM/AB+vTjY3jIicl+0pWby9fDcAz1zbCb8m7iYnkrpEZUmkFky6rDUACzYeIju/yOQ0IlKV0um3LRTbDIZ3CmRklxZmR5I6RmVJpBZc1rY57QMak1tYwn/WHzQ7johUYfayJHal59DMy41nx+jqNzmTypJILbBYLEzsVzq69PGaZPKLSkxOJCKV2Z6Sxdsr9gDw7LWd8G2s6Tc5k8qSSC0Z270lPp6uHDx+ilFvrWTLwUyzI4nIHxQUl/DQf7ZQYjMY0aUFIzT9JmehsiRSSxq5OTP75h74NnYn6fBJrnt3NS/F7KKgWKNMInXBW7/uJiEjh+ZebjwzuqPZcaQOU1kSqUX92/myZOoVjO4aRInN4J0Vexj11kq2Hso0O5pIg7b1UCbv/lY6/fbcmE401/SbVEFlSaSWNfVy482bu/PebT3wbexGYsZJxr6zmld+TtAok4gJCopLeHh+6fTbqK5BDO+s6TepmsqSiJ0M69SCX6YOYGSXFpTYDGYv383ot1axPSXL7GgiDco/lyaRmHES38Zu/EPTb3IeVJZE7KiZlxuzb+nBu7f2oLmXGwkZOVz79ipe+yWBwmKb2fFE6r24g5m8Vz791plmXm4mJxJHoLIkYoLhnVvwy9QrGNG5dJTpzWW7GT17pUaZRGpRflHp9JvNgGu7BTGsU6DZkcRBqCyJmKR5Y3fevrUHb9/Sg2ZebuxKz2HM26t4bUmiRplEasEbS5PYffgkvo3dmTFK029y/lSWREw2okvpKNPwToEU2wze/DWJa99exc7UbLOjidQbmw6c4F//LZ1+e2FsJ5pq+k0ugMqSSB3g29idd27twVs3d6eppyvxadmMnr2SN5YmUlSiUSaRi5FfVMK009NvY7u3ZEhHTb/JhXGYsnTixAmio6OxWq1YrVaio6PJzMyscp+MjAwmTpxIUFAQnp6eDBs2jKSkpPLvHz9+nHvvvZcOHTrg6elJq1atuO+++8jK0nkjYn8Wi4VRXYP4ZeoAhnUsHWV6Y2kSY95eRXyaRplEquu1JYnsOZKLXxN3nh4VaXYccUAOU5ZuueUW4uLiiImJISYmhri4OKKjo8+6vWEYjBkzhr179/Ltt9+yefNmQkNDGTRoELm5uQCkpqaSmprKK6+8wrZt25g7dy4xMTHceeed9npbImfwa+LOu7f14M2bu+Pj6cqO1NJRpjd/TdIok8gFKCy28e/f9/Lv3/cCMHNsZ3w8Nf0mF85iGIZhdohziY+PJzIyktjYWPr06QNAbGwsUVFR7Nq1iw4dOpyxT2JiIh06dGD79u107Fh6Il9JSQn+/v68+OKL3HXXXZX+rPnz53PbbbeRm5uLi4vLeeXLzs7GarWSlZWFt7d3Nd+lyJkO5+TzxKLt/LIzA4BOLb15ZVxXwgP1eyZyNoZhsGRnBjN/2sW+o6X/OL6xVzAv3dDV5GRS15zv32+HGFlas2YNVqu1vCgB9O3bF6vVyurVqyvdp6CgAAAPD4/y55ydnXFzc2PlypVn/VllB+x8i5JIbfJv4sH70T35503dsDZyZXtKNqPeWsnsZUkUa5RJ5Aw7UrO45YO1/OXTjew7motvY3dmXdeZmdd1MTuaODCHaATp6en4+/uf8by/vz/p6emV7hMeHk5oaCjTp0/n/fffx8vLi9dee4309HTS0tIq3efYsWM8++yz3H333VXmKSgoKC9jUNpMRWqLxWLh2m4tiWrTnMcXbWdpfAav/JLIzzsyeGVcVzoENjE7oojpDmfn8+ovifxn40EMA9xcnLirf2v+dmVbGrs7xJ86qcNMHVmaMWMGFoulyseGDRuA0j8Yf2YYRqXPA7i6uvL111+TmJhIs2bN8PT0ZMWKFQwfPhxnZ+czts/OzmbEiBFERkby9NNPV5l75syZ5SeaW61WQkJCqvHuRS6Mv7cHH0zoyevju2Jt5Mq2lCxGvbWSt5fv1iiTNFj5RSXMXpbEwFdW8NWG0qI0sksLfn1wAI8MC1dRkhph6jlLR48e5ejRo1VuExYWxhdffMGDDz54xtVvPj4+vP7660yaNKnK18jKyqKwsBA/Pz/69OlDr169ePvtt8u/n5OTw9ChQ/H09OT777+vMHVXmcpGlkJCQnTOktjN4ex8Hl+0jaXxhwHoGmzllXFdaRegUSZpGAzDYPGWVF6KSSAl8xQAXUN8eGpkBD1Dm5mcThzF+Z6z5FAneK9du5bevXsDsHbtWvr27XvWE7wrk5SURHh4OD/99BNDhgwBSg/U0KFDcXd358cff8TT0/OC8+kEbzGDYRgs3JTCP77bQXZ+MW7OTkwd3J7Jl7fGxdkhTkcUqZZNB07w7Pc72XwgE4AgqwePDg9nVJcgnJwqn20QqUy9KksAw4cPJzU1lffffx+Av/zlL4SGhvLdd9+VbxMeHs7MmTMZO3YsUHplm5+fH61atWLbtm3cf//99OzZk6+//hooHVEaPHgweXl5LFq0CC8vr/LX8vPzq3S6rjIqS2Km9KzSUaZlu06PMoX48Oq4LrT11yiT1C8pmad48addLN6SCoCnmzN/HXAJd13ehkZu5/d5LfJH5/v322Emcz///HPuu+++8hGh0aNHM3v27ArbJCQkVFhQMi0tjQcffJCMjAxatGjBhAkTePLJJ8u/v3HjRtauXQtA27ZtK7zWvn37CAsLq6V3I1JzAq0efHh7LxZsPMQz3+9ky8FMrnlzJQ8Obs/ky9vgrH9pi4PLLSjm3RV7+OD3vRQU27BY4IYewTw8tAMB3lWfNiFSExxmZKku08iS1BXpWfk8tnArKxKOANC9lQ8v39CVtv6NTU4mcuFKbAYLNh7klV8SOZJTep5on9bNeHJkJJ1aWk1OJ/VBvZuGq8tUlqQuMQyD+RsO8ez3O8kpKMbNxYmHh7Tnzv4aZRLHsXrPUZ77Pp6dp2/1E9rck8eviWBIZMBZr4IWuVAqS3aksiR1UWrmKR5buI3/JpaOMvVo5cPL47pyiZ9GmaTu2nc0lxd+jGfJ6VXrm3i4cP/V7ZgQFYabiy5ckJqlsmRHKktSVxmGwX82HOTZ7+M5WVCMu4sT04Z2YNJlrTXKJHVKVl4Rby5L4pM1yRSVGDg7Wbi1TyseGNSeZl66n5vUDpUlO1JZkrouJfMUj329ld+TStc16xXalJdu6EIbjTKJyYpKbHweu583fk0iM68IgIEd/Pi/ayK0bpjUOpUlO1JZEkdgGAbz1h/k+R80yiTmMwyD5QmHef6HePYcKb3ZbTv/xjwxMpIB7f1MTicNhcqSHaksiSNJyTzFowu2snJ36SjTpWFNefmGroT5ep1jT5GakZCew3M/7Cwf6Wzm5caDg9tz06UhWlBV7EplyY5UlsTRGIbBF+sO8MIP8eQWluDh6sQjQ8OZ2C9MKyBLrTl6soDXliQyb90BbAa4OTsx6bIw/n5VW7w9XM2OJw2QypIdqSyJozp4PI/HFm5l1e5jAPRu3YyXb+hCaHONMknNKSguYc6qZN5etpucgmIAhncK5LHh4fpdE1OpLNmRypI4MsMw+HztAV74MZ68whIauTrz6LAOTIjSKJNcHMMw+Gl7OjN/iufg8dKb3XZuaeWJERH0adPc5HQiKkt2pbIk9cHB43k8smAra/aWjjL1ad2Ml2/oSqvmF35zaZGthzJ59vudrE8+AUCAtzvThoZzXfeWKuFSZ6gs2ZHKktQXNpvB52v388KPuzhVVIKnmzOPDQ/ntj6h+gMn5yUt6xQvxySwcHMKAB6uTvzliku4Z0AbPN0c5nak0kCoLNmRypLUNweO5TFtwRbW7jsOQN82paNMIc00yiSVyyss5v3f9vL+f/eQX2QD4LruLZk2rAMtrI1MTidSOZUlO1JZkvrIZjP4NHY/s3763yjT9GsiuLV3K40ySTmbzWDR5hRe/jmB9Ox8oHTR0ydHRtI1xMfccCLnoLJkRypLUp/tP5bLtPlbWZdcOsrU75LmvHh9F40yCev2Hee5H3ay9VAWAMFNGzF9eATXdA7UzW7FIags2ZHKktR3NpvBx2uSeTFmF/lFNrzcnHl8RAS39G6lP4oN0IFjecyKiefHbekANHZ34e9XtmXSZWF4uDqbnE7k/Kks2ZHKkjQUyUdzmbZgS/kVTv3b+jLr+s4EN9UoU0OQnV/E28t2M2dVMoUlNpwscFPvVjw4uD2+jd3NjidywVSW7EhlSRoSm81gzupkXv65dJSpsbsLj18Twc29QzTKVE8Vl9iYt/4gry9J5FhuIQCXt/Pl/0ZEEB6ozzxxXCpLdqSyJA3RvqO5TJu/hQ37S0eZLm/ny6zru9DSR1c+1Sf/TTzCcz/sJDHjJABt/Lx4YkQEV3bwVzkWh6eyZEcqS9JQldgM5qzax8s/J1BQXDrK9MSICMZfqlEmR7f7cA7P/xDP8oQjAPh4uvLA1e24tW8orrrZrdQTKkt2pLIkDd2eIyeZNn8Lmw5kAnBFez9mXdeZII0yOZzjuYW8sTSRz9ceoMRm4OJkYUJUGPdf3Q6rp252K/WLypIdqSyJlI4yfbhyL6/8kkhhsY0m7i48OTKScb2CNcrkAAqLbXyyJpk3f00iO7/0ZreDIwOYPjycNn6NTU4nUjtUluxIZUnkf3YfPsm0BVvYfHqUaWAHP2Ze11mrONdRhmHwy84MZv4YT/KxPAAiWnjz5IgI+rX1NTmdSO1SWbIjlSWRikpsBv/+fS+vLjk9yuRxepSpp0aZ6pIdqVk8+/1OYveWLjjq29idaUPbc0PPEJy1Srs0ACpLdqSyJFK53YdzeGj+VrYczATgyg5+zLyuC4FWD3ODNXCHs/N55ZcE5m88hGGAm4sTky9vzV8HtqWxu252Kw2HypIdqSyJnF1xiY0Pft/H60sSKSyx4e3hwlOjOnJ9j5YaZbKz/KIS/v37Xt5ZsYe8whIARnUN4tFhHbSwqDRIKkt2pLIkcm5JGTk8PH8LW07fR+zqcH9euK4zAd4aZapthmGweEsqL/60i9Ss0pvddgvx4cmRkfQMbWpyOhHzqCzZkcqSyPkpLrHx/n/38s+lSeWjTDNGd2Rsd40y1ZaN+0/w7Pc7iTs9FRpk9eDR4eGM7hqkYy4NnsqSHaksiVyYhPTSUaZtKaWjTIMiAnhhbCf8NcpUYw6dyOPFmAS+25IKgKebM38beAl3Xd5GN7sVOU1lyY5UlkQuXNko0xtLEykqMbA2cuUfoztybTeNeFyMkwXFvLtiN//+fR8FxTYsFhjXM5iHh3RQGRX5E5UlO1JZEqm+XenZPDx/C9tTsoHShRCfH9sJ/yb6w34hSmwG8zcc5JVfEjl6sgCAvm2a8cSISDq1tJqcTqRuUlmyI5UlkYtTVGLjvRV7eHNZEkUlBj6epaNMOq/m/KzefZRnf4gnPq20cIY19+TxayIYHBmg4ydSBZUlO1JZEqkZ8WnZPPSfLew8/Ud/aMcAnhvTGb8m7iYnq5v2HjnJCz/uYml8BgDeHi7cd3U7JkSF4eaim92KnIvKkh2pLInUnKISG+8s38Nby5Iothk09XTlH9d2YlSXFholOS0rr4h//prEJ2uSKbYZODtZuK1PK+4f1J5mXm5mxxNxGCpLdqSyJFLzdqaWnstUNso0vFMgz47phG/jhjvKVFRi4/PY/bzxaxKZeUVA6aro/zcigrb+TUxOJ+J4VJbsSGVJpHYUFtt4e/lu3l6+m2KbQTMvN565tiMjuwSZHc2uDMNgecJhnv8hnj1HcgFoH9CYJ0ZEckV7P5PTiTgulSU7UlkSqV3bU7J4eP4WdqXnAHBN50CevbYTzRvAKNOu9Gye+z6elbuPAtDcy40Hh7RnfK8QXJx1XpLIxVBZsiOVJZHaV1hsY/ayJN5esYcSm0FzLzeeHdOJazq3MDtarTh6soBXf0nkq/UHsBng5uzEpP5h/P3Ktnh7uJodT6ReUFmyI5UlEfv58yjTiC4tePbaTvXmxOb8ohLmrErm7eW7OVlQDJSOpD02LIJWzXWzW5GapLJkRypLIvZVUFzCW7/u5t3f/jfK9NyYTgx34FEmwzD4cVs6M3+K59CJUwB0CbbyxIhIerduZnI6kfpJZcmOVJZEzLH1UCYPz99CYsZJAEZ1DeKZ0R1p6mCjTFsOZvLcDztZn3wCgEBvDx4Z1oEx3Vri5KTlEkRqi8qSHaksiZinoLiEN39N4t0Ve7AZ4NvYjefGdGZYp0Czo51TWtYpXo5JYOHmFAAauTpz94A2/OWKNni6uZicTqT+U1myI5UlEfNtOVg6ypR0uHSU6dpuQcwYVTdHmfIKi3nvt7386797yC+yAXBdj5Y8MjScQKvuiSdiLypLdqSyJFI35BeV8M9fk3j/t7JRJndeGNuJIR3rxiiTzWawcHMKL/+8i4zs0pvdXhrWlCdHRtIl2MfccCINkMqSHaksidQtcQczeeg/ceULOI7t3pKnR0Xi42neKNO6fcd59vudbEvJAiCkWSOmD49geKdA3cZFxCQqS3aksiRS9+QXlfD60kQ++O9ebAb4NXFn5tjODIoMsGuOA8fymPlTPD9tTwegibsLU65qy+39wvBwdbZrFhGpSGXJjlSWROquTQdOMG3+lvJRpuu6t+TpUR2xetbuwo7Z+UXMXrabuauSKSyx4WSBm3u3Yurg9g36/nYidYnKkh2pLInUbflFJby+JJF//b4Xw4AAb3dmXteZq8JrfpSpuMTGl+sP8vqSRI7nFgJweTtfnhgRSYdA3exWpC5RWbIjlSURx7Bxf+ko096jpaNM1/cI5qlRkVgb1cwo02+JR3j+h53l6z5d4ufFEyMiGdjBT+clidRBKkt2pLIk4jjyi0p49ZcE/r1yX/ko06zrunBluH+1X3P34Rye+yGeFQlHAPDxdGXqoPbc0qcVrrrZrUidpbJkRypLIo5nQ/Jxpi3Yyr7To0zjegbzxMgLG2U6nlvIG0sT+XztAUpsBq7OFiZEhXHfVe1q/ZwoEbl4Kkt2pLIk4phOFZbwyi8JfLSqdJQp0NuDWdd3ZmCHqkeZCottfLImmX/+mkROfunNbodEBjD9mgha+3rZI7qI1ACVJTtSWRJxbOuTjzNt/haSj+UBML5XCP83MgJvj4qjQ4Zh8POODGb+FM/+09tGtvDmiZER9LvE1+65ReTiqCzZkcqSiOM7VVjCSz/vYu7qZAwDWlg9ePH6LlzR3g+A7SlZPPfDTmL3HgdK122aNqQD1/cMxlk3uxVxSCpLdqSyJFJ/rN17jGkLtnLgeOnI0U2XhlBiM1iw6RCGAe4uTky+vA33DLyExu662a2II1NZsiOVJZH6Ja+wmJdiEpi7OrnC89d2C+KRYeG09GlkTjARqVHn+/db/ywSEfkTTzcXZozuyLBOgTz97Q6snq48NjycHq2amh1NREygkaUaoJElERERx3O+f7+1WpqIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoOU5ZOnDhBdHQ0VqsVq9VKdHQ0mZmZVe6TkZHBxIkTCQoKwtPTk2HDhpGUlFTptoZhMHz4cCwWC998803NvwERERFxSA5Tlm655Rbi4uKIiYkhJiaGuLg4oqOjz7q9YRiMGTOGvXv38u2337J582ZCQ0MZNGgQubm5Z2z/xhtvYLHo/k4iIiJSkUOs4B0fH09MTAyxsbH06dMHgA8++ICoqCgSEhLo0KHDGfskJSURGxvL9u3b6dixIwDvvPMO/v7+fPnll9x1113l227ZsoXXXnuN9evX06JFC/u8KREREXEIDjGytGbNGqxWa3lRAujbty9Wq5XVq1dXuk9BQQEAHh4e5c85Ozvj5ubGypUry5/Ly8vj5ptvZvbs2QQGBtbSOxARERFH5RBlKT09HX9//zOe9/f3Jz09vdJ9wsPDCQ0NZfr06Zw4cYLCwkJmzZpFeno6aWlp5dtNnTqVfv36ce211553noKCArKzsys8REREpH4ytSzNmDEDi8VS5WPDhg0AlZ5PZBjGWc8zcnV15euvvyYxMZFmzZrh6enJihUrGD58OM7OzgAsXryYZcuW8cYbb1xQ7pkzZ5afaG61WgkJCbmwNy4iIiIOw9RzlqZMmcJNN91U5TZhYWFs3bqVjIyMM7535MgRAgICzrpvz549iYuLIysri8LCQvz8/OjTpw+9evUCYNmyZezZswcfH58K+11//fVcfvnlrFixotLXnT59Og8++GD519nZ2SpMIiIi9ZTFMAzD7BDnEh8fT2RkJGvXrqV3794ArF27lr59+7Jr165KT/CuTFJSEuHh4fz0008MGTKE9PR0jh49WmGbzp07889//pNRo0bRunXr83rd871rsYiIiNQd5/v32yGuhouIiGDYsGFMnjyZ999/H4C//OUvjBw5skJRCg8PZ+bMmYwdOxaA+fPn4+fnR6tWrdi2bRv3338/Y8aMYciQIQAEBgZWelJ3q1atzrsoQel0IKBzl0RERBxI2d/tc40bOURZAvj888+57777yovO6NGjmT17doVtEhISyMrKKv86LS2NBx98kIyMDFq0aMGECRN48sknazxbTk4OgKbiREREHFBOTg5Wq/Ws33eIabi6zmazkZqaSpMmTerEwpZl51AdPHhQ04LoePyZjseZdEwq0vGoSMejovp0PAzDICcnh6CgIJyczn7Nm8OMLNVlTk5OBAcHmx3jDN7e3g7/i1yTdDwq0vE4k45JRToeFel4VFRfjkdVI0plHGKdJRERERGzqCyJiIiIVEFlqR5yd3fn6aefxt3d3ewodYKOR0U6HmfSMalIx6MiHY+KGuLx0AneIiIiIlXQyJKIiIhIFVSWRERERKqg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WRIRERGpgsqSiIiISBVUlkRERESqoLIkIiIiUgWVJREREZEqqCyJiIiIVEFlSUQatLCwMN544w2zY4hIHaayJCIOa9SoUQwaNKjS761ZswaLxcKmTZvsnEpE6huVJRFxWHfeeSfLli1j//79Z3zvo48+olu3bvTo0cOEZCJSn6gsiYjDGjlyJP7+/sydO7fC83l5eXz11VfceeedfP3113Ts2BF3d3fCwsJ49dVXz/p6ycnJWCwW4uLiyp/LzMzEYrGwYsUKAFasWIHFYuHnn3+me/fuNGrUiKuuuorDhw/z008/ERERgbe3NzfffDN5eXnlr2MYBi+99BJt2rShUaNGdO3alQULFtTk4RCRWqKyJCIOy8XFhQkTJjB37lz+eE/w+fPnU1hYSFRUFDfeeCM33XQT27ZtY8aMGTz55JNnlKvqmDFjBrNnz2b16tUcPHiQG2+8kTfeeIMvvviCH374gSVLlvDWW2+Vb//EE08wZ84c3n33XXbs2MHUqVO57bbb+O233y46i4jULovxx08YEREHs2vXLiIiIli2bBlXXnklAAMGDKBly5ZYLBaOHDnCL7/8Ur79I488wg8//MCOHTuA0hO8H3jgAR544AGSk5Np3bo1mzdvplu3bkDpyFLTpk1Zvnw5AwcOZMWKFVx55ZUsXbqUq6++GoBZs2Yxffp09uzZQ5s2bQC45557SE5OJiYmhtzcXHx9fVm2bBlRUVHlWe666y7y8vL44osv7HGoRKSaNLIkIg4tPDycfv368dFHHwGwZ88efv/9d+644w7i4+O57LLLKmx/2WWXkZSURElJyUX93C5dupT//wEBAXh6epYXpbLnDh8+DMDOnTvJz89n8ODBNG7cuPzxySefsGfPnovKISK1z8XsACIiF+vOO+9kypQpvP3228yZM4fQ0FCuvvpqDMPAYrFU2LaqwXQnJ6cztikqKqp0W1dX1/L/32KxVPi67DmbzQZQ/n9/+OEHWrZsWWE7d3f3c709ETGZRpZExOHdeOONODs788UXX/Dxxx8zadIkLBYLkZGRrFy5ssK2q1evpn379jg7O5/xOn5+fgCkpaWVP/fHk72rKzIyEnd3dw4cOEDbtm0rPEJCQi769UWkdmlkSUQcXuPGjRk/fjyPP/44WVlZTJw4EYCHHnqISy+9lGeffZbx48ezZs0aZs+ezTvvvFPp6zRq1Ii+ffsya9YswsLCOHr0KE888cRF52vSpAkPP/wwU6dOxWaz0b9/f7Kzs1m9ejWNGzfm9ttvv+ifISK1RyNLIlIv3HnnnZw4cYJBgwbRqlUrAHr06MF//vMf5s2bR6dOnXjqqad45plnystUZT766COKioro1asX999/P88991yN5Hv22Wd56qmnmDlzJhEREQwdOpTvvvuO1q1b18jri0jt0dVwIiIiIlXQyJKIiIhIFVSWRERERKqgsiQiIiJSBZUlERERkSqoLImIiIhUQWVJREREpAoqSyIiIiJVUFkSERERqYLKkoiIiEgVVJZEREREqqCyJCIiIlIFlSURERGRKvw/FsCLm/9axZsAAAAASUVORK5CYII="},"metadata":{}}],"execution_count":31},{"id":"92a9efbb-b592-4888-a2a4-310acde774c9","cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file