diff --git a/.gitignore b/.gitignore index 2fa61d3d..387f0962 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ _build/ apidoc/ .ipynb_checkpoints/ test_times.dat +.aider* diff --git a/notebooks/phonopy_wf.ipynb b/notebooks/phonopy_wf.ipynb index 8b07a71c..923d3318 100644 --- a/notebooks/phonopy_wf.ipynb +++ b/notebooks/phonopy_wf.ipynb @@ -18,8 +18,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 1.34 s, sys: 289 ms, total: 1.63 s\n", - "Wall time: 3.8 s\n" + "CPU times: user 1.33 s, sys: 264 ms, total: 1.59 s\n", + "Wall time: 458 ms\n" ] } ], @@ -29,7 +29,7 @@ "\n", "import matplotlib.pylab as plt\n", "from pyiron_workflow.workflow import Workflow\n", - "from pyiron_workflow.function import single_value_node" + "from pyiron_workflow.function import function_node" ] }, { @@ -49,7 +49,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1e07220b12dc4844810f13bc90993bec", + "model_id": "6adf84964e5445bc91c3437059885cda", "version_major": 2, "version_minor": 0 }, @@ -62,8 +62,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 921 ms, sys: 228 ms, total: 1.15 s\n", - "Wall time: 2.02 s\n" + "CPU times: user 824 ms, sys: 201 ms, total: 1.02 s\n", + "Wall time: 1.63 s\n" ] } ], @@ -144,818 +144,818 @@ "\n", "\n", - "\n", - "\n", + "\n", + "\n", "clusterbulk_rotation\n", - "\n", - "bulk_rotation: bulk_rotation\n", - "\n", - "clusterbulk_rotationrotate\n", + "\n", + "bulk_rotation: bulk_rotation\n", + "\n", + "clusterbulk_rotationname\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "rotate: rotate_axis_angle\n", + "\n", + "name: UserInput\n", "\n", - "\n", - "clusterbulk_rotationrotateInputs\n", + "\n", + "clusterbulk_rotationnameInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrotateOutputs\n", + "\n", + "clusterbulk_rotationnameOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationInputs\n", + "\n", + "clusterbulk_rotationaxis\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "axis: UserInput\n", "\n", - "\n", - "clusterbulk_rotationOutputs\n", + "\n", + "clusterbulk_rotationaxisInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationcubic\n", + "\n", + "clusterbulk_rotationaxisOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "cubic: UserInput\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationcubicInputs\n", + "\n", + "clusterbulk_rotationangle\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "angle: UserInput\n", "\n", - "\n", - "clusterbulk_rotationcubicOutputs\n", + "\n", + "clusterbulk_rotationangleInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrepeat_cell\n", + "\n", + "clusterbulk_rotationangleOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "repeat_cell: UserInput\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationrepeat_cellInputs\n", + "\n", + "clusterbulk_rotationstructure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "structure: bulk\n", "\n", - "\n", - "clusterbulk_rotationrepeat_cellOutputs\n", + "\n", + "clusterbulk_rotationstructureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationangle\n", + "\n", + "clusterbulk_rotationstructureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "angle: UserInput\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationangleInputs\n", + "\n", + "clusterbulk_rotationrepeat\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "repeat: repeat\n", "\n", - "\n", - "clusterbulk_rotationangleOutputs\n", + "\n", + "clusterbulk_rotationrepeatInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationstructure\n", + "\n", + "clusterbulk_rotationrepeatOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "structure: bulk\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationstructureInputs\n", + "\n", + "clusterbulk_rotationrotate\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "rotate: rotate_axis_angle\n", "\n", - "\n", - "clusterbulk_rotationstructureOutputs\n", + "\n", + "clusterbulk_rotationrotateInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrepeat\n", + "\n", + "clusterbulk_rotationrotateOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "repeat: repeat\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationrepeatInputs\n", + "\n", + "clusterbulk_rotationInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrepeatOutputs\n", + "\n", + "clusterbulk_rotationOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationname\n", + "\n", + "clusterbulk_rotationcubic\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "name: UserInput\n", + "\n", + "cubic: UserInput\n", "\n", - "\n", - "clusterbulk_rotationnameInputs\n", + "\n", + "clusterbulk_rotationcubicInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationnameOutputs\n", + "\n", + "clusterbulk_rotationcubicOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationaxis\n", + "\n", + "clusterbulk_rotationrepeat_cell\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "axis: UserInput\n", + "\n", + "repeat_cell: UserInput\n", "\n", - "\n", - "clusterbulk_rotationaxisInputs\n", + "\n", + "clusterbulk_rotationrepeat_cellOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationaxisOutputs\n", + "\n", + "clusterbulk_rotationrepeat_cellInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", "\n", "\n", "clusterbulk_rotationInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterbulk_rotationnameInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsname->clusterbulk_rotationnameInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputscubic\n", - "\n", - "cubic: bool\n", + "\n", + "cubic: bool\n", "\n", "\n", "\n", "clusterbulk_rotationcubicInputsuser_input\n", - "\n", - "user_input: bool\n", + "\n", + "user_input: bool\n", "\n", "\n", "\n", "clusterbulk_rotationInputscubic->clusterbulk_rotationcubicInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsrepeat_cell\n", - "\n", - "repeat_cell\n", + "\n", + "repeat_cell\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsrepeat_cell->clusterbulk_rotationrepeat_cellInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsangle\n", - "\n", - "angle\n", + "\n", + "angle\n", "\n", "\n", "\n", "clusterbulk_rotationangleInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsangle->clusterbulk_rotationangleInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsaxis\n", - "\n", - "axis\n", + "\n", + "axis\n", "\n", "\n", "\n", "clusterbulk_rotationaxisInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsaxis->clusterbulk_rotationaxisInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterbulk_rotationnameInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationnameInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsran->clusterbulk_rotationstructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsuser_input->clusterbulk_rotationstructureInputsname\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationcubicInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationcubicInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsran->clusterbulk_rotationstructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputscubic\n", - "\n", - "cubic\n", + "\n", + "cubic\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsuser_input->clusterbulk_rotationstructureInputscubic\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsran->clusterbulk_rotationrepeatInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsrepeat_scalar\n", - "\n", - "repeat_scalar: int\n", + "\n", + "repeat_scalar: int\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsuser_input->clusterbulk_rotationrepeatInputsrepeat_scalar\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationangleInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationangleInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsran->clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsangle\n", - "\n", - "angle\n", + "\n", + "angle\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsuser_input->clusterbulk_rotationrotateInputsangle\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationaxisInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationaxisInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsran->clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsaxis\n", - "\n", - "axis: list\n", + "\n", + "axis: list\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsuser_input->clusterbulk_rotationrotateInputsaxis\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputscrystalstructure\n", - "\n", - "crystalstructure\n", + "\n", + "crystalstructure\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsa\n", - "\n", - "a\n", + "\n", + "a\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsc\n", - "\n", - "c\n", + "\n", + "c\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputscovera\n", - "\n", - "covera\n", + "\n", + "covera\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsu\n", - "\n", - "u\n", + "\n", + "u\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsorthorhombic\n", - "\n", - "orthorhombic\n", + "\n", + "orthorhombic\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsran->clusterbulk_rotationrepeatInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsstructure->clusterbulk_rotationrepeatInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsran->clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsstructure->clusterbulk_rotationrotateInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationrotateOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputscenter\n", - "\n", - "center\n", + "\n", + "center\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsrotate_cell\n", - "\n", - "rotate_cell: bool\n", + "\n", + "rotate_cell: bool\n", "\n", "\n", "\n", "clusterbulk_rotationrotateOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterbulk_rotationrotateOutputsstructure->clusterbulk_rotationOutputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -984,7 +984,7 @@ "value": "'Al'" }, "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -1071,818 +1071,818 @@ "\n", "\n", - "\n", - "\n", + "\n", + "\n", "clusterbulk_rotation\n", - "\n", - "bulk_rotation: bulk_rotation\n", - "\n", - "clusterbulk_rotationrotate\n", + "\n", + "bulk_rotation: bulk_rotation\n", + "\n", + "clusterbulk_rotationstructure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "rotate: rotate_axis_angle\n", + "\n", + "structure: bulk\n", "\n", - "\n", - "clusterbulk_rotationrotateInputs\n", + "\n", + "clusterbulk_rotationstructureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrotateOutputs\n", + "\n", + "clusterbulk_rotationstructureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationrepeat_cell\n", + "\n", + "clusterbulk_rotationrepeat\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "repeat_cell: UserInput\n", + "\n", + "repeat: repeat\n", "\n", - "\n", - "clusterbulk_rotationrepeat_cellInputs\n", + "\n", + "clusterbulk_rotationrepeatInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrepeat_cellOutputs\n", + "\n", + "clusterbulk_rotationrepeatOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationangle\n", + "\n", + "clusterbulk_rotationrotate\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "angle: UserInput\n", + "\n", + "rotate: rotate_axis_angle\n", "\n", - "\n", - "clusterbulk_rotationangleInputs\n", + "\n", + "clusterbulk_rotationrotateInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationangleOutputs\n", + "\n", + "clusterbulk_rotationrotateOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationstructure\n", + "\n", + "clusterbulk_rotationInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "structure: bulk\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationstructureInputs\n", + "\n", + "clusterbulk_rotationOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationstructureOutputs\n", + "\n", + "clusterbulk_rotationcubic\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "cubic: UserInput\n", "\n", - "\n", - "clusterbulk_rotationrepeat\n", + "\n", + "clusterbulk_rotationcubicInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "repeat: repeat\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationrepeatOutputs\n", + "\n", + "clusterbulk_rotationcubicOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationrepeatInputs\n", + "\n", + "clusterbulk_rotationrepeat_cell\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "repeat_cell: UserInput\n", "\n", - "\n", - "clusterbulk_rotationInputs\n", + "\n", + "clusterbulk_rotationrepeat_cellInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationOutputs\n", + "\n", + "clusterbulk_rotationrepeat_cellOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterbulk_rotationcubic\n", + "\n", + "clusterbulk_rotationangle\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "cubic: UserInput\n", + "\n", + "angle: UserInput\n", "\n", - "\n", - "clusterbulk_rotationcubicInputs\n", + "\n", + "clusterbulk_rotationangleInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterbulk_rotationcubicOutputs\n", + "\n", + "clusterbulk_rotationangleOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterbulk_rotationname\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "name: UserInput\n", + "\n", + "name: UserInput\n", "\n", "\n", "clusterbulk_rotationnameInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterbulk_rotationnameOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterbulk_rotationaxis\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "axis: UserInput\n", + "\n", + "axis: UserInput\n", "\n", "\n", "clusterbulk_rotationaxisInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterbulk_rotationaxisOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "\n", "clusterbulk_rotationInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterbulk_rotationnameInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsname->clusterbulk_rotationnameInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputscubic\n", - "\n", - "cubic: bool\n", + "\n", + "cubic: bool\n", "\n", "\n", "\n", "clusterbulk_rotationcubicInputsuser_input\n", - "\n", - "user_input: bool\n", + "\n", + "user_input: bool\n", "\n", "\n", "\n", "clusterbulk_rotationInputscubic->clusterbulk_rotationcubicInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsrepeat_cell\n", - "\n", - "repeat_cell\n", + "\n", + "repeat_cell\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsrepeat_cell->clusterbulk_rotationrepeat_cellInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsangle\n", - "\n", - "angle\n", + "\n", + "angle\n", "\n", "\n", "\n", "clusterbulk_rotationangleInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsangle->clusterbulk_rotationangleInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationInputsaxis\n", - "\n", - "axis\n", + "\n", + "axis\n", "\n", "\n", "\n", "clusterbulk_rotationaxisInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationInputsaxis->clusterbulk_rotationaxisInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterbulk_rotationnameInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationnameInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsran->clusterbulk_rotationstructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterbulk_rotationnameOutputsuser_input->clusterbulk_rotationstructureInputsname\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationcubicInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationcubicInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsran->clusterbulk_rotationstructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputscubic\n", - "\n", - "cubic\n", + "\n", + "cubic\n", "\n", "\n", "\n", "clusterbulk_rotationcubicOutputsuser_input->clusterbulk_rotationstructureInputscubic\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsran->clusterbulk_rotationrepeatInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsrepeat_scalar\n", - "\n", - "repeat_scalar: int\n", + "\n", + "repeat_scalar: int\n", "\n", "\n", "\n", "clusterbulk_rotationrepeat_cellOutputsuser_input->clusterbulk_rotationrepeatInputsrepeat_scalar\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationangleInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationangleInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsran->clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsangle\n", - "\n", - "angle\n", + "\n", + "angle\n", "\n", "\n", "\n", "clusterbulk_rotationangleOutputsuser_input->clusterbulk_rotationrotateInputsangle\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationaxisInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationaxisInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsran->clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsaxis\n", - "\n", - "axis: list\n", + "\n", + "axis: list\n", "\n", "\n", "\n", "clusterbulk_rotationaxisOutputsuser_input->clusterbulk_rotationrotateInputsaxis\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputscrystalstructure\n", - "\n", - "crystalstructure\n", + "\n", + "crystalstructure\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsa\n", - "\n", - "a\n", + "\n", + "a\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsc\n", - "\n", - "c\n", + "\n", + "c\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputscovera\n", - "\n", - "covera\n", + "\n", + "covera\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsu\n", - "\n", - "u\n", + "\n", + "u\n", "\n", "\n", "\n", "clusterbulk_rotationstructureInputsorthorhombic\n", - "\n", - "orthorhombic\n", + "\n", + "orthorhombic\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsran->clusterbulk_rotationrepeatInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterbulk_rotationstructureOutputsstructure->clusterbulk_rotationrepeatInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsran->clusterbulk_rotationrotateInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterbulk_rotationrepeatOutputsstructure->clusterbulk_rotationrotateInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterbulk_rotationrotateOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputscenter\n", - "\n", - "center\n", + "\n", + "center\n", "\n", "\n", "\n", "clusterbulk_rotationrotateInputsrotate_cell\n", - "\n", - "rotate_cell: bool\n", + "\n", + "rotate_cell: bool\n", "\n", "\n", "\n", "clusterbulk_rotationrotateOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterbulk_rotationrotateOutputsstructure->clusterbulk_rotationOutputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -2003,8 +2003,8 @@ "energy: 0.8013167095856435 0.7996059979142878\n", "max_workers: 1\n", "WARNING: 3 imaginary modes exist\n", - "CPU times: user 13.8 s, sys: 2.17 s, total: 16 s\n", - "Wall time: 5.38 s\n" + "CPU times: user 14.1 s, sys: 1.61 s, total: 15.7 s\n", + "Wall time: 5.23 s\n" ] } ], @@ -2029,1664 +2029,1664 @@ "\n", "\n", - "\n", - "\n", + "\n", + "\n", "clusterrun_phonopy\n", - "\n", - "run_phonopy: run_phonopy\n", + "\n", + "run_phonopy: run_phonopy\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energy\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "relaxed_structure__out_GetAttr_final__getattr_GetAttr_energy: GetAttr\n", + "\n", + "relaxed_structure__out_GetAttr_final__getattr_GetAttr_energy: GetAttr\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energy\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "relaxed_structure__out_GetAttr_initial__getattr_GetAttr_energy: GetAttr\n", + "\n", + "relaxed_structure__out_GetAttr_initial__getattr_GetAttr_energy: GetAttr\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure__out_GetAttr_final\n", + "\n", + "clusterrun_phonopymax_workers\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "relaxed_structure__out_GetAttr_final: GetAttr\n", + "\n", + "max_workers: UserInput\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputs\n", + "\n", + "clusterrun_phonopymax_workersInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalOutputs\n", + "\n", + "clusterrun_phonopymax_workersOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial\n", + "\n", + "clusterrun_phonopystructure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "relaxed_structure__out_GetAttr_initial: GetAttr\n", + "\n", + "structure: cubic_bulk_cell\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputs\n", + "\n", + "clusterrun_phonopystructureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialOutputs\n", + "\n", + "clusterrun_phonopystructureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopyphonopy__out_GetItem_energies\n", + "\n", + "clusterrun_phonopyrelaxed_structure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "phonopy__out_GetItem_energies: GetItem\n", + "\n", + "relaxed_structure: minimize\n", "\n", - "\n", - "clusterrun_phonopyphonopy__out_GetItem_energiesInputs\n", + "\n", + "clusterrun_phonopyrelaxed_structureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopyphonopy__out_GetItem_energiesOutputs\n", + "\n", + "clusterrun_phonopyrelaxed_structureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopytotal_dos\n", + "\n", + "clusterrun_phonopyphonopy_input\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "total_dos: get_total_dos\n", + "\n", + "phonopy_input: PhonopyParameters\n", "\n", - "\n", - "clusterrun_phonopytotal_dosInputs\n", + "\n", + "clusterrun_phonopyphonopy_inputInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopytotal_dosOutputs\n", + "\n", + "clusterrun_phonopyphonopy_inputOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopymax_workers\n", + "\n", + "clusterrun_phonopyphonopy\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "max_workers: UserInput\n", + "\n", + "phonopy: create_phonopy\n", "\n", - "\n", - "clusterrun_phonopymax_workersInputs\n", + "\n", + "clusterrun_phonopyphonopyInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopymax_workersOutputs\n", + "\n", + "clusterrun_phonopyphonopyOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopystructure\n", + "\n", + "clusterrun_phonopycheck_consistency\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "structure: cubic_bulk_cell\n", + "\n", + "check_consistency: check_consistency\n", "\n", - "\n", - "clusterrun_phonopystructureInputs\n", + "\n", + "clusterrun_phonopycheck_consistencyInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopystructureOutputs\n", + "\n", + "clusterrun_phonopycheck_consistencyOutputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Outputs\n", + "\n", + "\n", + "clusterrun_phonopytotal_dos\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "total_dos: get_total_dos\n", + "\n", + "\n", + "clusterrun_phonopytotal_dosOutputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Outputs\n", + "\n", + "\n", + "clusterrun_phonopytotal_dosInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterrun_phonopyelement\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "element: UserInput\n", + "\n", + "element: UserInput\n", "\n", "\n", "clusterrun_phonopyelementInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyelementOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterrun_phonopycell_size\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "cell_size: UserInput\n", + "\n", + "cell_size: UserInput\n", "\n", "\n", "clusterrun_phonopycell_sizeInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopycell_sizeOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterrun_phonopyvacancy_index\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "vacancy_index: UserInput\n", + "\n", + "vacancy_index: UserInput\n", "\n", "\n", "clusterrun_phonopyvacancy_indexInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyvacancy_indexOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterrun_phonopydisplacement\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "displacement: UserInput\n", + "\n", + "displacement: UserInput\n", "\n", "\n", "clusterrun_phonopydisplacementInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopydisplacementOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopyrelaxed_structure\n", + "\n", + "clusterrun_phonopyrelaxed_structure__out_GetAttr_final\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "relaxed_structure: minimize\n", - "\n", - "\n", - "clusterrun_phonopyrelaxed_structureInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clusterrun_phonopyrelaxed_structureOutputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Outputs\n", + "\n", + "relaxed_structure__out_GetAttr_final: GetAttr\n", "\n", - "\n", - "clusterrun_phonopyphonopy_input\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "phonopy_input: PhonopyParameters\n", - "\n", - "\n", - "clusterrun_phonopyphonopy_inputInputs\n", + "\n", + "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopyphonopy_inputOutputs\n", + "\n", + "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopyphonopy\n", + "\n", + "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "phonopy: create_phonopy\n", + "\n", + "relaxed_structure__out_GetAttr_initial: GetAttr\n", "\n", - "\n", - "clusterrun_phonopyphonopyInputs\n", + "\n", + "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopyphonopyOutputs\n", + "\n", + "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterrun_phonopycheck_consistency\n", + "\n", + "clusterrun_phonopyphonopy__out_GetItem_energies\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "check_consistency: check_consistency\n", + "\n", + "phonopy__out_GetItem_energies: GetItem\n", "\n", - "\n", - "clusterrun_phonopycheck_consistencyInputs\n", + "\n", + "clusterrun_phonopyphonopy__out_GetItem_energiesInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterrun_phonopycheck_consistencyOutputs\n", + "\n", + "clusterrun_phonopyphonopy__out_GetItem_energiesOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterrun_phonopyInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyengine\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "engine: EMT\n", + "\n", + "engine: EMT\n", "\n", "\n", "clusterrun_phonopyengineInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterrun_phonopyengineOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "\n", "clusterrun_phonopyInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyInputselement\n", - "\n", - "element: str\n", + "\n", + "element: str\n", "\n", "\n", "\n", "clusterrun_phonopyelementInputsuser_input\n", - "\n", - "user_input: str\n", + "\n", + "user_input: str\n", "\n", "\n", "\n", "clusterrun_phonopyInputselement->clusterrun_phonopyelementInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyInputscell_size\n", - "\n", - "cell_size: int\n", + "\n", + "cell_size: int\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeInputsuser_input\n", - "\n", - "user_input: int\n", + "\n", + "user_input: int\n", "\n", "\n", "\n", "clusterrun_phonopyInputscell_size->clusterrun_phonopycell_sizeInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyInputsvacancy_index\n", - "\n", - "vacancy_index\n", + "\n", + "vacancy_index\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterrun_phonopyInputsvacancy_index->clusterrun_phonopyvacancy_indexInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyInputsdisplacement\n", - "\n", - "displacement: float\n", + "\n", + "displacement: float\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementInputsuser_input\n", - "\n", - "user_input: float\n", + "\n", + "user_input: float\n", "\n", "\n", "\n", "clusterrun_phonopyInputsdisplacement->clusterrun_phonopydisplacementInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyInputsmax_workers\n", - "\n", - "max_workers: int\n", + "\n", + "max_workers: int\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersInputsuser_input\n", - "\n", - "user_input: int\n", + "\n", + "user_input: int\n", "\n", "\n", "\n", "clusterrun_phonopyInputsmax_workers->clusterrun_phonopymax_workersInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyOutputsimaginary_modes\n", - "\n", - "imaginary_modes\n", + "\n", + "imaginary_modes\n", "\n", "\n", "\n", "clusterrun_phonopyOutputstotal_dos\n", - "\n", - "total_dos\n", + "\n", + "total_dos\n", "\n", "\n", "\n", "clusterrun_phonopyOutputsenergy_relaxed\n", - "\n", - "energy_relaxed\n", + "\n", + "energy_relaxed\n", "\n", "\n", "\n", "clusterrun_phonopyOutputsenergy_initial\n", - "\n", - "energy_initial\n", + "\n", + "energy_initial\n", "\n", "\n", "\n", "clusterrun_phonopyOutputsenergy_displaced\n", - "\n", - "energy_displaced\n", + "\n", + "energy_displaced\n", "\n", "\n", "\n", "clusterrun_phonopyelementInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyelementOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyelementInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopystructureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyelementOutputsran->clusterrun_phonopystructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyelementOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterrun_phonopystructureInputselement\n", - "\n", - "element: str\n", + "\n", + "element: str\n", "\n", "\n", "\n", "clusterrun_phonopyelementOutputsuser_input->clusterrun_phonopystructureInputselement\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeOutputsran->clusterrun_phonopystructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterrun_phonopystructureInputscell_size\n", - "\n", - "cell_size: int\n", + "\n", + "cell_size: int\n", "\n", "\n", "\n", "clusterrun_phonopycell_sizeOutputsuser_input->clusterrun_phonopystructureInputscell_size\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexOutputsran->clusterrun_phonopystructureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterrun_phonopystructureInputsvacancy_index\n", - "\n", - "vacancy_index\n", + "\n", + "vacancy_index\n", "\n", "\n", "\n", "clusterrun_phonopyvacancy_indexOutputsuser_input->clusterrun_phonopystructureInputsvacancy_index\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementOutputsran->clusterrun_phonopyphonopy_inputInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsdistance\n", - "\n", - "distance: float\n", + "\n", + "distance: float\n", "\n", "\n", "\n", "clusterrun_phonopydisplacementOutputsuser_input->clusterrun_phonopyphonopy_inputInputsdistance\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersOutputsran->clusterrun_phonopyphonopyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsmax_workers\n", - "\n", - "max_workers\n", + "\n", + "max_workers\n", "\n", "\n", "\n", "clusterrun_phonopymax_workersOutputsuser_input->clusterrun_phonopyphonopyInputsmax_workers\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyengineInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyengineOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyengineInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyengineOutputsran->clusterrun_phonopyrelaxed_structureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyengineOutputsran->clusterrun_phonopyphonopyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyengineOutputsengine\n", - "\n", - "engine\n", + "\n", + "engine\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureInputsengine\n", - "\n", - "engine\n", + "\n", + "engine\n", "\n", "\n", "\n", "clusterrun_phonopyengineOutputsengine->clusterrun_phonopyrelaxed_structureInputsengine\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsengine\n", - "\n", - "engine\n", + "\n", + "engine\n", "\n", "\n", "\n", "clusterrun_phonopyengineOutputsengine->clusterrun_phonopyphonopyInputsengine\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopystructureInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopystructureOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopystructureOutputsran->clusterrun_phonopyrelaxed_structureInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopystructureOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureInputsatoms\n", - "\n", - "atoms\n", + "\n", + "atoms\n", "\n", "\n", "\n", "clusterrun_phonopystructureOutputsstructure->clusterrun_phonopyrelaxed_structureInputsatoms\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureInputsfmax\n", - "\n", - "fmax\n", + "\n", + "fmax\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureInputslog_file\n", - "\n", - "log_file\n", + "\n", + "log_file\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsran->clusterrun_phonopyphonopyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsran->clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsran->clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsstructure->clusterrun_phonopyphonopyInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsout\n", - "\n", - "out\n", + "\n", + "out\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputsobj\n", - "\n", - "obj\n", + "\n", + "obj\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsout->clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputsobj\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputsobj\n", - "\n", - "obj\n", + "\n", + "obj\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structureOutputsout->clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputsobj\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsis_plusminus\n", - "\n", - "is_plusminus: Union\n", + "\n", + "is_plusminus: Union\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsis_diagonal\n", - "\n", - "is_diagonal: bool\n", + "\n", + "is_diagonal: bool\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsis_trigonal\n", - "\n", - "is_trigonal: bool\n", + "\n", + "is_trigonal: bool\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsnumber_of_snapshots\n", - "\n", - "number_of_snapshots: Optional\n", + "\n", + "number_of_snapshots: Optional\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsrandom_seed\n", - "\n", - "random_seed: Optional\n", + "\n", + "random_seed: Optional\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputstemperature\n", - "\n", - "temperature: Optional\n", + "\n", + "temperature: Optional\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputscutoff_frequency\n", - "\n", - "cutoff_frequency: Optional\n", + "\n", + "cutoff_frequency: Optional\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputInputsmax_distance\n", - "\n", - "max_distance: Optional\n", + "\n", + "max_distance: Optional\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputOutputsran->clusterrun_phonopyphonopyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputOutputsparameters\n", - "\n", - "parameters: dict\n", + "\n", + "parameters: dict\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsparameters\n", - "\n", - "parameters: Union\n", + "\n", + "parameters: Union\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy_inputOutputsparameters->clusterrun_phonopyphonopyInputsparameters\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyInputsexecutor\n", - "\n", - "executor\n", + "\n", + "executor\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsran->clusterrun_phonopycheck_consistencyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsran->clusterrun_phonopytotal_dosInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsran->clusterrun_phonopyphonopy__out_GetItem_energiesInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsphonopy\n", - "\n", - "phonopy\n", + "\n", + "phonopy\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyInputsphonopy\n", - "\n", - "phonopy\n", + "\n", + "phonopy\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsphonopy->clusterrun_phonopycheck_consistencyInputsphonopy\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosInputsphonopy\n", - "\n", - "phonopy\n", + "\n", + "phonopy\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsphonopy->clusterrun_phonopytotal_dosInputsphonopy\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsout\n", - "\n", - "out\n", + "\n", + "out\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesInputsobj\n", - "\n", - "obj\n", + "\n", + "obj\n", "\n", "\n", "\n", "clusterrun_phonopyphonopyOutputsout->clusterrun_phonopyphonopy__out_GetItem_energiesInputsobj\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyInputstolerance\n", - "\n", - "tolerance: float\n", + "\n", + "tolerance: float\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyOutputshas_imaginary_modes\n", - "\n", - "has_imaginary_modes\n", + "\n", + "has_imaginary_modes\n", "\n", "\n", "\n", "clusterrun_phonopycheck_consistencyOutputshas_imaginary_modes->clusterrun_phonopyOutputsimaginary_modes\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosInputsmesh\n", - "\n", - "mesh\n", + "\n", + "mesh\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosOutputstotal_dos\n", - "\n", - "total_dos\n", + "\n", + "total_dos\n", "\n", "\n", "\n", "clusterrun_phonopytotal_dosOutputstotal_dos->clusterrun_phonopyOutputstotal_dos\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalOutputsran->clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalOutputsgetattr\n", - "\n", - "getattr\n", + "\n", + "getattr\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputsobj\n", - "\n", - "obj\n", + "\n", + "obj\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_finalOutputsgetattr->clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputsobj\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyOutputsgetattr\n", - "\n", - "getattr\n", + "\n", + "getattr\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_final__getattr_GetAttr_energyOutputsgetattr->clusterrun_phonopyOutputsenergy_relaxed\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialOutputsran->clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialOutputsgetattr\n", - "\n", - "getattr\n", + "\n", + "getattr\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputsobj\n", - "\n", - "obj\n", + "\n", + "obj\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initialOutputsgetattr->clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputsobj\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyOutputsgetattr\n", - "\n", - "getattr\n", + "\n", + "getattr\n", "\n", "\n", "\n", "clusterrun_phonopyrelaxed_structure__out_GetAttr_initial__getattr_GetAttr_energyOutputsgetattr->clusterrun_phonopyOutputsenergy_initial\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesInputsitem\n", - "\n", - "item\n", + "\n", + "item\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesOutputsgetitem\n", - "\n", - "getitem\n", + "\n", + "getitem\n", "\n", "\n", "\n", "clusterrun_phonopyphonopy__out_GetItem_energiesOutputsgetitem->clusterrun_phonopyOutputsenergy_displaced\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 13, @@ -4109,8 +4109,8 @@ "energy: 0.8013167095856435 0.7996059979142878\n", "max_workers: 1\n", "WARNING: 3 imaginary modes exist\n", - "CPU times: user 57.3 s, sys: 8.04 s, total: 1min 5s\n", - "Wall time: 12 s\n" + "CPU times: user 58.2 s, sys: 6.67 s, total: 1min 4s\n", + "Wall time: 11.7 s\n" ] } ], @@ -4445,7 +4445,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 4.98 ms, sys: 1.71 ms, total: 6.69 ms\n", + "CPU times: user 5.7 ms, sys: 1.83 ms, total: 7.53 ms\n", "Wall time: 1.08 ms\n" ] } @@ -4471,8 +4471,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 2 µs, sys: 1e+03 ns, total: 3 µs\n", - "Wall time: 4.05 µs\n" + "CPU times: user 9 µs, sys: 0 ns, total: 9 µs\n", + "Wall time: 3.1 µs\n" ] } ], @@ -4490,40 +4490,10 @@ "metadata": {}, "outputs": [ { - "ename": "ConnectionError", - "evalue": "HTTPSConnectionPool(host='datadryad.org', port=443): Max retries exceeded with url: /stash/downloads/file_stream/88988 (Caused by NameResolutionError(\": Failed to resolve 'datadryad.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mgaierror\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connection.py:203\u001b[0m, in \u001b[0;36mHTTPConnection._new_conn\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 203\u001b[0m sock \u001b[38;5;241m=\u001b[39m \u001b[43mconnection\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_connection\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 204\u001b[0m \u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_dns_host\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mport\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 205\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 206\u001b[0m \u001b[43m \u001b[49m\u001b[43msource_address\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msource_address\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 207\u001b[0m \u001b[43m \u001b[49m\u001b[43msocket_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msocket_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 208\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 209\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m socket\u001b[38;5;241m.\u001b[39mgaierror \u001b[38;5;28;01mas\u001b[39;00m e:\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/util/connection.py:60\u001b[0m, in \u001b[0;36mcreate_connection\u001b[0;34m(address, timeout, source_address, socket_options)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m LocationParseError(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mhost\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, label empty or too long\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m---> 60\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m \u001b[43msocket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetaddrinfo\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhost\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mport\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfamily\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msocket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSOCK_STREAM\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[1;32m 61\u001b[0m af, socktype, proto, canonname, sa \u001b[38;5;241m=\u001b[39m res\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/socket.py:962\u001b[0m, in \u001b[0;36mgetaddrinfo\u001b[0;34m(host, port, family, type, proto, flags)\u001b[0m\n\u001b[1;32m 961\u001b[0m addrlist \u001b[38;5;241m=\u001b[39m []\n\u001b[0;32m--> 962\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m \u001b[43m_socket\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetaddrinfo\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhost\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mport\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfamily\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mproto\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mflags\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[1;32m 963\u001b[0m af, socktype, proto, canonname, sa \u001b[38;5;241m=\u001b[39m res\n", - "\u001b[0;31mgaierror\u001b[0m: [Errno 8] nodename nor servname provided, or not known", - "\nThe above exception was the direct cause of the following exception:\n", - "\u001b[0;31mNameResolutionError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connectionpool.py:791\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[1;32m 790\u001b[0m \u001b[38;5;66;03m# Make the request on the HTTPConnection object\u001b[39;00m\n\u001b[0;32m--> 791\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 792\u001b[0m \u001b[43m \u001b[49m\u001b[43mconn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 793\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 794\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 795\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout_obj\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 796\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 797\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 798\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 799\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 800\u001b[0m \u001b[43m \u001b[49m\u001b[43mresponse_conn\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresponse_conn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 801\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpreload_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 802\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdecode_content\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 803\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mresponse_kw\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 804\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 806\u001b[0m \u001b[38;5;66;03m# Everything went great!\u001b[39;00m\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connectionpool.py:492\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[0;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[1;32m 491\u001b[0m new_e \u001b[38;5;241m=\u001b[39m _wrap_proxy_error(new_e, conn\u001b[38;5;241m.\u001b[39mproxy\u001b[38;5;241m.\u001b[39mscheme)\n\u001b[0;32m--> 492\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m new_e\n\u001b[1;32m 494\u001b[0m \u001b[38;5;66;03m# conn.request() calls http.client.*.request, not the method in\u001b[39;00m\n\u001b[1;32m 495\u001b[0m \u001b[38;5;66;03m# urllib3.request. It also calls makefile (recv) on the socket.\u001b[39;00m\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connectionpool.py:468\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[0;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[1;32m 467\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 468\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_validate_conn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mconn\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 469\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (SocketTimeout, BaseSSLError) \u001b[38;5;28;01mas\u001b[39;00m e:\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connectionpool.py:1097\u001b[0m, in \u001b[0;36mHTTPSConnectionPool._validate_conn\u001b[0;34m(self, conn)\u001b[0m\n\u001b[1;32m 1096\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m conn\u001b[38;5;241m.\u001b[39mis_closed:\n\u001b[0;32m-> 1097\u001b[0m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1099\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m conn\u001b[38;5;241m.\u001b[39mis_verified:\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connection.py:611\u001b[0m, in \u001b[0;36mHTTPSConnection.connect\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 610\u001b[0m sock: socket\u001b[38;5;241m.\u001b[39msocket \u001b[38;5;241m|\u001b[39m ssl\u001b[38;5;241m.\u001b[39mSSLSocket\n\u001b[0;32m--> 611\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msock \u001b[38;5;241m=\u001b[39m sock \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_new_conn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 612\u001b[0m server_hostname: \u001b[38;5;28mstr\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhost\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connection.py:210\u001b[0m, in \u001b[0;36mHTTPConnection._new_conn\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 209\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m socket\u001b[38;5;241m.\u001b[39mgaierror \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m--> 210\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m NameResolutionError(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhost, \u001b[38;5;28mself\u001b[39m, e) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01me\u001b[39;00m\n\u001b[1;32m 211\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m SocketTimeout \u001b[38;5;28;01mas\u001b[39;00m e:\n", - "\u001b[0;31mNameResolutionError\u001b[0m: : Failed to resolve 'datadryad.org' ([Errno 8] nodename nor servname provided, or not known)", - "\nThe above exception was the direct cause of the following exception:\n", - "\u001b[0;31mMaxRetryError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/requests/adapters.py:486\u001b[0m, in \u001b[0;36mHTTPAdapter.send\u001b[0;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[1;32m 485\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 486\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[43mconn\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 487\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 488\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 489\u001b[0m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbody\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 490\u001b[0m \u001b[43m \u001b[49m\u001b[43mheaders\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mheaders\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 491\u001b[0m \u001b[43m \u001b[49m\u001b[43mredirect\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 492\u001b[0m \u001b[43m \u001b[49m\u001b[43massert_same_host\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 493\u001b[0m \u001b[43m \u001b[49m\u001b[43mpreload_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 494\u001b[0m \u001b[43m \u001b[49m\u001b[43mdecode_content\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 495\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 496\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 497\u001b[0m \u001b[43m \u001b[49m\u001b[43mchunked\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchunked\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 498\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (ProtocolError, \u001b[38;5;167;01mOSError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/connectionpool.py:845\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[1;32m 843\u001b[0m new_e \u001b[38;5;241m=\u001b[39m ProtocolError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnection aborted.\u001b[39m\u001b[38;5;124m\"\u001b[39m, new_e)\n\u001b[0;32m--> 845\u001b[0m retries \u001b[38;5;241m=\u001b[39m \u001b[43mretries\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mincrement\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 846\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merror\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnew_e\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_pool\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_stacktrace\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msys\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexc_info\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[1;32m 847\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 848\u001b[0m retries\u001b[38;5;241m.\u001b[39msleep()\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/urllib3/util/retry.py:515\u001b[0m, in \u001b[0;36mRetry.increment\u001b[0;34m(self, method, url, response, error, _pool, _stacktrace)\u001b[0m\n\u001b[1;32m 514\u001b[0m reason \u001b[38;5;241m=\u001b[39m error \u001b[38;5;129;01mor\u001b[39;00m ResponseError(cause)\n\u001b[0;32m--> 515\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m MaxRetryError(_pool, url, reason) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mreason\u001b[39;00m \u001b[38;5;66;03m# type: ignore[arg-type]\u001b[39;00m\n\u001b[1;32m 517\u001b[0m log\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIncremented Retry for (url=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m): \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m, url, new_retry)\n", - "\u001b[0;31mMaxRetryError\u001b[0m: HTTPSConnectionPool(host='datadryad.org', port=443): Max retries exceeded with url: /stash/downloads/file_stream/88988 (Caused by NameResolutionError(\": Failed to resolve 'datadryad.org' ([Errno 8] nodename nor servname provided, or not known)\"))", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mConnectionError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[20], line 9\u001b[0m\n\u001b[1;32m 6\u001b[0m url \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhttps://datadryad.org/stash/downloads/file_stream/88988\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 7\u001b[0m destination_file \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mec.json\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m----> 9\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mrequests\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response\u001b[38;5;241m.\u001b[39mstatus_code \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m200\u001b[39m:\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(destination_file, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mwb\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/requests/api.py:73\u001b[0m, in \u001b[0;36mget\u001b[0;34m(url, params, **kwargs)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mget\u001b[39m(url, params\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 63\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"Sends a GET request.\u001b[39;00m\n\u001b[1;32m 64\u001b[0m \n\u001b[1;32m 65\u001b[0m \u001b[38;5;124;03m :param url: URL for the new :class:`Request` object.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 70\u001b[0m \u001b[38;5;124;03m :rtype: requests.Response\u001b[39;00m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 73\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mget\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/requests/api.py:59\u001b[0m, in \u001b[0;36mrequest\u001b[0;34m(method, url, **kwargs)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we\u001b[39;00m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# cases, and look like a memory leak in others.\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m sessions\u001b[38;5;241m.\u001b[39mSession() \u001b[38;5;28;01mas\u001b[39;00m session:\n\u001b[0;32m---> 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msession\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/requests/sessions.py:589\u001b[0m, in \u001b[0;36mSession.request\u001b[0;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001b[0m\n\u001b[1;32m 584\u001b[0m send_kwargs \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 585\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtimeout\u001b[39m\u001b[38;5;124m\"\u001b[39m: timeout,\n\u001b[1;32m 586\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mallow_redirects\u001b[39m\u001b[38;5;124m\"\u001b[39m: allow_redirects,\n\u001b[1;32m 587\u001b[0m }\n\u001b[1;32m 588\u001b[0m send_kwargs\u001b[38;5;241m.\u001b[39mupdate(settings)\n\u001b[0;32m--> 589\u001b[0m resp \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprep\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msend_kwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 591\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m resp\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/requests/sessions.py:703\u001b[0m, in \u001b[0;36mSession.send\u001b[0;34m(self, request, **kwargs)\u001b[0m\n\u001b[1;32m 700\u001b[0m start \u001b[38;5;241m=\u001b[39m preferred_clock()\n\u001b[1;32m 702\u001b[0m \u001b[38;5;66;03m# Send the request\u001b[39;00m\n\u001b[0;32m--> 703\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[43madapter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 705\u001b[0m \u001b[38;5;66;03m# Total elapsed time of the request (approximately)\u001b[39;00m\n\u001b[1;32m 706\u001b[0m elapsed \u001b[38;5;241m=\u001b[39m preferred_clock() \u001b[38;5;241m-\u001b[39m start\n", - "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/site-packages/requests/adapters.py:519\u001b[0m, in \u001b[0;36mHTTPAdapter.send\u001b[0;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[1;32m 515\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e\u001b[38;5;241m.\u001b[39mreason, _SSLError):\n\u001b[1;32m 516\u001b[0m \u001b[38;5;66;03m# This branch is for urllib3 v1.22 and later.\u001b[39;00m\n\u001b[1;32m 517\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m SSLError(e, request\u001b[38;5;241m=\u001b[39mrequest)\n\u001b[0;32m--> 519\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m(e, request\u001b[38;5;241m=\u001b[39mrequest)\n\u001b[1;32m 521\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m ClosedPoolError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 522\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mConnectionError\u001b[39;00m(e, request\u001b[38;5;241m=\u001b[39mrequest)\n", - "\u001b[0;31mConnectionError\u001b[0m: HTTPSConnectionPool(host='datadryad.org', port=443): Max retries exceeded with url: /stash/downloads/file_stream/88988 (Caused by NameResolutionError(\": Failed to resolve 'datadryad.org' ([Errno 8] nodename nor servname provided, or not known)\"))" + "name": "stdout", + "output_type": "stream", + "text": [ + "File downloaded successfully\n" ] } ], @@ -4547,7 +4517,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "10ad0c84-0846-4d9d-91b8-cee47f5efef3", "metadata": {}, "outputs": [], @@ -4558,10 +4528,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "37b0972d-0ad3-4f85-8897-36f1d8d76fc2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 21.6 s, sys: 3.19 s, total: 24.7 s\n", + "Wall time: 3.34 s\n" + ] + } + ], "source": [ "%%time\n", "df_data = wf.run()['data__dataframe']" @@ -4569,17 +4548,432 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "25a0f789-1248-4280-a09a-f2c9903b06f1", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
G_ReussG_VRHG_VoigtK_ReussK_VRHK_Voigtcompliance_tensorelastic_anisotropyelastic_tensorelastic_tensor_originalformulakpoint_densitymaterial_idnsitespoisson_ratioposcarspace_groupstructurevolumeatoms
096.84453597.14160497.438674194.267623194.268884194.270146[[0.004385293093993, -0.0016070693558990002, -...0.030688[[311.33514638650246, 144.45092552856926, 126....[[311.33514638650246, 144.45092552856926, 126....Nb4CoSi7000mp-10003120.285701Nb8 Co2 Si2\\n1.0\\n6.221780 0.000000 0.000000\\n...124#\\#CIF1.1\\n###################################...194.419802(Atom('Nb', [0.94814320435623, 2.0728045157580...
193.93965096.25200698.564362173.647763175.449907177.252050[[0.0037715428949660003, -0.000844229828709, -...0.266910[[306.93357350984974, 88.02634955100905, 105.6...[[306.93357350984974, 88.02634955100905, 105.6...Al(CoSi)27000mp-1001050.268105Al1 Co2 Si2\\n1.0\\n3.932782 0.000000 0.000000\\n...164#\\#CIF1.1\\n###################################...61.987320(Atom('Al', [0.0, 0.0, 0.0], index=0), Atom('C...
2120.962289130.112955139.263621295.077545295.077545295.077545[[0.0019959391925840004, -0.000433146670736000...0.756489[[569.5291276937579, 157.8517489654999, 157.85...[[569.5291276937579, 157.8517489654999, 157.85...SiOs7000mp-1001520.307780Si1 Os1\\n1.0\\n2.960692 0.000000 0.000000\\n0.00...221#\\#CIF1.1\\n###################################...25.952539(Atom('Si', [1.4803461749999998, 1.48034617499...
312.20598915.10190117.99781249.02596349.13067049.235377[[0.021647143908635, -0.005207263618160001, -0...2.376805[[69.28798774976904, 34.7875015216915, 37.3877...[[70.13259066665267, 40.60474945058445, 37.387...Ga7000mp-1002140.360593Ga4\\n1.0\\n2.803229 0.000000 0.000000\\n0.000000...63#\\#CIF1.1\\n###################################...76.721433(Atom('Ga', [0.0, 1.09045796233546, 0.84078379...
4100.110773101.947798103.784823255.055257256.768081258.480904[[0.00410214297725, -0.001272204332729, -0.001...0.196930[[349.3767766177825, 186.67131003104407, 176.4...[[407.4791016459293, 176.4759188081947, 213.83...SiRu27000mp-10025120.324682Si4 Ru8\\n1.0\\n4.037706 0.000000 0.000000\\n0.00...62#\\#CIF1.1\\n###################################...160.300999(Atom('Si', [1.0094264625, 4.247717077057611, ...
...............................................................
117643.69736253.32978962.962216110.397752111.788114113.178476[[0.0044568832753350005, -0.001136458158149, -...2.229538[[250.07723993082595, 71.61036453717465, 44.31...[[250.07723993082595, 71.61036453717465, 44.31...Ti2CdC7000mp-996180.294196Ti4 Cd2 C2\\n1.0\\n3.103427 0.000000 0.000000\\n-...194#\\#CIF1.1\\n###################################...121.520152(Atom('Ti', [1.5517152117138742, 0.89588144411...
117766.06757870.25318274.438787101.207608101.326807101.446005[[0.007188192080993001, -0.000983458215036, -0...0.635889[[172.01931871370775, 43.38593006033102, 76.22...[[172.01931871370775, 43.38593006033102, 76.22...ScSi7000mp-996980.218412Sc4 Si4\\n1.0\\n3.996960 0.000000 0.000000\\n0.00...63#\\#CIF1.1\\n###################################...145.392095(Atom('Sc', [0.0, 8.534175787117318, 0.9174096...
117862.32676665.16045867.99414989.41635489.41816189.419968[[0.007749056578454001, -0.001293580144074, -0...0.454691[[159.44792354820547, 42.19645554837514, 66.58...[[159.44792354820547, 42.19645554837514, 66.58...YSi7000mp-997280.206850Y4 Si4\\n1.0\\n4.286685 0.000000 0.000000\\n0.000...63#\\#CIF1.1\\n###################################...174.123748(Atom('Y', [0.0, 9.084548591046719, 0.96092093...
117937.45712940.21180242.96647599.38311599.38456599.386015[[0.007456839159427001, -0.002592061077082, -0...0.735449[[170.12510286354689, 70.6116049091726, 57.026...[[170.12510286354689, 70.6116049091726, 57.026...Al2Cu7000mp-998120.321738Al8 Cu4\\n1.0\\n6.070982 0.000000 0.000000\\n0.00...140#\\#CIF1.1\\n###################################...179.147816(Atom('Al', [5.1103587633892795, 2.07486753338...
118020.27003720.68702821.10401935.93866035.93866035.938660[[0.015691632393924, -0.0032083858563950003, -...0.205718[[71.2124153391889, 18.30120539073223, 18.3030...[[71.2124153391889, 18.30120539073223, 18.3030...VCu3Se47000mp-2185580.258523V1 Cu3 Se4\\n1.0\\n5.648378 0.000000 0.000000\\n0...215#\\#CIF1.1\\n###################################...180.206796(Atom('V', [0.0, 0.0, 0.0], index=0), Atom('Cu...
\n", + "

1181 rows × 20 columns

\n", + "
" + ], + "text/plain": [ + " G_Reuss G_VRH G_Voigt K_Reuss K_VRH K_Voigt \\\n", + "0 96.844535 97.141604 97.438674 194.267623 194.268884 194.270146 \n", + "1 93.939650 96.252006 98.564362 173.647763 175.449907 177.252050 \n", + "2 120.962289 130.112955 139.263621 295.077545 295.077545 295.077545 \n", + "3 12.205989 15.101901 17.997812 49.025963 49.130670 49.235377 \n", + "4 100.110773 101.947798 103.784823 255.055257 256.768081 258.480904 \n", + "... ... ... ... ... ... ... \n", + "1176 43.697362 53.329789 62.962216 110.397752 111.788114 113.178476 \n", + "1177 66.067578 70.253182 74.438787 101.207608 101.326807 101.446005 \n", + "1178 62.326766 65.160458 67.994149 89.416354 89.418161 89.419968 \n", + "1179 37.457129 40.211802 42.966475 99.383115 99.384565 99.386015 \n", + "1180 20.270037 20.687028 21.104019 35.938660 35.938660 35.938660 \n", + "\n", + " compliance_tensor elastic_anisotropy \\\n", + "0 [[0.004385293093993, -0.0016070693558990002, -... 0.030688 \n", + "1 [[0.0037715428949660003, -0.000844229828709, -... 0.266910 \n", + "2 [[0.0019959391925840004, -0.000433146670736000... 0.756489 \n", + "3 [[0.021647143908635, -0.005207263618160001, -0... 2.376805 \n", + "4 [[0.00410214297725, -0.001272204332729, -0.001... 0.196930 \n", + "... ... ... \n", + "1176 [[0.0044568832753350005, -0.001136458158149, -... 2.229538 \n", + "1177 [[0.007188192080993001, -0.000983458215036, -0... 0.635889 \n", + "1178 [[0.007749056578454001, -0.001293580144074, -0... 0.454691 \n", + "1179 [[0.007456839159427001, -0.002592061077082, -0... 0.735449 \n", + "1180 [[0.015691632393924, -0.0032083858563950003, -... 0.205718 \n", + "\n", + " elastic_tensor \\\n", + "0 [[311.33514638650246, 144.45092552856926, 126.... \n", + "1 [[306.93357350984974, 88.02634955100905, 105.6... \n", + "2 [[569.5291276937579, 157.8517489654999, 157.85... \n", + "3 [[69.28798774976904, 34.7875015216915, 37.3877... \n", + "4 [[349.3767766177825, 186.67131003104407, 176.4... \n", + "... ... \n", + "1176 [[250.07723993082595, 71.61036453717465, 44.31... \n", + "1177 [[172.01931871370775, 43.38593006033102, 76.22... \n", + "1178 [[159.44792354820547, 42.19645554837514, 66.58... \n", + "1179 [[170.12510286354689, 70.6116049091726, 57.026... \n", + "1180 [[71.2124153391889, 18.30120539073223, 18.3030... \n", + "\n", + " elastic_tensor_original formula \\\n", + "0 [[311.33514638650246, 144.45092552856926, 126.... Nb4CoSi \n", + "1 [[306.93357350984974, 88.02634955100905, 105.6... Al(CoSi)2 \n", + "2 [[569.5291276937579, 157.8517489654999, 157.85... SiOs \n", + "3 [[70.13259066665267, 40.60474945058445, 37.387... Ga \n", + "4 [[407.4791016459293, 176.4759188081947, 213.83... SiRu2 \n", + "... ... ... \n", + "1176 [[250.07723993082595, 71.61036453717465, 44.31... Ti2CdC \n", + "1177 [[172.01931871370775, 43.38593006033102, 76.22... ScSi \n", + "1178 [[159.44792354820547, 42.19645554837514, 66.58... YSi \n", + "1179 [[170.12510286354689, 70.6116049091726, 57.026... Al2Cu \n", + "1180 [[71.2124153391889, 18.30120539073223, 18.3030... VCu3Se4 \n", + "\n", + " kpoint_density material_id nsites poisson_ratio \\\n", + "0 7000 mp-10003 12 0.285701 \n", + "1 7000 mp-10010 5 0.268105 \n", + "2 7000 mp-10015 2 0.307780 \n", + "3 7000 mp-10021 4 0.360593 \n", + "4 7000 mp-10025 12 0.324682 \n", + "... ... ... ... ... \n", + "1176 7000 mp-9961 8 0.294196 \n", + "1177 7000 mp-9969 8 0.218412 \n", + "1178 7000 mp-9972 8 0.206850 \n", + "1179 7000 mp-998 12 0.321738 \n", + "1180 7000 mp-21855 8 0.258523 \n", + "\n", + " poscar space_group \\\n", + "0 Nb8 Co2 Si2\\n1.0\\n6.221780 0.000000 0.000000\\n... 124 \n", + "1 Al1 Co2 Si2\\n1.0\\n3.932782 0.000000 0.000000\\n... 164 \n", + "2 Si1 Os1\\n1.0\\n2.960692 0.000000 0.000000\\n0.00... 221 \n", + "3 Ga4\\n1.0\\n2.803229 0.000000 0.000000\\n0.000000... 63 \n", + "4 Si4 Ru8\\n1.0\\n4.037706 0.000000 0.000000\\n0.00... 62 \n", + "... ... ... \n", + "1176 Ti4 Cd2 C2\\n1.0\\n3.103427 0.000000 0.000000\\n-... 194 \n", + "1177 Sc4 Si4\\n1.0\\n3.996960 0.000000 0.000000\\n0.00... 63 \n", + "1178 Y4 Si4\\n1.0\\n4.286685 0.000000 0.000000\\n0.000... 63 \n", + "1179 Al8 Cu4\\n1.0\\n6.070982 0.000000 0.000000\\n0.00... 140 \n", + "1180 V1 Cu3 Se4\\n1.0\\n5.648378 0.000000 0.000000\\n0... 215 \n", + "\n", + " structure volume \\\n", + "0 #\\#CIF1.1\\n###################################... 194.419802 \n", + "1 #\\#CIF1.1\\n###################################... 61.987320 \n", + "2 #\\#CIF1.1\\n###################################... 25.952539 \n", + "3 #\\#CIF1.1\\n###################################... 76.721433 \n", + "4 #\\#CIF1.1\\n###################################... 160.300999 \n", + "... ... ... \n", + "1176 #\\#CIF1.1\\n###################################... 121.520152 \n", + "1177 #\\#CIF1.1\\n###################################... 145.392095 \n", + "1178 #\\#CIF1.1\\n###################################... 174.123748 \n", + "1179 #\\#CIF1.1\\n###################################... 179.147816 \n", + "1180 #\\#CIF1.1\\n###################################... 180.206796 \n", + "\n", + " atoms \n", + "0 (Atom('Nb', [0.94814320435623, 2.0728045157580... \n", + "1 (Atom('Al', [0.0, 0.0, 0.0], index=0), Atom('C... \n", + "2 (Atom('Si', [1.4803461749999998, 1.48034617499... \n", + "3 (Atom('Ga', [0.0, 1.09045796233546, 0.84078379... \n", + "4 (Atom('Si', [1.0094264625, 4.247717077057611, ... \n", + "... ... \n", + "1176 (Atom('Ti', [1.5517152117138742, 0.89588144411... \n", + "1177 (Atom('Sc', [0.0, 8.534175787117318, 0.9174096... \n", + "1178 (Atom('Y', [0.0, 9.084548591046719, 0.96092093... \n", + "1179 (Atom('Al', [5.1103587633892795, 2.07486753338... \n", + "1180 (Atom('V', [0.0, 0.0, 0.0], index=0), Atom('Cu... \n", + "\n", + "[1181 rows x 20 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df_data" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "0ba2176d-dfa3-4522-af61-fd7e3411d9ef", "metadata": {}, "outputs": [], @@ -4602,27 +4996,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "10bbf3ba-4c61-455b-a071-35efcbadfd92", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_workers: 1\n", + "iter: add label\n" + ] + } + ], "source": [ "table_M3GNet = Workflow.create.atomistic.structure.calc.volume().iter(structure=structures) # TODO: load rather than run" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "9249849d-4685-4b33-b6ef-2536f4ab2a94", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plt.scatter(unaries.volume, table_M3GNet.volume);" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "8a36d2f6-3937-4c90-93fb-62eb54acca65", "metadata": {}, "outputs": [], @@ -4636,42 +5050,128 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "f6710a6d-e1d6-4807-b1e4-88fa14aad86a", "metadata": {}, - "outputs": [], - "source": [ - "if MATGL_PRESENT:\n", - " import warnings\n", - " warnings.filterwarnings(\"ignore\")\n", - "\n", - " out = Workflow.create.atomistic.property.elastic.elastic_constants().iter(structure=structures)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3e6f8e28-9bb2-4b8d-ab29-29b0781c536c", - "metadata": {}, - "outputs": [], - "source": [ - "if MATGL_PRESENT:\n", - " x = np.linspace(0, 500, 101)\n", - "\n", - " plt.figure(figsize=(10,5))\n", - " plt.subplot(1,2,1)\n", - " plt.scatter(out.BR, unaries.K_Reuss)\n", - " plt.scatter(out.BV, unaries.K_Voigt, c='g', marker = 'x')\n", - " plt.xlabel('$B_{Reuss}$ (M3GNet)')\n", - " plt.ylabel('$B_{Reuss}$ (DFT)')\n", - " plt.title('Bulk Modulus')\n", - " plt.plot(x, x, 'k--');\n", - "\n", - " plt.subplot(1,2,2)\n", - " x = np.linspace(0, 300, 101)\n", - "\n", - " plt.scatter(out.GR, unaries.G_Reuss)\n", - " plt.scatter(out.GV, unaries.G_Voigt, c='g', marker = 'x')\n", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n", + "max_workers: 1\n" + ] + } + ], + "source": [ + "if MATGL_PRESENT:\n", + " import warnings\n", + " warnings.filterwarnings(\"ignore\")\n", + "\n", + " out = Workflow.create.atomistic.property.elastic.elastic_constants().iter(structure=structures)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "3e6f8e28-9bb2-4b8d-ab29-29b0781c536c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if MATGL_PRESENT:\n", + " x = np.linspace(0, 500, 101)\n", + "\n", + " plt.figure(figsize=(10,5))\n", + " plt.subplot(1,2,1)\n", + " plt.scatter(out.BR, unaries.K_Reuss)\n", + " plt.scatter(out.BV, unaries.K_Voigt, c='g', marker = 'x')\n", + " plt.xlabel('$B_{Reuss}$ (M3GNet)')\n", + " plt.ylabel('$B_{Reuss}$ (DFT)')\n", + " plt.title('Bulk Modulus')\n", + " plt.plot(x, x, 'k--');\n", + "\n", + " plt.subplot(1,2,2)\n", + " x = np.linspace(0, 300, 101)\n", + "\n", + " plt.scatter(out.GR, unaries.G_Reuss)\n", + " plt.scatter(out.GV, unaries.G_Voigt, c='g', marker = 'x')\n", " plt.xlabel('$G_{Reuss}$ (M3GNet)')\n", " plt.ylabel('$G_{Reuss}$ (DFT)')\n", " plt.title('Shear Modulus')\n", @@ -4680,7 +5180,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "560c2439-b831-452c-b0f3-c42d17fb5591", "metadata": {}, "outputs": [], @@ -4699,7 +5199,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "5f9c9dae-7a97-47e5-9750-c9adfb9c1072", "metadata": {}, "outputs": [], @@ -4712,7 +5212,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "53847c37-2f8b-4ba1-bd3a-c27c9eee958a", "metadata": {}, "outputs": [], @@ -4724,7 +5224,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "24632194-6f3b-44c4-a8dd-c9ee1b9147f5", "metadata": {}, "outputs": [], @@ -4746,7 +5246,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "47cb2507-7b1e-4172-b423-4a055f0256b4", "metadata": {}, "outputs": [], @@ -4757,10 +5257,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "54dfd61f-4195-41b2-98b4-293957c7be70", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "if MATGL_PRESENT:\n", " plt.plot(result_dict['energy_pot']);" @@ -4768,10 +5279,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "id": "759b4aa7-927e-404d-a637-828298ab672f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "if MATGL_PRESENT:\n", " plt.plot(result_dict['positions'][:,:,0]);" @@ -4779,7 +5301,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "e1e34c2a-1664-41d4-82e5-57e8d7a628b5", "metadata": {}, "outputs": [], @@ -4790,7 +5312,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "id": "a9d193fd-5ad7-42dd-bde6-ee2449c5a129", "metadata": {}, "outputs": [], @@ -4824,7 +5346,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "889829b1-080b-4255-983b-62f669cf041f", "metadata": {}, "outputs": [], @@ -4834,7 +5356,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "2bd4f113-9610-4daf-9567-0a85c4ad2d65", "metadata": {}, "outputs": [], @@ -4844,7 +5366,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "dcf9026b-f620-4d55-bb9a-e14cdb38bda9", "metadata": {}, "outputs": [], @@ -4854,7 +5376,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "080d9a25-8252-411b-b274-b75212ea793e", "metadata": {}, "outputs": [], @@ -4864,7 +5386,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "839cfcf8-14e0-4772-844b-770f7a129e0e", "metadata": {}, "outputs": [], @@ -4874,7 +5396,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 44, "id": "edfdec4c-a490-4a81-af73-94a333697d50", "metadata": {}, "outputs": [], @@ -4884,10 +5406,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "6a9ff00f-5030-40e6-9296-50e4025f7332", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Function 1 called with arguments: 3, 4\n", + "7\n", + "Function 2 called with arguments: John, Doe\n", + "Hello, John Doe!\n", + "Function 3 called with argument: 5\n", + "[0, 1, 2, 3, 4]\n", + "Function 1 called with arguments: 3, 4\n", + "7\n", + "Function 1 called with arguments: 3, 4\n", + "Function 2 called with arguments: John, Doe\n", + "Function 1 called with arguments: 3, 4\n", + "Function 2 called with arguments: John, Doe\n", + "Function 3 called with argument: 5\n", + "Function 1 called with arguments: 3, 4\n", + "key1: 7\n", + "key2: Hello, John Doe!\n", + "key3: [0, 1, 2, 3, 4]\n", + "key4: 7\n" + ] + } + ], "source": [ "class LazyDict:\n", " def __init__(self, **kwargs):\n", @@ -4963,7 +5510,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "1f58da83-93f8-4df3-9b13-fe3f7756de88", "metadata": {}, "outputs": [], @@ -4976,7 +5523,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "7d836f6c-545c-4082-89b1-6a892c189884", "metadata": {}, "outputs": [], @@ -4996,7 +5543,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "123ddac3-bed1-474f-bf49-a7f20ad1c8e1", "metadata": {}, "outputs": [], @@ -5007,37 +5554,124 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "b6e76f6c-45b1-4982-8b14-ce0af3a75d2c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "InputPhonopyGenerateSupercells(distance=1, is_plusminus='auto', is_diagonal=True, is_trigonal=False, number_of_snapshots=None, random_seed=None, temperature=None, cutoff_frequency=None, max_distance=10)" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "par" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "8ade9cdc-23cd-45af-af6f-54a7504dc758", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "par.distance" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "cded0af4-4735-4e22-b1ee-cf5503a9f06d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\u001b[0;31mType:\u001b[0m InputPhonopyGenerateSupercells\n", + "\u001b[0;31mString form:\u001b[0m InputPhonopyGenerateSupercells(distance=1, is_plusminus='auto', is_diagonal=True, is_trigonal=False, number_of_snapshots=None, random_seed=None, temperature=None, cutoff_frequency=None, max_distance=10)\n", + "\u001b[0;31mDocstring:\u001b[0m \n", + "Generate displacement dataset.\n", + "\n", + "There are two modes, finite difference method with systematic\n", + "displacements and fitting approach between arbitrary displacements and\n", + "their forces. The default approach is the finite difference method that\n", + "is built-in phonopy. The fitting approach requires external force\n", + "constant calculator.\n", + "\n", + "The random displacement supercells are created by setting positive\n", + "integer values 'number_of_snapshots' keyword argument. Unless this is\n", + "specified, systematic displacements are created for the finite\n", + "difference method as the default behaviour.\n", + "\n", + "Parameters\n", + "----------\n", + "distance : float, optional\n", + " Displacement distance. Unit is the same as that used for crystal\n", + " structure. Default is 0.01.\n", + "is_plusminus : 'auto', True, or False, optional\n", + " For each atom, displacement of one direction (False), both\n", + " direction, i.e., one directiona and its opposite direction (True),\n", + " and both direction if symmetry requires ('auto'). Default is 'auto'.\n", + "is_diagonal : bool, optional\n", + " Displacements are made only along basis vectors (False) and can be\n", + " made not being along basis vectors if the number of displacements\n", + " can be reduced by symmetry (True). Default is True.\n", + "is_trigonal : bool, optional\n", + " Existing only testing purpose. Default is False.\n", + "number_of_snapshots : int or None, optional\n", + " Number of snapshots of supercells with random displacements. Random\n", + " displacements are generated displacing all atoms in random\n", + " directions with a fixed displacement distance specified by\n", + " 'distance' parameter, i.e., all atoms in supercell are displaced\n", + " with the same displacement distance in direct space. Default is\n", + " None.\n", + "random_seed : 32bit unsigned int or None, optional\n", + " Random seed for random displacements generation. Default is None.\n", + "temperature : float or None, optional\n", + " With given temperature, random displacements at temperature is\n", + " generated by sampling probability distribution from canonical\n", + " ensemble of harmonic oscillators (harmonic phonons). Default is\n", + " None.\n", + "cutoff_frequency : float or None, optional\n", + " In random displacements generation from canonical ensemble of\n", + " harmonic phonons, phonon occupation number is used to determine the\n", + " deviation of the distribution function. To avoid too large\n", + " deviation, this value is used to exclude the phonon modes whose\n", + " absolute frequency are smaller than this value. Default is None.\n", + "max_distance : float or None, optional\n", + " In random displacements generation from canonical ensemble of\n", + " harmonic phonons, displacements larger than max distance are\n", + " renormalized to the max distance, i.e., a disptalcement d is shorten\n", + " by d -> d / |d| * max_distance if |d| > max_distance." + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "par??" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "63d3eb9a-ee79-43a3-bb36-1e8460bf07e6", "metadata": {}, "outputs": [], @@ -5047,17 +5681,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "d7671f4b-1f57-4f07-9be7-1ff0955b8295", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'distance': 1}" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "par.select(keys_to_store=['distance'])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "888b113d-a7a4-41ad-acfc-efbc252eab9e", "metadata": {}, "outputs": [], @@ -5069,27 +5714,52 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "b144573b-0f23-4f0f-b900-c1a10e27b1a7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('distance', 1)\n" + ] + } + ], "source": [ "test(**par.select(keys_to_store=['distance']))" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "c842e70f-7b4a-426a-9b9c-1e9614d3d171", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('distance', 1)\n", + "('is_plusminus', 'auto')\n", + "('is_diagonal', True)\n", + "('is_trigonal', False)\n", + "('number_of_snapshots', None)\n", + "('random_seed', None)\n", + "('temperature', None)\n", + "('cutoff_frequency', None)\n", + "('max_distance', 10)\n", + "('distances', 0.2)\n" + ] + } + ], "source": [ "test(**par)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "0e4c64e2-10c5-47dd-a0ca-57f3d2b198ab", "metadata": {}, "outputs": [], @@ -5099,10 +5769,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "id": "db423749-2af5-43e7-af45-48dd356e6717", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0. , 0. , 0. ],\n", + " [0. , 2.025, 2.025],\n", + " [2.025, 0. , 2.025],\n", + " [2.025, 2.025, 0. ]])" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "Al = build.bulk('Al', cubic=True)\n", "Al.get_positions(wrap=True)" @@ -5110,7 +5794,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "5478171f-cd4e-4a18-ad9d-db6e74f861d2", "metadata": {}, "outputs": [], @@ -5121,10 +5805,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "id": "c557b3b1-9eec-48b3-a06e-f56c1a394afa", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Address(street='', city='', zip_code='')\n" + ] + } + ], "source": [ "from dataclasses import dataclass, field\n", "\n", @@ -5149,10 +5841,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "429d927d-e694-4da1-9f66-2f878bd481be", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Address(street='', city='', zip_code='')\n" + ] + } + ], "source": [ "from dataclasses import dataclass, field\n", "\n", @@ -5185,7 +5885,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "id": "39fa01fa-9ae8-4437-98d8-6b04a8a826b1", "metadata": {}, "outputs": [], @@ -5199,7 +5899,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "84e1a9ad-d324-4a75-88a5-f8b45ed7a0d7", "metadata": {}, "outputs": [], @@ -5213,7 +5913,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "a20e229c-0bf1-4d39-bd71-2929c12718f3", "metadata": {}, "outputs": [], @@ -5227,17 +5927,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "4a4f1794-05e8-4dd7-ad26-55b51f261699", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "VarFunc(func=np.sin, log_level=2).func" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "id": "fb62cfa1-3320-4d74-9e57-0ec10a55f796", "metadata": {}, "outputs": [], @@ -5259,10 +5970,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "id": "50330980-ea4d-4f40-88ee-dd752863201a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0.8414709848078965, array([1., 1., 1.]))" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "job = toy_job(1)\n", "job.get_energy(), job.get_forces()" @@ -5270,7 +5992,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "8b242761-5c56-4f9d-a08d-1d335b15e46d", "metadata": {}, "outputs": [], @@ -5306,10 +6028,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 69, "id": "6558e0f8-b2a3-488e-988f-66ac0f5fded8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "angstrom" + ], + "text/latex": [ + "$\\mathrm{angstrom}$" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import pint\n", "ureg = pint.UnitRegistry()\n", @@ -5318,7 +6057,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "id": "c5b312fd-6dd2-45a5-8c6e-ef4d9a6a9b97", "metadata": {}, "outputs": [], @@ -5356,10 +6095,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "id": "cef22996-86fd-4ed8-88e3-253a5a4ff063", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_workers: 1\n" + ] + } + ], "source": [ "# %%time\n", "df = wf.iter(\n", @@ -5372,17 +6119,101 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "id": "15426796-970d-467a-95b3-816f1067add0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cell_sizeelementvacancy_indexdisplacementdata__dataframe
01AlNaN0.01G_Reuss G_VRH G_Voigt K...
11AlNaN0.10G_Reuss G_VRH G_Voigt K...
21Al0.00.01G_Reuss G_VRH G_Voigt K...
31Al0.00.10G_Reuss G_VRH G_Voigt K...
\n", + "
" + ], + "text/plain": [ + " cell_size element vacancy_index displacement \\\n", + "0 1 Al NaN 0.01 \n", + "1 1 Al NaN 0.10 \n", + "2 1 Al 0.0 0.01 \n", + "3 1 Al 0.0 0.10 \n", + "\n", + " data__dataframe \n", + "0 G_Reuss G_VRH G_Voigt K... \n", + "1 G_Reuss G_VRH G_Voigt K... \n", + "2 G_Reuss G_VRH G_Voigt K... \n", + "3 G_Reuss G_VRH G_Voigt K... " + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "id": "89abfc53-4a70-4640-a34e-2825692ba8a6", "metadata": {}, "outputs": [], @@ -5401,12 +6232,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "id": "5e0b5714-18de-4ea6-be1f-ab1f44f9e6f5", "metadata": {}, "outputs": [], "source": [ - "@single_value_node('out')\n", + "@function_node('out')\n", "def sleep(time=1, a=None, b=10):\n", " from time import sleep\n", " \n", @@ -5416,10 +6247,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "id": "1c37d595-1060-4969-8fc9-c78548bc1963", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "@function_node('out')\n", + "def sleep(time=1, a=None, b=10):\n", + " from time import sleep\n", + " \n", + " sleep(time) \n", + " return dict(times=time, a2=a, b2=b)\n", + "\n" + ] + } + ], "source": [ "import inspect\n", "\n", @@ -5428,10 +6273,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "95d87f0c-3776-46d9-ba64-c4029be57192", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_workers: 5\n" + ] + }, + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'sleep'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m:1\u001b[0m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/node.py:855\u001b[0m, in \u001b[0;36mNode.iter\u001b[0;34m(self, max_workers, executor, **kwargs)\u001b[0m\n\u001b[1;32m 852\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(future)\n\u001b[1;32m 854\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m future \u001b[38;5;129;01min\u001b[39;00m as_completed(futures):\n\u001b[0;32m--> 855\u001b[0m out\u001b[38;5;241m.\u001b[39mappend(\u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 856\u001b[0m out_index\u001b[38;5;241m.\u001b[39mappend(future_index_map[future])\n\u001b[1;32m 858\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(out) \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/concurrent/futures/_base.py:449\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 448\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 449\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 451\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n\u001b[1;32m 453\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;129;01min\u001b[39;00m [CANCELLED, CANCELLED_AND_NOTIFIED]:\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/concurrent/futures/_base.py:401\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 399\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 400\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 401\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 403\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 404\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/concurrent/futures/thread.py:58\u001b[0m, in \u001b[0;36m_WorkItem.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 58\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39mset_exception(exc)\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/node.py:921\u001b[0m, in \u001b[0;36mfunc\u001b[0;34m(node, **kwargs)\u001b[0m\n\u001b[1;32m 919\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfunc\u001b[39m(node, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 920\u001b[0m \u001b[38;5;66;03m# print(\"func (node): \", node, kwargs)\u001b[39;00m\n\u001b[0;32m--> 921\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnode\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mrun()\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/snippets/has_post.py:16\u001b[0m, in \u001b[0;36mHasPost.__call__\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 14\u001b[0m instance \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m post \u001b[38;5;241m:=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mcls\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__post__\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[0;32m---> 16\u001b[0m \u001b[43mpost\u001b[49m\u001b[43m(\u001b[49m\u001b[43minstance\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m instance\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/node.py:350\u001b[0m, in \u001b[0;36mNode.__post__\u001b[0;34m(self, overwrite_save, run_after_init, *args, **kwargs)\u001b[0m\n\u001b[1;32m 348\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 349\u001b[0m \u001b[38;5;66;03m# Else neither loading nor running now -- no action required!\u001b[39;00m\n\u001b[0;32m--> 350\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgraph_root\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtidy_working_directory\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/working.py:33\u001b[0m, in \u001b[0;36mHasWorkingDirectory.tidy_working_directory\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;124;03mIf the working directory is completely empty, deletes it.\u001b[39;00m\n\u001b[1;32m 31\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mworking_directory\u001b[38;5;241m.\u001b[39mis_empty():\n\u001b[0;32m---> 33\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mworking_directory\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdelete\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_working_directory \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/snippets/files.py:89\u001b[0m, in \u001b[0;36mDirectoryObject.delete\u001b[0;34m(self, only_if_empty)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdelete\u001b[39m(\u001b[38;5;28mself\u001b[39m, only_if_empty: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mis_empty() \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m only_if_empty:\n\u001b[0;32m---> 89\u001b[0m \u001b[43mdelete_files_and_directories_recursively\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpath\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/snippets/files.py:9\u001b[0m, in \u001b[0;36mdelete_files_and_directories_recursively\u001b[0;34m(path)\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m path\u001b[38;5;241m.\u001b[39mexists():\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m----> 9\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mpath\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrglob\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m*\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mis_file\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43munlink\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:968\u001b[0m, in \u001b[0;36mPath.rglob\u001b[0;34m(self, pattern)\u001b[0m\n\u001b[1;32m 966\u001b[0m pattern_parts\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 967\u001b[0m selector \u001b[38;5;241m=\u001b[39m _make_selector((\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m**\u001b[39m\u001b[38;5;124m\"\u001b[39m,) \u001b[38;5;241m+\u001b[39m \u001b[38;5;28mtuple\u001b[39m(pattern_parts), \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_flavour)\n\u001b[0;32m--> 968\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mselector\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mselect_from\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 969\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:408\u001b[0m, in \u001b[0;36m_RecursiveWildcardSelector._select_from\u001b[0;34m(self, parent_path, is_dir, exists, scandir)\u001b[0m\n\u001b[1;32m 406\u001b[0m successor_select \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msuccessor\u001b[38;5;241m.\u001b[39m_select_from\n\u001b[1;32m 407\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m starting_point \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_iterate_directories(parent_path, is_dir, scandir):\n\u001b[0;32m--> 408\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43msuccessor_select\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstarting_point\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_dir\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexists\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mscandir\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 409\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43myielded\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 410\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:355\u001b[0m, in \u001b[0;36m_WildcardSelector._select_from\u001b[0;34m(self, parent_path, is_dir, exists, scandir)\u001b[0m\n\u001b[1;32m 353\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_select_from\u001b[39m(\u001b[38;5;28mself\u001b[39m, parent_path, is_dir, exists, scandir):\n\u001b[1;32m 354\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 355\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[43mscandir\u001b[49m\u001b[43m(\u001b[49m\u001b[43mparent_path\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m scandir_it:\n\u001b[1;32m 356\u001b[0m entries \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(scandir_it)\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m entry \u001b[38;5;129;01min\u001b[39;00m entries:\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:938\u001b[0m, in \u001b[0;36mPath._scandir\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 934\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_scandir\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 935\u001b[0m \u001b[38;5;66;03m# bpo-24132: a future version of pathlib will support subclassing of\u001b[39;00m\n\u001b[1;32m 936\u001b[0m \u001b[38;5;66;03m# pathlib.Path to customize how the filesystem is accessed. This\u001b[39;00m\n\u001b[1;32m 937\u001b[0m \u001b[38;5;66;03m# includes scandir(), which is used to implement glob().\u001b[39;00m\n\u001b[0;32m--> 938\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m os\u001b[38;5;241m.\u001b[39mscandir(\u001b[38;5;28mself\u001b[39m)\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'sleep'" + ] + } + ], "source": [ "%%time\n", "sleep().iter(a=[1,2,3,4,5], max_workers=5, executor=1)" @@ -5439,7 +6317,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "9556bca8-a7aa-4df6-a1b3-13f6c6bfae38", "metadata": {}, "outputs": [], @@ -5451,7 +6329,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "id": "78a1c63a-0805-4e98-b2ab-0353bf753b72", "metadata": {}, "outputs": [], @@ -5470,7 +6348,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "id": "2aa23533-8b09-46fa-8e9b-0fdc0b75d812", "metadata": {}, "outputs": [], @@ -5514,7 +6392,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 80, "id": "4fcc2d23-bdbb-4764-bbdb-ac941ed398d1", "metadata": {}, "outputs": [], @@ -5548,10 +6426,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "id": "eb9a7e6f-2171-4d4b-9804-58d09bdd8206", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'sleep'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[81], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;43miter\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43msleep\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_workers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mb\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[80], line 20\u001b[0m, in \u001b[0;36miter\u001b[0;34m(node, max_workers, **kwargs)\u001b[0m\n\u001b[1;32m 17\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(future)\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m future \u001b[38;5;129;01min\u001b[39;00m as_completed(futures):\n\u001b[0;32m---> 20\u001b[0m out\u001b[38;5;241m.\u001b[39mappend(\u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 21\u001b[0m out_index\u001b[38;5;241m.\u001b[39mappend(future_index_map[future])\n\u001b[1;32m 23\u001b[0m df_out \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame(out, index\u001b[38;5;241m=\u001b[39mout_index)\u001b[38;5;241m.\u001b[39msort_index()\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/concurrent/futures/_base.py:449\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 448\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 449\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 451\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n\u001b[1;32m 453\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;129;01min\u001b[39;00m [CANCELLED, CANCELLED_AND_NOTIFIED]:\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/concurrent/futures/_base.py:401\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 399\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 400\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 401\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 403\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 404\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/concurrent/futures/thread.py:58\u001b[0m, in \u001b[0;36m_WorkItem.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 58\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39mset_exception(exc)\n", + "Cell \u001b[0;32mIn[78], line 2\u001b[0m, in \u001b[0;36mfunc\u001b[0;34m(node, **kwargs)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfunc\u001b[39m(node, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnode\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mrun()\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/snippets/has_post.py:16\u001b[0m, in \u001b[0;36mHasPost.__call__\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 14\u001b[0m instance \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m post \u001b[38;5;241m:=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mcls\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__post__\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[0;32m---> 16\u001b[0m \u001b[43mpost\u001b[49m\u001b[43m(\u001b[49m\u001b[43minstance\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m instance\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/node.py:350\u001b[0m, in \u001b[0;36mNode.__post__\u001b[0;34m(self, overwrite_save, run_after_init, *args, **kwargs)\u001b[0m\n\u001b[1;32m 348\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 349\u001b[0m \u001b[38;5;66;03m# Else neither loading nor running now -- no action required!\u001b[39;00m\n\u001b[0;32m--> 350\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgraph_root\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtidy_working_directory\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/working.py:33\u001b[0m, in \u001b[0;36mHasWorkingDirectory.tidy_working_directory\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;124;03mIf the working directory is completely empty, deletes it.\u001b[39;00m\n\u001b[1;32m 31\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mworking_directory\u001b[38;5;241m.\u001b[39mis_empty():\n\u001b[0;32m---> 33\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mworking_directory\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdelete\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_working_directory \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/snippets/files.py:89\u001b[0m, in \u001b[0;36mDirectoryObject.delete\u001b[0;34m(self, only_if_empty)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdelete\u001b[39m(\u001b[38;5;28mself\u001b[39m, only_if_empty: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mis_empty() \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m only_if_empty:\n\u001b[0;32m---> 89\u001b[0m \u001b[43mdelete_files_and_directories_recursively\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpath\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/python_projects/git_libs/pyiron_workflow/pyiron_workflow/snippets/files.py:9\u001b[0m, in \u001b[0;36mdelete_files_and_directories_recursively\u001b[0;34m(path)\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m path\u001b[38;5;241m.\u001b[39mexists():\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m----> 9\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mpath\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrglob\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m*\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mis_file\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43munlink\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:968\u001b[0m, in \u001b[0;36mPath.rglob\u001b[0;34m(self, pattern)\u001b[0m\n\u001b[1;32m 966\u001b[0m pattern_parts\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 967\u001b[0m selector \u001b[38;5;241m=\u001b[39m _make_selector((\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m**\u001b[39m\u001b[38;5;124m\"\u001b[39m,) \u001b[38;5;241m+\u001b[39m \u001b[38;5;28mtuple\u001b[39m(pattern_parts), \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_flavour)\n\u001b[0;32m--> 968\u001b[0m \u001b[43m\u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mselector\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mselect_from\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 969\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:408\u001b[0m, in \u001b[0;36m_RecursiveWildcardSelector._select_from\u001b[0;34m(self, parent_path, is_dir, exists, scandir)\u001b[0m\n\u001b[1;32m 406\u001b[0m successor_select \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msuccessor\u001b[38;5;241m.\u001b[39m_select_from\n\u001b[1;32m 407\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m starting_point \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_iterate_directories(parent_path, is_dir, scandir):\n\u001b[0;32m--> 408\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43msuccessor_select\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstarting_point\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mis_dir\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexists\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mscandir\u001b[49m\u001b[43m)\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 409\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43myielded\u001b[49m\u001b[43m:\u001b[49m\n\u001b[1;32m 410\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01myield\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:355\u001b[0m, in \u001b[0;36m_WildcardSelector._select_from\u001b[0;34m(self, parent_path, is_dir, exists, scandir)\u001b[0m\n\u001b[1;32m 353\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_select_from\u001b[39m(\u001b[38;5;28mself\u001b[39m, parent_path, is_dir, exists, scandir):\n\u001b[1;32m 354\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 355\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[43mscandir\u001b[49m\u001b[43m(\u001b[49m\u001b[43mparent_path\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m scandir_it:\n\u001b[1;32m 356\u001b[0m entries \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(scandir_it)\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m entry \u001b[38;5;129;01min\u001b[39;00m entries:\n", + "File \u001b[0;32m~/mambaforge/envs/intel11/lib/python3.11/pathlib.py:938\u001b[0m, in \u001b[0;36mPath._scandir\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 934\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_scandir\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 935\u001b[0m \u001b[38;5;66;03m# bpo-24132: a future version of pathlib will support subclassing of\u001b[39;00m\n\u001b[1;32m 936\u001b[0m \u001b[38;5;66;03m# pathlib.Path to customize how the filesystem is accessed. This\u001b[39;00m\n\u001b[1;32m 937\u001b[0m \u001b[38;5;66;03m# includes scandir(), which is used to implement glob().\u001b[39;00m\n\u001b[0;32m--> 938\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m os\u001b[38;5;241m.\u001b[39mscandir(\u001b[38;5;28mself\u001b[39m)\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'sleep'" + ] + } + ], "source": [ "iter(sleep, max_workers=10, a=[1,2,3,4], b=[1,3])" ] @@ -5803,7 +6707,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.12.2" } }, "nbformat": 4, diff --git a/notebooks/pyiron_like_workflows.ipynb b/notebooks/pyiron_like_workflows.ipynb index a6d642e1..ad591717 100644 --- a/notebooks/pyiron_like_workflows.ipynb +++ b/notebooks/pyiron_like_workflows.ipynb @@ -40,8 +40,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 1e+03 ns, sys: 1e+03 ns, total: 2 µs\n", - "Wall time: 4.05 µs\n" + "CPU times: user 1 µs, sys: 1 µs, total: 2 µs\n", + "Wall time: 5.25 µs\n" ] } ], @@ -78,7 +78,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "28fd6e6072d94b8fa369c99c72fa82e1", + "model_id": "02a18a9f7aba4c2798f9eda7b8a32670", "version_major": 2, "version_minor": 0 }, @@ -169,1073 +169,1073 @@ "\n", "\n", - "\n", - "\n", + "\n", + "\n", "clusterlammps\n", - "\n", - "lammps: Lammps\n", - "\n", - "clusterlammpscalc__calculator_GetAttr__mode\n", + "\n", + "lammps: Lammps\n", + "\n", + "clusterlammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "calc__calculator_GetAttr__mode: GetAttr\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpscalc__calculator_GetAttr__modeInputs\n", + "\n", + "clusterlammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpscalc__calculator_GetAttr__modeOutputs\n", + "\n", + "clusterlammpsstructure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "structure: UserInput\n", "\n", - "\n", - "clusterlammpsListPotentials\n", + "\n", + "clusterlammpsstructureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "ListPotentials: ListPotentials\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsListPotentialsInputs\n", + "\n", + "clusterlammpsstructureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsListPotentialsOutputs\n", + "\n", + "clusterlammpspotential\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "potential: UserInput\n", "\n", - "\n", - "clusterlammpsParseLogFile\n", + "\n", + "clusterlammpspotentialInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "ParseLogFile: ParseLogFile\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsParseLogFileInputs\n", + "\n", + "clusterlammpspotentialOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsParseLogFileOutputs\n", + "\n", + "clusterlammpsPotential\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Potential: Potential\n", "\n", - "\n", - "clusterlammpsParseDumpFile\n", + "\n", + "clusterlammpsPotentialOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "ParseDumpFile: ParseDumpFile\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsParseDumpFileInputs\n", + "\n", + "clusterlammpsPotentialInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsParseDumpFileOutputs\n", + "\n", + "clusterlammpscalc\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "calc: CalcStatic\n", "\n", - "\n", - "clusterlammpsInputs\n", + "\n", + "clusterlammpscalcInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsOutputs\n", + "\n", + "clusterlammpscalcOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsstructure\n", + "\n", + "clusterlammpsInitLammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "structure: UserInput\n", + "\n", + "InitLammps: InitLammps\n", "\n", - "\n", - "clusterlammpsstructureInputs\n", + "\n", + "clusterlammpsInitLammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsstructureOutputs\n", + "\n", + "clusterlammpsInitLammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpspotential\n", + "\n", + "clusterlammpsShell\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "potential: UserInput\n", + "\n", + "Shell: Shell\n", "\n", - "\n", - "clusterlammpspotentialInputs\n", + "\n", + "clusterlammpsShellInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpspotentialOutputs\n", + "\n", + "clusterlammpsShellOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsPotential\n", + "\n", + "clusterlammpsCollect\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Potential: Potential\n", + "\n", + "Collect: Collect\n", "\n", - "\n", - "clusterlammpsPotentialInputs\n", + "\n", + "clusterlammpsCollectInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsPotentialOutputs\n", + "\n", + "clusterlammpsCollectOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpscalc\n", + "\n", + "clusterlammpsParseLogFile\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "calc: CalcStatic\n", + "\n", + "ParseLogFile: ParseLogFile\n", "\n", - "\n", - "clusterlammpscalcInputs\n", + "\n", + "clusterlammpsParseLogFileInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpscalcOutputs\n", + "\n", + "clusterlammpsParseLogFileOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsInitLammps\n", + "\n", + "clusterlammpsParseDumpFile\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "InitLammps: InitLammps\n", + "\n", + "ParseDumpFile: ParseDumpFile\n", "\n", - "\n", - "clusterlammpsInitLammpsInputs\n", + "\n", + "clusterlammpsParseDumpFileInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsInitLammpsOutputs\n", + "\n", + "clusterlammpsParseDumpFileOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsShell\n", + "\n", + "clusterlammpsListPotentials\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "Shell: Shell\n", + "\n", + "ListPotentials: ListPotentials\n", "\n", - "\n", - "clusterlammpsShellOutputs\n", + "\n", + "clusterlammpsListPotentialsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsShellInputs\n", + "\n", + "clusterlammpsListPotentialsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterlammpsCollect\n", + "\n", + "clusterlammpscalc__calculator_GetAttr_mode\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Collect: Collect\n", + "\n", + "calc__calculator_GetAttr_mode: GetAttr\n", "\n", - "\n", - "clusterlammpsCollectInputs\n", + "\n", + "clusterlammpscalc__calculator_GetAttr_modeInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterlammpsCollectOutputs\n", + "\n", + "clusterlammpscalc__calculator_GetAttr_modeOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "\n", "clusterlammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterlammpsstructureInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterlammpsInputsstructure->clusterlammpsstructureInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsInputspotential\n", - "\n", - "potential\n", + "\n", + "potential\n", "\n", "\n", "\n", "clusterlammpspotentialInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterlammpsInputspotential->clusterlammpspotentialInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsOutputsgeneric\n", - "\n", - "generic\n", + "\n", + "generic\n", "\n", "\n", "\n", "clusterlammpsstructureInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsstructureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsPotentialInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsran->clusterlammpsPotentialInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsListPotentialsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsran->clusterlammpsListPotentialsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsInitLammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsran->clusterlammpsInitLammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterlammpsPotentialInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsuser_input->clusterlammpsPotentialInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsListPotentialsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsuser_input->clusterlammpsListPotentialsInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsInitLammpsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterlammpsstructureOutputsuser_input->clusterlammpsInitLammpsInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpspotentialInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpspotentialOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpspotentialInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpspotentialOutputsran->clusterlammpsPotentialInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpspotentialOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterlammpsPotentialInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", "\n", "clusterlammpspotentialOutputsuser_input->clusterlammpsPotentialInputsname\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsPotentialInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsPotentialOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsPotentialInputsindex\n", - "\n", - "index\n", + "\n", + "index\n", "\n", "\n", "\n", "clusterlammpsPotentialOutputsran->clusterlammpsInitLammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsPotentialOutputspotential\n", - "\n", - "potential\n", + "\n", + "potential\n", "\n", "\n", "\n", "clusterlammpsInitLammpsInputspotential\n", - "\n", - "potential\n", + "\n", + "potential\n", "\n", "\n", "\n", "clusterlammpsPotentialOutputspotential->clusterlammpsInitLammpsInputspotential\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsListPotentialsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsListPotentialsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsListPotentialsOutputspotentials\n", - "\n", - "potentials\n", + "\n", + "potentials\n", "\n", "\n", "\n", "clusterlammpscalcInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpscalcOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpscalcInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpscalcInputscalculator_input\n", - "\n", - "calculator_input: Union\n", + "\n", + "calculator_input: Union\n", "\n", "\n", "\n", "clusterlammpscalcOutputsran->clusterlammpsInitLammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterlammpscalc__calculator_GetAttr_modeInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalcOutputsran->clusterlammpscalc__calculator_GetAttr__modeInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "clusterlammpscalcOutputsran->clusterlammpscalc__calculator_GetAttr_modeInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpscalcOutputscalculator\n", - "\n", - "calculator\n", + "\n", + "calculator\n", "\n", "\n", "\n", "clusterlammpsInitLammpsInputscalculator\n", - "\n", - "calculator\n", + "\n", + "calculator\n", "\n", "\n", "\n", "clusterlammpscalcOutputscalculator->clusterlammpsInitLammpsInputscalculator\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeInputsobj\n", - "\n", - "obj\n", + "clusterlammpscalc__calculator_GetAttr_modeInputsobj\n", + "\n", + "obj\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalcOutputscalculator->clusterlammpscalc__calculator_GetAttr__modeInputsobj\n", - "\n", - "\n", - "\n", + "clusterlammpscalcOutputscalculator->clusterlammpscalc__calculator_GetAttr_modeInputsobj\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsInitLammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsInitLammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsInitLammpsInputsworking_directory\n", - "\n", - "working_directory\n", + "\n", + "working_directory\n", "\n", "\n", "\n", "clusterlammpsShellInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsInitLammpsOutputsran->clusterlammpsShellInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsInitLammpsOutputspath\n", - "\n", - "path\n", + "\n", + "path\n", "\n", "\n", "\n", "clusterlammpsShellInputsworking_directory\n", - "\n", - "working_directory: str\n", + "\n", + "working_directory: str\n", "\n", "\n", "\n", "clusterlammpsInitLammpsOutputspath->clusterlammpsShellInputsworking_directory\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsInitLammpsOutputsbla\n", - "\n", - "bla\n", + "\n", + "bla\n", "\n", "\n", "\n", "clusterlammpsShellInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsShellOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsShellInputscommand\n", - "\n", - "command: str\n", + "\n", + "command: str\n", "\n", "\n", "\n", "clusterlammpsShellInputsenvironment\n", - "\n", - "environment: Optional\n", + "\n", + "environment: Optional\n", "\n", "\n", "\n", "clusterlammpsShellInputsarguments\n", - "\n", - "arguments: Optional\n", + "\n", + "arguments: Optional\n", "\n", "\n", "\n", "clusterlammpsParseLogFileInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsShellOutputsran->clusterlammpsParseLogFileInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsShellOutputsran->clusterlammpsParseDumpFileInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsShellOutputsoutput\n", - "\n", - "output\n", + "\n", + "output\n", "\n", "\n", "\n", "clusterlammpsShellOutputsdump\n", - "\n", - "dump\n", + "\n", + "dump\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileInputsdump_file\n", - "\n", - "dump_file\n", + "\n", + "dump_file\n", "\n", "\n", "\n", "clusterlammpsShellOutputsdump->clusterlammpsParseDumpFileInputsdump_file\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsShellOutputslog\n", - "\n", - "log\n", + "\n", + "log\n", "\n", "\n", "\n", "clusterlammpsParseLogFileInputslog_file\n", - "\n", - "log_file\n", + "\n", + "log_file\n", "\n", "\n", "\n", "clusterlammpsShellOutputslog->clusterlammpsParseLogFileInputslog_file\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsParseLogFileInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsParseLogFileOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsCollectInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterlammpsParseLogFileOutputsran->clusterlammpsCollectInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsParseLogFileOutputslog\n", - "\n", - "log\n", + "\n", + "log\n", "\n", "\n", "\n", "clusterlammpsCollectInputsout_log\n", - "\n", - "out_log\n", + "\n", + "out_log\n", "\n", "\n", "\n", "clusterlammpsParseLogFileOutputslog->clusterlammpsCollectInputsout_log\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileOutputsran->clusterlammpsCollectInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileOutputsdump\n", - "\n", - "dump\n", + "\n", + "dump\n", "\n", "\n", "\n", "clusterlammpsCollectInputsout_dump\n", - "\n", - "out_dump\n", + "\n", + "out_dump\n", "\n", "\n", "\n", "clusterlammpsParseDumpFileOutputsdump->clusterlammpsCollectInputsout_dump\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeInputsrun\n", - "\n", - "run\n", + "clusterlammpscalc__calculator_GetAttr_modeInputsrun\n", + "\n", + "run\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeOutputsran\n", - "\n", - "ran\n", + "clusterlammpscalc__calculator_GetAttr_modeOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeInputsname\n", - "\n", - "name\n", + "clusterlammpscalc__calculator_GetAttr_modeInputsname\n", + "\n", + "name\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeOutputsran->clusterlammpsCollectInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "clusterlammpscalc__calculator_GetAttr_modeOutputsran->clusterlammpsCollectInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeOutputsgetattr\n", - "\n", - "getattr\n", + "clusterlammpscalc__calculator_GetAttr_modeOutputsgetattr\n", + "\n", + "getattr\n", "\n", "\n", "\n", "clusterlammpsCollectInputscalc_mode\n", - "\n", - "calc_mode\n", + "\n", + "calc_mode\n", "\n", - "\n", + "\n", "\n", - "clusterlammpscalc__calculator_GetAttr__modeOutputsgetattr->clusterlammpsCollectInputscalc_mode\n", - "\n", - "\n", - "\n", + "clusterlammpscalc__calculator_GetAttr_modeOutputsgetattr->clusterlammpsCollectInputscalc_mode\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterlammpsCollectInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterlammpsCollectOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterlammpsCollectInputsbla\n", - "\n", - "bla\n", + "\n", + "bla\n", "\n", "\n", "\n", "clusterlammpsCollectOutputsgeneric\n", - "\n", - "generic\n", + "\n", + "generic\n", "\n", "\n", "\n", "clusterlammpsCollectOutputsgeneric->clusterlammpsOutputsgeneric\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -1275,11 +1275,113 @@ "outputs": [ { "data": { + "application/json": { + "connected": true, + "fully_connected": false, + "inputs": { + "channels": { + "bla": { + "connected": false, + "connections": [], + "label": "bla", + "ready": true, + "type_hint": "None", + "value": "''" + }, + "calc_mode": { + "connected": true, + "connections": [ + "calc__calculator_GetAttr_mode.getattr" + ], + "label": "calc_mode", + "ready": true, + "type_hint": "str | pyiron_atomistics.lammps.control.LammpsControl | pyiron_workflow.node_library.atomistic.calculator.data.InputCalcMinimize | pyiron_workflow.node_library.atomistic.calculator.data.InputCalcMD | pyiron_workflow.node_library.atomistic.calculator.data.InputCalcStatic", + "value": "'static'" + }, + "out_dump": { + "connected": true, + "connections": [ + "ParseDumpFile.dump" + ], + "label": "out_dump", + "ready": true, + "type_hint": "None", + "value": "[]" + }, + "out_log": { + "connected": true, + "connections": [ + "ParseLogFile.log" + ], + "label": "out_log", + "ready": true, + "type_hint": "None", + "value": "[ Step Temp PotEng TotEng Pxx Pxy Pxz Pyy \\\n0 0 0 -13.44 -13.44 0.039998 -1.740479e-11 -1.606596e-11 0.039998 \n\n Pyz Pzz Volume \n0 -4.016491e-12 0.039998 66.430125 ]" + } + }, + "connected": true, + "fully_connected": false, + "label": "Inputs", + "ready": true + }, + "label": "Collect", + "outputs": { + "channels": { + "generic": { + "connected": false, + "connections": [], + "label": "generic", + "ready": true, + "type_hint": "None", + "value": "OutputCalcStatic(energy_pot=-13.4399999882896, force=array([[-5.55111512e-17, 0.00000000e+00, 0.00000000e+00],\n [ 0.00000000e+00, 8.32667268e-17, -5.55111512e-17],\n [ 5.55111512e-17, -5.55111512e-17, -1.66533454e-16],\n [ 0.00000000e+00, -2.22044605e-16, 2.77555756e-17]]), stress=None, structure=None, atomic_energies=None)" + } + }, + "connected": false, + "fully_connected": false, + "label": "Outputs", + "ready": true + }, + "ready": true, + "signals": { + "input": { + "channels": { + "accumulate_and_run": { + "callback": "run", + "connected": true, + "connections": [ + "ParseLogFile.ran", + "calc__calculator_GetAttr_mode.ran", + "ParseDumpFile.ran" + ], + "label": "accumulate_and_run" + }, + "run": { + "callback": "run", + "connected": false, + "connections": [], + "label": "run" + } + }, + "connected": true, + "fully_connected": false, + "label": "InputSignals" + }, + "output": { + "channels": { + "ran": { + "connected": false, + "connections": [], + "label": "ran" + } + }, + "connected": false, + "fully_connected": false, + "label": "OutputSignals" + } + } + }, "text/plain": [ - "OutputCalcStatic(energy_pot=-13.4399999882896, force=array([[-5.55111512e-17, 0.00000000e+00, 0.00000000e+00],\n", - " [ 0.00000000e+00, 8.32667268e-17, -5.55111512e-17],\n", - " [ 5.55111512e-17, -5.55111512e-17, -1.66533454e-16],\n", - " [ 0.00000000e+00, -2.22044605e-16, 2.77555756e-17]]), stress=None, structure=None, atomic_energies=None)" + "" ] }, "execution_count": 9, @@ -1306,1626 +1408,1472 @@ "\n", "\n", - "\n", - "\n", + "\n", + "\n", "clusterLammps\n", - "\n", - "Lammps: Workflow\n", + "\n", + "Lammps: Workflow\n", "\n", "clusterLammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterLammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterLammpsstructure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "structure: bulk\n", + "\n", + "structure: bulk\n", "\n", "\n", "clusterLammpsstructureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterLammpsstructureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterLammpsrepeat\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "repeat: repeat\n", + "\n", + "repeat: repeat\n", "\n", - "\n", - "clusterLammpsrepeatOutputs\n", + "\n", + "clusterLammpsrepeatInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsrepeatInputs\n", + "\n", + "clusterLammpsrepeatOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterLammpslammps\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "lammps: Lammps\n", - "\n", - "\n", - "clusterLammpscalc__calculator_GetAttr__modelammps\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "calc__calculator_GetAttr__mode: GetAttr\n", - "\n", - "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsOutputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Outputs\n", - "\n", - "\n", - "clusterLammpslammpsInputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Inputs\n", - "\n", - "\n", - "clusterLammpslammpsOutputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Outputs\n", + "\n", + "lammps: Lammps\n", "\n", - "\n", - "clusterLammpsstructurelammps\n", + "\n", + "clusterLammpscalclammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "structure: UserInput\n", + "\n", + "calc: CalcStatic\n", "\n", - "\n", - "clusterLammpsstructurelammpsInputs\n", + "\n", + "clusterLammpscalclammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsstructurelammpsOutputs\n", + "\n", + "clusterLammpscalclammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpspotentiallammps\n", + "\n", + "clusterLammpsShelllammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "potential: UserInput\n", + "\n", + "Shell: Shell\n", "\n", - "\n", - "clusterLammpspotentiallammpsInputs\n", + "\n", + "clusterLammpsShelllammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpspotentiallammpsOutputs\n", + "\n", + "clusterLammpsShelllammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpsPotentiallammps\n", + "\n", + "clusterLammpsInitLammpslammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Potential: Potential\n", + "\n", + "InitLammps: InitLammps\n", "\n", - "\n", - "clusterLammpsPotentiallammpsInputs\n", + "\n", + "clusterLammpsInitLammpslammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsPotentiallammpsOutputs\n", + "\n", + "clusterLammpsInitLammpslammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterLammpsParseLogFilelammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "ParseLogFile: ParseLogFile\n", + "\n", + "ParseLogFile: ParseLogFile\n", "\n", "\n", "clusterLammpsParseLogFilelammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterLammpsParseLogFilelammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterLammpsParseDumpFilelammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "ParseDumpFile: ParseDumpFile\n", + "\n", + "ParseDumpFile: ParseDumpFile\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "clusterLammpsCollectlammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Collect: Collect\n", + "\n", + "Collect: Collect\n", "\n", "\n", "clusterLammpsCollectlammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", "clusterLammpsCollectlammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpsListPotentialslammps\n", + "\n", + "clusterLammpslammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "ListPotentials: ListPotentials\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsListPotentialslammpsInputs\n", + "\n", + "clusterLammpslammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpsListPotentialslammpsOutputs\n", + "\n", + "clusterLammpsstructurelammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "structure: UserInput\n", "\n", - "\n", - "clusterLammpsInitLammpslammps\n", + "\n", + "clusterLammpsstructurelammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "InitLammps: InitLammps\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsInitLammpslammpsInputs\n", + "\n", + "clusterLammpsstructurelammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpsInitLammpslammpsOutputs\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Outputs\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammps\n", + "\n", + "clusterLammpspotentiallammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Collect__generic_GetAttr__ipython_canary_method_should_not_exist_: GetAttr\n", + "\n", + "potential: UserInput\n", "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsInputs\n", + "\n", + "clusterLammpspotentiallammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsOutputs\n", + "\n", + "clusterLammpspotentiallammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammps\n", + "\n", + "clusterLammpsPotentiallammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Collect__generic_GetAttr__ipython_display_: GetAttr\n", + "\n", + "Potential: Potential\n", "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsInputs\n", + "\n", + "clusterLammpsPotentiallammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsOutputs\n", + "\n", + "clusterLammpsPotentiallammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpscalclammps\n", + "\n", + "clusterLammpsListPotentialslammps\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "calc: CalcStatic\n", + "\n", + "ListPotentials: ListPotentials\n", "\n", - "\n", - "clusterLammpscalclammpsInputs\n", + "\n", + "clusterLammpsListPotentialslammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpscalclammpsOutputs\n", + "\n", + "clusterLammpsListPotentialslammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", - "clusterLammpsShelllammps\n", + "\n", + "clusterLammpscalc__calculator_GetAttr_modelammps\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "Shell: Shell\n", + "\n", + "calc__calculator_GetAttr_mode: GetAttr\n", "\n", - "\n", - "clusterLammpsShelllammpsInputs\n", + "\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterLammpsShelllammpsOutputs\n", + "\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", "\n", "clusterLammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__name\n", - "\n", - "structure__name\n", + "\n", + "structure__name\n", "\n", "\n", "\n", "clusterLammpsstructureInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__name->clusterLammpsstructureInputsname\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__crystalstructure\n", - "\n", - "structure__crystalstructure\n", + "\n", + "structure__crystalstructure\n", "\n", "\n", "\n", "clusterLammpsstructureInputscrystalstructure\n", - "\n", - "crystalstructure\n", + "\n", + "crystalstructure\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__crystalstructure->clusterLammpsstructureInputscrystalstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__a\n", - "\n", - "structure__a\n", + "\n", + "structure__a\n", "\n", "\n", "\n", "clusterLammpsstructureInputsa\n", - "\n", - "a\n", + "\n", + "a\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__a->clusterLammpsstructureInputsa\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__c\n", - "\n", - "structure__c\n", + "\n", + "structure__c\n", "\n", "\n", "\n", "clusterLammpsstructureInputsc\n", - "\n", - "c\n", + "\n", + "c\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__c->clusterLammpsstructureInputsc\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__covera\n", - "\n", - "structure__covera\n", + "\n", + "structure__covera\n", "\n", "\n", "\n", "clusterLammpsstructureInputscovera\n", - "\n", - "covera\n", + "\n", + "covera\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__covera->clusterLammpsstructureInputscovera\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__u\n", - "\n", - "structure__u\n", + "\n", + "structure__u\n", "\n", "\n", "\n", "clusterLammpsstructureInputsu\n", - "\n", - "u\n", + "\n", + "u\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__u->clusterLammpsstructureInputsu\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__orthorhombic\n", - "\n", - "structure__orthorhombic\n", + "\n", + "structure__orthorhombic\n", "\n", "\n", "\n", "clusterLammpsstructureInputsorthorhombic\n", - "\n", - "orthorhombic\n", + "\n", + "orthorhombic\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__orthorhombic->clusterLammpsstructureInputsorthorhombic\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsstructure__cubic\n", - "\n", - "structure__cubic\n", + "\n", + "structure__cubic\n", "\n", "\n", "\n", "clusterLammpsstructureInputscubic\n", - "\n", - "cubic\n", + "\n", + "cubic\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsstructure__cubic->clusterLammpsstructureInputscubic\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputsrepeat__repeat_scalar\n", - "\n", - "repeat__repeat_scalar: int\n", + "\n", + "repeat__repeat_scalar: int\n", "\n", "\n", "\n", "clusterLammpsrepeatInputsrepeat_scalar\n", - "\n", - "repeat_scalar: int\n", + "\n", + "repeat_scalar: int\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputsrepeat__repeat_scalar->clusterLammpsrepeatInputsrepeat_scalar\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInputslammps__potential\n", - "\n", - "lammps__potential\n", + "\n", + "lammps__potential\n", "\n", "\n", "\n", "clusterLammpslammpsInputspotential\n", - "\n", - "potential\n", + "\n", + "potential\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInputslammps__potential->clusterLammpslammpsInputspotential\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsOutputslammps__generic\n", - "\n", - "lammps__generic\n", + "\n", + "lammps__generic\n", "\n", "\n", "\n", "clusterLammpsstructureInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsstructureOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsstructureInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterLammpsrepeatInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructureOutputsran->clusterLammpsrepeatInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsstructureOutputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", "\n", "clusterLammpsrepeatInputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructureOutputsstructure->clusterLammpsrepeatInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsrepeatInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsrepeatOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpslammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsrepeatOutputsran->clusterLammpslammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsrepeatOutputsstructure\n", - "\n", - "structure: Atoms\n", + "\n", + "structure: Atoms\n", "\n", "\n", "\n", "clusterLammpslammpsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", - "\n", + "\n", "clusterLammpsrepeatOutputsstructure->clusterLammpslammpsInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpslammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpslammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsstructurelammpsInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", - "\n", + "\n", "clusterLammpslammpsInputsstructure->clusterLammpsstructurelammpsInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpspotentiallammpsInputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", - "\n", + "\n", "clusterLammpslammpsInputspotential->clusterLammpspotentiallammpsInputsuser_input\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpslammpsOutputsgeneric\n", - "\n", - "generic\n", + "\n", + "generic\n", "\n", "\n", - "\n", + "\n", "clusterLammpslammpsOutputsgeneric->clusterLammpsOutputslammps__generic\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsstructurelammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsstructurelammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsstructurelammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructurelammpsOutputsran->clusterLammpsPotentiallammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsListPotentialslammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructurelammpsOutputsran->clusterLammpsListPotentialslammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructurelammpsOutputsran->clusterLammpsInitLammpslammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsstructurelammpsOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructurelammpsOutputsuser_input->clusterLammpsPotentiallammpsInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsListPotentialslammpsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructurelammpsOutputsuser_input->clusterLammpsListPotentialslammpsInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsInputsstructure\n", - "\n", - "structure\n", + "\n", + "structure\n", "\n", "\n", - "\n", + "\n", "clusterLammpsstructurelammpsOutputsuser_input->clusterLammpsInitLammpslammpsInputsstructure\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpspotentiallammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpspotentiallammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpspotentiallammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpspotentiallammpsOutputsran->clusterLammpsPotentiallammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpspotentiallammpsOutputsuser_input\n", - "\n", - "user_input\n", + "\n", + "user_input\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsInputsname\n", - "\n", - "name\n", + "\n", + "name\n", "\n", "\n", - "\n", + "\n", "clusterLammpspotentiallammpsOutputsuser_input->clusterLammpsPotentiallammpsInputsname\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsInputsindex\n", - "\n", - "index\n", + "\n", + "index\n", "\n", "\n", - "\n", + "\n", "clusterLammpsPotentiallammpsOutputsran->clusterLammpsInitLammpslammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsPotentiallammpsOutputspotential\n", - "\n", - "potential\n", + "\n", + "potential\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsInputspotential\n", - "\n", - "potential\n", + "\n", + "potential\n", "\n", "\n", - "\n", + "\n", "clusterLammpsPotentiallammpsOutputspotential->clusterLammpsInitLammpslammpsInputspotential\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsListPotentialslammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsListPotentialslammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsListPotentialslammpsOutputspotentials\n", - "\n", - "potentials\n", + "\n", + "potentials\n", "\n", "\n", "\n", "clusterLammpscalclammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpscalclammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpscalclammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", "\n", "clusterLammpscalclammpsInputscalculator_input\n", - "\n", - "calculator_input: Union\n", + "\n", + "calculator_input: Union\n", "\n", "\n", - "\n", + "\n", "clusterLammpscalclammpsOutputsran->clusterLammpsInitLammpslammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", - "\n", - "clusterLammpscalclammpsOutputsran->clusterLammpscalc__calculator_GetAttr__modelammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterLammpscalclammpsOutputsran->clusterLammpscalc__calculator_GetAttr_modelammpsInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpscalclammpsOutputscalculator\n", - "\n", - "calculator\n", + "\n", + "calculator\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsInputscalculator\n", - "\n", - "calculator\n", + "\n", + "calculator\n", "\n", "\n", - "\n", + "\n", "clusterLammpscalclammpsOutputscalculator->clusterLammpsInitLammpslammpsInputscalculator\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsInputsobj\n", - "\n", - "obj\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsInputsobj\n", + "\n", + "obj\n", "\n", - "\n", - "\n", - "clusterLammpscalclammpsOutputscalculator->clusterLammpscalc__calculator_GetAttr__modelammpsInputsobj\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterLammpscalclammpsOutputscalculator->clusterLammpscalc__calculator_GetAttr_modelammpsInputsobj\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsInputsworking_directory\n", - "\n", - "working_directory\n", + "\n", + "working_directory\n", "\n", "\n", "\n", "clusterLammpsShelllammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInitLammpslammpsOutputsran->clusterLammpsShelllammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsOutputspath\n", - "\n", - "path\n", + "\n", + "path\n", "\n", "\n", "\n", "clusterLammpsShelllammpsInputsworking_directory\n", - "\n", - "working_directory: str\n", + "\n", + "working_directory: str\n", "\n", "\n", - "\n", + "\n", "clusterLammpsInitLammpslammpsOutputspath->clusterLammpsShelllammpsInputsworking_directory\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsInitLammpslammpsOutputsbla\n", - "\n", - "bla\n", + "\n", + "bla\n", "\n", "\n", "\n", "clusterLammpsShelllammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsShelllammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsShelllammpsInputscommand\n", - "\n", - "command: str\n", + "\n", + "command: str\n", "\n", "\n", "\n", "clusterLammpsShelllammpsInputsenvironment\n", - "\n", - "environment: Optional\n", + "\n", + "environment: Optional\n", "\n", "\n", "\n", "clusterLammpsShelllammpsInputsarguments\n", - "\n", - "arguments: Optional\n", + "\n", + "arguments: Optional\n", "\n", "\n", "\n", "clusterLammpsParseLogFilelammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsShelllammpsOutputsran->clusterLammpsParseLogFilelammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsShelllammpsOutputsran->clusterLammpsParseDumpFilelammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsShelllammpsOutputsoutput\n", - "\n", - "output\n", + "\n", + "output\n", "\n", "\n", "\n", "clusterLammpsShelllammpsOutputsdump\n", - "\n", - "dump\n", + "\n", + "dump\n", "\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsInputsdump_file\n", - "\n", - "dump_file\n", + "\n", + "dump_file\n", "\n", "\n", - "\n", + "\n", "clusterLammpsShelllammpsOutputsdump->clusterLammpsParseDumpFilelammpsInputsdump_file\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsShelllammpsOutputslog\n", - "\n", - "log\n", + "\n", + "log\n", "\n", "\n", "\n", "clusterLammpsParseLogFilelammpsInputslog_file\n", - "\n", - "log_file\n", + "\n", + "log_file\n", "\n", "\n", - "\n", + "\n", "clusterLammpsShelllammpsOutputslog->clusterLammpsParseLogFilelammpsInputslog_file\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsParseLogFilelammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsParseLogFilelammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", "\n", - "\n", + "\n", "clusterLammpsParseLogFilelammpsOutputsran->clusterLammpsCollectlammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsParseLogFilelammpsOutputslog\n", - "\n", - "log\n", + "\n", + "log\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsInputsout_log\n", - "\n", - "out_log\n", + "\n", + "out_log\n", "\n", "\n", - "\n", + "\n", "clusterLammpsParseLogFilelammpsOutputslog->clusterLammpsCollectlammpsInputsout_log\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", - "\n", + "\n", "clusterLammpsParseDumpFilelammpsOutputsran->clusterLammpsCollectlammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsParseDumpFilelammpsOutputsdump\n", - "\n", - "dump\n", + "\n", + "dump\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsInputsout_dump\n", - "\n", - "out_dump\n", + "\n", + "out_dump\n", "\n", "\n", - "\n", + "\n", "clusterLammpsParseDumpFilelammpsOutputsdump->clusterLammpsCollectlammpsInputsout_dump\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsInputsrun\n", - "\n", - "run\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsInputsrun\n", + "\n", + "run\n", "\n", - "\n", + "\n", "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsOutputsran\n", - "\n", - "ran\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsInputsname\n", - "\n", - "name\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsInputsname\n", + "\n", + "name\n", "\n", - "\n", - "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsOutputsran->clusterLammpsCollectlammpsInputsaccumulate_and_run\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsOutputsran->clusterLammpsCollectlammpsInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsOutputsgetattr\n", - "\n", - "getattr\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsOutputsgetattr\n", + "\n", + "getattr\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsInputscalc_mode\n", - "\n", - "calc_mode\n", + "\n", + "calc_mode\n", "\n", - "\n", - "\n", - "clusterLammpscalc__calculator_GetAttr__modelammpsOutputsgetattr->clusterLammpsCollectlammpsInputscalc_mode\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterLammpscalc__calculator_GetAttr_modelammpsOutputsgetattr->clusterLammpsCollectlammpsInputscalc_mode\n", + "\n", + "\n", + "\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsInputsrun\n", - "\n", - "run\n", + "\n", + "run\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsOutputsran\n", - "\n", - "ran\n", + "\n", + "ran\n", "\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsInputsbla\n", - "\n", - "bla\n", + "\n", + "bla\n", "\n", "\n", "\n", "clusterLammpsCollectlammpsOutputsgeneric\n", - "\n", - "generic\n", + "\n", + "generic\n", "\n", "\n", - "\n", - "clusterLammpsCollectlammpsOutputsgeneric->clusterLammpslammpsOutputsgeneric\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsInputsobj\n", - "\n", - "obj\n", - "\n", - "\n", "\n", - "clusterLammpsCollectlammpsOutputsgeneric->clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsInputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsInputsobj\n", - "\n", - "obj\n", - "\n", - "\n", - "\n", - "clusterLammpsCollectlammpsOutputsgeneric->clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsInputsobj\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsOutputsran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsInputsname\n", - "\n", - "name\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_canary_method_should_not_exist_lammpsOutputsgetattr\n", - "\n", - "getattr\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsInputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsOutputsran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsInputsname\n", - "\n", - "name\n", - "\n", - "\n", - "\n", - "clusterLammpsCollect__generic_GetAttr__ipython_display_lammpsOutputsgetattr\n", - "\n", - "getattr\n", + "clusterLammpsCollectlammpsOutputsgeneric->clusterLammpslammpsOutputsgeneric\n", + "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -2961,7 +2909,7 @@ "Collect: md \n", "T= 900\n", "Collect: md \n", - "CPU times: user 459 ms, sys: 258 ms, total: 717 ms\n", + "CPU times: user 476 ms, sys: 277 ms, total: 753 ms\n", "Wall time: 4.84 s\n" ] }, @@ -3042,421 +2990,74 @@ " \n", " wf.lammps = wf.create.atomistic_codes.Lammps(structure=wf.apply_strain, label='lammps')\n", " \n", - " return wf.lammps.outputs.generic.energy_pot" + " return wf.lammps.outputs.generic.energy_pot\n", + " #return wf.bulk" ] }, { "cell_type": "code", "execution_count": 15, - "id": "6d848d6d-2a6e-48e8-9cd2-7cac862a3d1a", + "id": "86cd8ba7-8bb6-49f8-a343-a6f498ff4717", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "max_workers: 1\n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", "Collect: static \n" ] }, { "data": { - "image/png": "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ymA4IiIiIiqD4YiIiIioDIYjIqIq6NatGyZPnix1GUSkQ5wEkoiM2ujRo5GRkYE///yzWvaXlpYGhUIBKyuratkfEekfU6kLICLSB4WFhQ9dfLUse3v7GqiGiKTEy2pEZBT++OMPNGvWDObm5nBwcECvXr3wwQcfYPXq1di6dStkMhlkMhkOHTqEmJgYyGQybNy4Ed26dYOZmRnWrVuH1NRUvPLKK/D09ISFhQWaNWuG9evXa33Ovy+r+fj4YN68eRgzZgysrKxQt25d/PjjjzXceyKqTgxHRGTwEhIS8Morr2DMmDEIDw/HoUOHMGTIEMyaNQtDhw5F3759kZCQgISEBHTo0EHzvo8++giTJk1CeHg4goODkZeXh8DAQGzfvh1XrlzBW2+9hZEjR+L06dOP/PxFixYhKCgIoaGhmDBhAsaPH49r167puttEpCO8rEZEBi8hIQFFRUUYMmQIvL29AQDNmjUDAJibmyM/Px+urq7l3jd58mQMGTJEa9u0adM0//3uu+9i165d+P3339G2bduHfn7//v0xYcIEACWB6+uvv8ahQ4fg5+f31H0joprHcEREBq9Fixbo2bMnmjVrhuDgYPTp0wcvvvgi7OzsHvm+oKAgrefFxcVYsGABfvvtN9y5cwf5+fnIz8+HpaXlI/fTvHlzzX/LZDK4uroiOTn5yTtERJLiZTUiMngmJibYu3cvdu7cCX9/fyxevBiNGzdGdHT0I9/379CzaNEifP311/jwww9x4MABXLhwAcHBwSgoKHjkfv49kFsmk0GtVj9ZZ4hIcjxzRERGQSaToWPHjujYsSNmzpwJb29vbNmyBUqlEsXFxZXax9GjRzFo0CCMGDECAKBWq3Hjxg00adJEl6UTkZ5hOCIig3f69Gns378fffr0gbOzM06fPo27d++iSZMmyMvLw+7duxEREQEHBwfY2Ng8dD8NGzbEpk2bcOLECdjZ2eGrr75CYmIiwxFRLcNwREQGz9raGkeOHME333yDrKwseHt7Y9GiRejXrx+CgoJw6NAhBAUF4d69ezh48CB8fHwq3M///d//ITo6GsHBwbCwsMBbb72FwYMHIzMzs2Y7RESS4gzZRERERGVwQDYRERFRGQxHRERERGUwHBERERGVwXBEREREVAbDEREREVEZDEdEREREZTAcEREREZXBcERERERUBsMRERERURkMR0RERERlMBwRERERlcFwRERERFTG/wOC5q7f+IrFCQAAAABJRU5ErkJggg==", "text/plain": [ - "
" + "{'energy_pot': -107.519999906317}" ] }, + "execution_count": 15, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "df = energy_at_volume().iter(strain=np.linspace(-0.2, 0.2, 11))\n", - "df.plot(x='strain', ylabel='Energy (eV)', title='Energy-Volume Curve');" + "energy_at_volume()()" ] }, { "cell_type": "code", "execution_count": 16, - "id": "3050e5e5-4c68-4195-a665-0f5d4b0b78b0", + "id": "cfc32f97-2ae3-4def-8702-848e4e650aca", "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n", - "Collect: static \n" - ] - }, { "data": { - "image/png": "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", "text/plain": [ - "
" + "{'bulk__structure': Al: [0. 0. 0.]\n", + " Al: [0. 2.025 2.025]\n", + " Al: [2.025 0. 2.025]\n", + " Al: [2.025 2.025 0. ]\n", + " tags: \n", + " indices: [0 0 0 0]\n", + " pbc: [ True True True]\n", + " cell: \n", + " Cell([4.05, 4.05, 4.05])}" ] }, + "execution_count": 16, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "import numpy as np\n", - "\n", - "energy_pot = []\n", - "strain_lst = np.linspace(0.86, 1, 11) - 1\n", - "for strain in strain_lst:\n", - " wf = energy_at_volume(element='Al', strain=strain)\n", - " out = wf.run()\n", - "\n", - " energy_pot.append(out['energy_pot']) \n", - "\n", - "plt.plot(strain_lst, energy_pot);" - ] - }, - { - "cell_type": "markdown", - "id": "f962df29-d580-44a7-a264-12101f77b61b", - "metadata": {}, - "source": [ - "### Data store\n", + "wf = Workflow('Lammps')\n", + "wf.bulk = wf.create.atomistic.structure.build.cubic_bulk_cell(element='Al', cubic=True)\n", "\n", - "Temporarily deprecated until we merge with the existing storage branch" + "wf.run()" ] }, { "cell_type": "code", "execution_count": 17, - "id": "7fcc5262-713b-4755-a730-0b1f6fa6349c", - "metadata": {}, - "outputs": [], - "source": [ - "# from pyiron_workflow.node_library.dev_tools import DataStore, node_to_data_container, extract_value" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "6fd3b054-d066-4b05-9cbf-f5fa88476a45", - "metadata": {}, - "outputs": [], - "source": [ - "# ds = DataStore(path='DataStore')\n", - "# ds.store(wf, overwrite=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "347cdcc9-db7a-4d84-9578-a04cad573aac", - "metadata": {}, - "outputs": [], - "source": [ - "# wf_new = ds.load(wf.label)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "e3720e67-67d0-4f3a-a8ae-57dbd86c20b7", - "metadata": {}, - "outputs": [], - "source": [ - "# wf.lammps" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "2c3b4321-f8a9-4e7f-bd8e-63bae6abf8d5", - "metadata": {}, - "outputs": [], - "source": [ - "# wf.outputs.energy_pot.value" - ] - }, - { - "cell_type": "markdown", - "id": "5ddd1963-e2e3-41d9-a0b5-eb0c0ffa6f20", - "metadata": {}, - "source": [ - "TODO: Convert data_container to node" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "e9083ee4-df8a-4a57-b168-f932b52071c3", - "metadata": {}, - "outputs": [], - "source": [ - "# out = wf(element='Fe')" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "17f03ced-1b20-4db1-b78a-70db0c4f9c1c", - "metadata": {}, - "outputs": [], - "source": [ - "# ds.remove(wf.label)" - ] - }, - { - "cell_type": "markdown", - "id": "080d1640-d376-4030-b58d-ce7b39b2a181", - "metadata": {}, - "source": [ - "#### Test pickle" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "7c476ec9-e35b-46fe-bca1-f7705aa205d2", - "metadata": {}, - "outputs": [], - "source": [ - "# import cloudpickle as pickle" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "f0b574b3-3c74-44fe-a471-650738f2af9c", - "metadata": {}, - "outputs": [], - "source": [ - "# with open('node.pickle', 'wb') as f:\n", - "# pickle.dump(wf, f)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "bf304ec5-2fe4-46cc-8ec8-2fcdb82500b6", - "metadata": {}, - "outputs": [], - "source": [ - "# with open('node.pickle', 'rb') as f:\n", - "# new_node = pickle.load(f)" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "397d1b5e-9336-463a-94d5-a508b8a1b9e7", - "metadata": {}, - "outputs": [], - "source": [ - "# new_node.run();" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "fc47c328-a3c6-42da-856e-cdfe58bdb5f5", - "metadata": {}, - "outputs": [], - "source": [ - "# new_node.outputs.energy_pot.value" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "3edaaa9e-8b3f-4298-a9f2-456d7013276a", - "metadata": {}, - "outputs": [], - "source": [ - "# out.energy_pot" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "b1d5e21f-6cae-4d0c-8543-1d3c1790fc37", - "metadata": {}, - "outputs": [], - "source": [ - "# out" - ] - }, - { - "cell_type": "markdown", - "id": "3cd82505-a654-4f88-999e-9f9c636c0a96", - "metadata": {}, - "source": [ - "## Apply Jan's atomistic class" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "21e00942-bc9a-48f9-838d-e16aa4d67fb6", - "metadata": {}, - "outputs": [], - "source": [ - "wf.register('pyiron_workflow.node_library.atomistics', domain='atomistics')" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "afd76914-fa37-4ec2-b22d-adecc03f232f", - "metadata": {}, - "outputs": [], - "source": [ - "wf = Workflow('Murnaghan')\n", - "wf.bulk = wf.create.atomistics.task.Bulk('Al', cubic=True)\n", - "wf.lammps = wf.create.atomistics.calculator.Lammps()\n", - "wf.lammps_potential = wf.create.atomistics.calculator.LammpsPotential(structure=wf.bulk)\n", - "wf.macro = wf.create.atomistics.macro.EnergyVolumeCurve(calculator=wf.lammps)" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "bc0aae29-1d88-4720-97c1-035071b200d7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Atoms(symbols='Al', pbc=True, cell=[[0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]])" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bulk = wf.bulk.run()\n", - "bulk" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "84d5b8d5-c39f-4102-9a22-4298611abb94", - "metadata": {}, - "outputs": [ - { - "data": { - "application/json": { - "channels": { - "potential_name": { - "connected": false, - "connections": [], - "label": "potential_name", - "ready": false, - "type_hint": "None", - "value": "NOT_DATA" - }, - "resource_path": { - "connected": false, - "connections": [], - "label": "resource_path", - "ready": false, - "type_hint": "None", - "value": "NOT_DATA" - }, - "structure": { - "connected": true, - "connections": [ - "bulk.structure" - ], - "label": "structure", - "ready": false, - "type_hint": "None", - "value": "NOT_DATA" - } - }, - "connected": true, - "fully_connected": false, - "label": "Inputs", - "ready": false - }, - "text/plain": [ - "" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wf.lammps_potential.inputs" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "37c3d874-2be5-4b83-8a8b-19c26c6d5197", - "metadata": {}, - "outputs": [], - "source": [ - "wf.draw();" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "37d7aaf1-fbc9-45ed-ba3a-ab44254d99aa", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "56b272e8-8dd9-46f6-aa92-0d1463b54ac8", - "metadata": {}, - "source": [ - "#### Debug example" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "ac98a74f-c712-49bd-8622-dadf3579be07", - "metadata": {}, - "outputs": [], - "source": [ - "@Workflow.wrap_as.single_value_node('string')\n", - "def create_string(my_string: str=''):\n", - " return my_string\n", - "\n", - "@Workflow.wrap_as.single_value_node('string')\n", - "def plus(my_string_1: str='', my_string_2: str='', my_string_3: str='', my_string_4: str=''):\n", - " return my_string_1 + my_string_2 + my_string_3 + my_string_4" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "d01decfc-8d46-47f2-b7d4-495e2d91db59", + "id": "96635ec4-2a34-45f9-b3f1-66e030022738", "metadata": {}, "outputs": [ { @@ -3467,664 +3068,1171 @@ " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", "\n", - "\n", - "\n", - "\n", - "clustertest\n", - "\n", - "test: Workflow\n", + "\n", + "\n", + "\n", + "clusterbulk\n", + "\n", + "bulk: cubic_bulk_cell\n", "\n", - "clustertestInputs\n", + "clusterbulkInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", - "clustertestOutputs\n", + "clusterbulkOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", - "clusterteststring1\n", + "clusterbulkelement\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "string1: create_string\n", + "\n", + "element: UserInput\n", "\n", - "\n", - "clusterteststring1Outputs\n", + "\n", + "clusterbulkelementInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterteststring1Inputs\n", + "\n", + "clusterbulkelementOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", "\n", - "clusterteststring2\n", + "clusterbulkcell_size\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "string2: create_string\n", + "\n", + "cell_size: UserInput\n", "\n", - "\n", - "clusterteststring2Outputs\n", + "\n", + "clusterbulkcell_sizeInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterteststring2Inputs\n", + "\n", + "clusterbulkcell_sizeOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", "\n", - "clusterteststring3\n", + "clusterbulkvacancy_index\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "string3: create_string\n", + "\n", + "vacancy_index: UserInput\n", "\n", - "\n", - "clusterteststring3Outputs\n", + "\n", + "clusterbulkvacancy_indexInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Inputs\n", "\n", - "\n", - "clusterteststring3Inputs\n", + "\n", + "clusterbulkvacancy_indexOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Outputs\n", "\n", "\n", - "clustertestsum_1\n", + "clusterbulkbulk\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "sum_1: plus\n", + "\n", + "bulk: bulk\n", "\n", "\n", - "clustertestsum_1Inputs\n", + "clusterbulkbulkInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", - "clustertestsum_1Outputs\n", + "clusterbulkbulkOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", - "clustertestsum_2\n", + "clusterbulkcell\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "sum_2: plus\n", + "\n", + "cell: repeat\n", "\n", "\n", - "clustertestsum_2Inputs\n", + "clusterbulkcellInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", - "clustertestsum_2Outputs\n", + "clusterbulkcellOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", "\n", - "clustertestsum_3\n", + "clusterbulkstructure\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "sum_3: plus\n", + "\n", + "structure: create_vacancy\n", "\n", "\n", - "clustertestsum_3Inputs\n", + "clusterbulkstructureInputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Inputs\n", + "\n", + "Inputs\n", "\n", "\n", - "clustertestsum_3Outputs\n", + "clusterbulkstructureOutputs\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "Outputs\n", + "\n", + "Outputs\n", "\n", - "\n", + "\n", "\n", - "clustertestInputsrun\n", - "\n", - "run\n", + "clusterbulkInputsrun\n", + "\n", + "run\n", "\n", - "\n", - "\n", - "clustertestOutputsran\n", - "\n", - "ran\n", + "\n", + "\n", + "clusterbulkOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "clustertestInputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterbulkInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", + "\n", "\n", - "clustertestInputsstring1__my_string\n", - "\n", - "string1__my_string: str\n", + "clusterbulkInputselement\n", + "\n", + "element: str\n", "\n", - "\n", - "\n", - "clusterteststring1Inputsmy_string\n", - "\n", - "my_string: str\n", + "\n", + "\n", + "clusterbulkelementInputsuser_input\n", + "\n", + "user_input: str\n", "\n", - "\n", - "\n", - "clustertestInputsstring1__my_string->clusterteststring1Inputsmy_string\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkInputselement->clusterbulkelementInputsuser_input\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clustertestInputsstring2__my_string\n", - "\n", - "string2__my_string: str\n", + "clusterbulkInputscell_size\n", + "\n", + "cell_size: int\n", "\n", - "\n", - "\n", - "clusterteststring2Inputsmy_string\n", - "\n", - "my_string: str\n", + "\n", + "\n", + "clusterbulkcell_sizeInputsuser_input\n", + "\n", + "user_input: int\n", "\n", - "\n", - "\n", - "clustertestInputsstring2__my_string->clusterteststring2Inputsmy_string\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkInputscell_size->clusterbulkcell_sizeInputsuser_input\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clustertestInputsstring3__my_string\n", - "\n", - "string3__my_string: str\n", - "\n", - "\n", - "\n", - "clusterteststring3Inputsmy_string\n", - "\n", - "my_string: str\n", - "\n", - "\n", - "\n", - "clustertestInputsstring3__my_string->clusterteststring3Inputsmy_string\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustertestInputssum_1__my_string_4\n", - "\n", - "sum_1__my_string_4: str\n", + "clusterbulkInputsvacancy_index\n", + "\n", + "vacancy_index\n", "\n", - "\n", - "\n", - "clustertestsum_1Inputsmy_string_4\n", - "\n", - "my_string_4: str\n", + "\n", + "\n", + "clusterbulkvacancy_indexInputsuser_input\n", + "\n", + "user_input\n", "\n", - "\n", - "\n", - "clustertestInputssum_1__my_string_4->clustertestsum_1Inputsmy_string_4\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkInputsvacancy_index->clusterbulkvacancy_indexInputsuser_input\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clustertestInputssum_2__my_string_3\n", - "\n", - "sum_2__my_string_3: str\n", - "\n", - "\n", - "\n", - "clustertestsum_2Inputsmy_string_3\n", - "\n", - "my_string_3: str\n", - "\n", - "\n", - "\n", - "clustertestInputssum_2__my_string_3->clustertestsum_2Inputsmy_string_3\n", - "\n", - "\n", - "\n", + "clusterbulkOutputsstructure\n", + "\n", + "structure\n", "\n", - "\n", + "\n", "\n", - "clustertestInputssum_2__my_string_4\n", - "\n", - "sum_2__my_string_4: str\n", - "\n", - "\n", - "\n", - "clustertestsum_2Inputsmy_string_4\n", - "\n", - "my_string_4: str\n", + "clusterbulkelementInputsrun\n", + "\n", + "run\n", "\n", - "\n", - "\n", - "clustertestInputssum_2__my_string_4->clustertestsum_2Inputsmy_string_4\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkelementOutputsran\n", + "\n", + "ran\n", "\n", - "\n", + "\n", + "\n", "\n", - "clustertestInputssum_3__my_string_4\n", - "\n", - "sum_3__my_string_4: str\n", - "\n", - "\n", - "\n", - "clustertestsum_3Inputsmy_string_4\n", - "\n", - "my_string_4: str\n", + "clusterbulkelementInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", - "\n", - "clustertestInputssum_3__my_string_4->clustertestsum_3Inputsmy_string_4\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkbulkInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", - "\n", - "clustertestOutputssum_3__string\n", - "\n", - "sum_3__string\n", + "\n", + "\n", + "clusterbulkelementOutputsran->clusterbulkbulkInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterteststring1Inputsrun\n", - "\n", - "run\n", + "clusterbulkelementOutputsuser_input\n", + "\n", + "user_input\n", "\n", - "\n", - "\n", - "clusterteststring1Outputsran\n", - "\n", - "ran\n", + "\n", + "\n", + "clusterbulkbulkInputsname\n", + "\n", + "name\n", + "\n", + "\n", + "\n", + "clusterbulkelementOutputsuser_input->clusterbulkbulkInputsname\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", "\n", - "clusterteststring1Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterbulkcell_sizeInputsrun\n", + "\n", + "run\n", "\n", - "\n", + "\n", "\n", - "clusterteststring1Outputsstring\n", - "\n", - "string\n", - "\n", - "\n", - "\n", - "clustertestsum_1Inputsmy_string_1\n", - "\n", - "my_string_1: str\n", - "\n", - "\n", - "\n", - "clusterteststring1Outputsstring->clustertestsum_1Inputsmy_string_1\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "clustertestsum_1Inputsmy_string_3\n", - "\n", - "my_string_3: str\n", + "clusterbulkcell_sizeOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", - "clusterteststring1Outputsstring->clustertestsum_1Inputsmy_string_3\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "clusterbulkcell_sizeInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", - "\n", - "clustertestsum_3Inputsmy_string_2\n", - "\n", - "my_string_2: str\n", + "\n", + "\n", + "clusterbulkcellInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", + "\n", "\n", - "clusterteststring1Outputsstring->clustertestsum_3Inputsmy_string_2\n", - "\n", - "\n", - "\n", + "clusterbulkcell_sizeOutputsran->clusterbulkcellInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterteststring2Inputsrun\n", - "\n", - "run\n", + "clusterbulkcell_sizeOutputsuser_input\n", + "\n", + "user_input\n", "\n", - "\n", - "\n", - "clusterteststring2Outputsran\n", - "\n", - "ran\n", + "\n", + "\n", + "clusterbulkcellInputsrepeat_scalar\n", + "\n", + "repeat_scalar: int\n", + "\n", + "\n", + "\n", + "clusterbulkcell_sizeOutputsuser_input->clusterbulkcellInputsrepeat_scalar\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", "\n", - "clusterteststring2Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterbulkvacancy_indexInputsrun\n", + "\n", + "run\n", "\n", - "\n", + "\n", "\n", - "clusterteststring2Outputsstring\n", - "\n", - "string\n", - "\n", - "\n", - "\n", - "clustertestsum_1Inputsmy_string_2\n", - "\n", - "my_string_2: str\n", + "clusterbulkvacancy_indexOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", - "clusterteststring2Outputsstring->clustertestsum_1Inputsmy_string_2\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "clusterbulkvacancy_indexInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", - "\n", - "clustertestsum_3Inputsmy_string_3\n", - "\n", - "my_string_3: str\n", + "\n", + "\n", + "clusterbulkstructureInputsaccumulate_and_run\n", + "\n", + "accumulate_and_run\n", "\n", - "\n", + "\n", "\n", - "clusterteststring2Outputsstring->clustertestsum_3Inputsmy_string_3\n", - "\n", - "\n", - "\n", + "clusterbulkvacancy_indexOutputsran->clusterbulkstructureInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clusterteststring3Inputsrun\n", - "\n", - "run\n", + "clusterbulkvacancy_indexOutputsuser_input\n", + "\n", + "user_input\n", "\n", - "\n", - "\n", - "clusterteststring3Outputsran\n", - "\n", - "ran\n", + "\n", + "\n", + "clusterbulkstructureInputsindex\n", + "\n", + "index\n", + "\n", + "\n", + "\n", + "clusterbulkvacancy_indexOutputsuser_input->clusterbulkstructureInputsindex\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", "\n", - "clusterteststring3Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterbulkbulkInputsrun\n", + "\n", + "run\n", + "\n", + "\n", + "\n", + "clusterbulkbulkOutputsran\n", + "\n", + "ran\n", "\n", - "\n", + "\n", + "\n", "\n", - "clusterteststring3Outputsstring\n", - "\n", - "string\n", + "clusterbulkbulkInputscrystalstructure\n", + "\n", + "crystalstructure\n", "\n", - "\n", - "\n", - "clustertestsum_2Inputsmy_string_2\n", - "\n", - "my_string_2: str\n", + "\n", + "\n", + "clusterbulkbulkInputsa\n", + "\n", + "a\n", "\n", - "\n", - "\n", - "clusterteststring3Outputsstring->clustertestsum_2Inputsmy_string_2\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkbulkInputsc\n", + "\n", + "c\n", "\n", - "\n", - "\n", - "clustertestsum_1Inputsrun\n", - "\n", - "run\n", + "\n", + "\n", + "clusterbulkbulkInputscovera\n", + "\n", + "covera\n", "\n", - "\n", - "\n", - "clustertestsum_1Outputsran\n", - "\n", - "ran\n", + "\n", + "\n", + "clusterbulkbulkInputsu\n", + "\n", + "u\n", "\n", - "\n", - "\n", - "\n", - "clustertestsum_1Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "\n", + "clusterbulkbulkInputsorthorhombic\n", + "\n", + "orthorhombic\n", + "\n", + "\n", + "\n", + "clusterbulkbulkInputscubic\n", + "\n", + "cubic\n", + "\n", + "\n", + "\n", + "clusterbulkbulkOutputsran->clusterbulkcellInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clustertestsum_1Outputsstring\n", - "\n", - "string\n", + "clusterbulkbulkOutputsstructure\n", + "\n", + "structure\n", "\n", - "\n", + "\n", "\n", - "clustertestsum_2Inputsmy_string_1\n", - "\n", - "my_string_1: str\n", + "clusterbulkcellInputsstructure\n", + "\n", + "structure: Atoms\n", "\n", - "\n", - "\n", - "clustertestsum_1Outputsstring->clustertestsum_2Inputsmy_string_1\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkbulkOutputsstructure->clusterbulkcellInputsstructure\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "clustertestsum_2Inputsrun\n", - "\n", - "run\n", - "\n", - "\n", - "\n", - "clustertestsum_2Outputsran\n", - "\n", - "ran\n", - "\n", - "\n", - "\n", - "\n", - "clustertestsum_2Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "clusterbulkcellInputsrun\n", + "\n", + "run\n", "\n", - "\n", - "\n", - "clustertestsum_2Outputsstring\n", - "\n", - "string\n", + "\n", + "\n", + "clusterbulkcellOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", - "clustertestsum_3Inputsmy_string_1\n", - "\n", - "my_string_1: str\n", + "\n", + "\n", + "\n", + "clusterbulkcellOutputsran->clusterbulkstructureInputsaccumulate_and_run\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "clustertestsum_2Outputsstring->clustertestsum_3Inputsmy_string_1\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "clusterbulkcellOutputsstructure\n", + "\n", + "structure: Atoms\n", "\n", - "\n", + "\n", "\n", - "clustertestsum_3Inputsrun\n", - "\n", - "run\n", + "clusterbulkstructureInputsstructure\n", + "\n", + "structure\n", "\n", - "\n", - "\n", - "clustertestsum_3Outputsran\n", - "\n", - "ran\n", + "\n", + "\n", + "clusterbulkcellOutputsstructure->clusterbulkstructureInputsstructure\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "clustertestsum_3Inputsaccumulate_and_run\n", - "\n", - "accumulate_and_run\n", + "\n", + "\n", + "clusterbulkstructureInputsrun\n", + "\n", + "run\n", "\n", - "\n", - "\n", - "clustertestsum_3Outputsstring\n", - "\n", - "string\n", + "\n", + "\n", + "clusterbulkstructureOutputsran\n", + "\n", + "ran\n", "\n", - "\n", - "\n", - "clustertestsum_3Outputsstring->clustertestOutputssum_3__string\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "clusterbulkstructureOutputsstructure\n", + "\n", + "structure\n", + "\n", + "\n", + "\n", + "clusterbulkstructureOutputsstructure->clusterbulkOutputsstructure\n", + "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 37, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.bulk.draw(size=(20,10))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "6d848d6d-2a6e-48e8-9cd2-7cac862a3d1a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max_workers: 1\n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n" + ] + }, + { + "data": { + "image/png": "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ymA4IiIiIiqD4YiIiIioDIYjIqIq6NatGyZPnix1GUSkQ5wEkoiM2ujRo5GRkYE///yzWvaXlpYGhUIBKyuratkfEekfU6kLICLSB4WFhQ9dfLUse3v7GqiGiKTEy2pEZBT++OMPNGvWDObm5nBwcECvXr3wwQcfYPXq1di6dStkMhlkMhkOHTqEmJgYyGQybNy4Ed26dYOZmRnWrVuH1NRUvPLKK/D09ISFhQWaNWuG9evXa33Ovy+r+fj4YN68eRgzZgysrKxQt25d/PjjjzXceyKqTgxHRGTwEhIS8Morr2DMmDEIDw/HoUOHMGTIEMyaNQtDhw5F3759kZCQgISEBHTo0EHzvo8++giTJk1CeHg4goODkZeXh8DAQGzfvh1XrlzBW2+9hZEjR+L06dOP/PxFixYhKCgIoaGhmDBhAsaPH49r167puttEpCO8rEZEBi8hIQFFRUUYMmQIvL29AQDNmjUDAJibmyM/Px+urq7l3jd58mQMGTJEa9u0adM0//3uu+9i165d+P3339G2bduHfn7//v0xYcIEACWB6+uvv8ahQ4fg5+f31H0joprHcEREBq9Fixbo2bMnmjVrhuDgYPTp0wcvvvgi7OzsHvm+oKAgrefFxcVYsGABfvvtN9y5cwf5+fnIz8+HpaXlI/fTvHlzzX/LZDK4uroiOTn5yTtERJLiZTUiMngmJibYu3cvdu7cCX9/fyxevBiNGzdGdHT0I9/379CzaNEifP311/jwww9x4MABXLhwAcHBwSgoKHjkfv49kFsmk0GtVj9ZZ4hIcjxzRERGQSaToWPHjujYsSNmzpwJb29vbNmyBUqlEsXFxZXax9GjRzFo0CCMGDECAKBWq3Hjxg00adJEl6UTkZ5hOCIig3f69Gns378fffr0gbOzM06fPo27d++iSZMmyMvLw+7duxEREQEHBwfY2Ng8dD8NGzbEpk2bcOLECdjZ2eGrr75CYmIiwxFRLcNwREQGz9raGkeOHME333yDrKwseHt7Y9GiRejXrx+CgoJw6NAhBAUF4d69ezh48CB8fHwq3M///d//ITo6GsHBwbCwsMBbb72FwYMHIzMzs2Y7RESS4gzZRERERGVwQDYRERFRGQxHRERERGUwHBERERGVwXBEREREVAbDEREREVEZDEdEREREZTAcEREREZXBcERERERUBsMRERERURkMR0RERERlMBwRERERlcFwRERERFTG/wOC5q7f+IrFCQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = energy_at_volume().iter(strain=np.linspace(-0.2, 0.2, 11))\n", + "df.plot(x='strain', ylabel='Energy (eV)', title='Energy-Volume Curve');" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "2836f6d9-6c44-4215-90bf-450c7012cf67", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
strainenergy_pot
0-0.20-18.803181
1-0.16-57.602047
2-0.12-82.793493
3-0.08-97.826118
4-0.04-105.378539
50.00-107.520000
60.04-105.838871
70.08-101.545279
80.12-95.552919
90.16-88.544120
100.20-81.021492
\n", + "
" + ], + "text/plain": [ + " strain energy_pot\n", + "0 -0.20 -18.803181\n", + "1 -0.16 -57.602047\n", + "2 -0.12 -82.793493\n", + "3 -0.08 -97.826118\n", + "4 -0.04 -105.378539\n", + "5 0.00 -107.520000\n", + "6 0.04 -105.838871\n", + "7 0.08 -101.545279\n", + "8 0.12 -95.552919\n", + "9 0.16 -88.544120\n", + "10 0.20 -81.021492" + ] + }, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "3050e5e5-4c68-4195-a665-0f5d4b0b78b0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n", + "Collect: static \n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGhCAYAAACUFDUXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFrklEQVR4nO3deVhUZf8G8PvMwAz7IsMiiuKuuO+Cmqa5FKgtb2qWSovLW2Sm9pZliZZppbaYZam5vP0KM/NVM83dXAg3NHdERVAZFgWGRWaAOb8/0GkmEFFmOLPcn+s6V82Z55z5PnPRmbtznuccQRRFEUREREQ2SiZ1AUREREQ1wTBDRERENo1hhoiIiGwawwwRERHZNIYZIiIismkMM0RERGTTGGaIiIjIpjHMEBERkU1jmCEiIiKbxjBDRERENk2yMLNnzx4IglDpcvjwYUO71NRUDBkyBO7u7lCpVJg0aRJ0Op1UZRMREZGVcZLqgyMiIpCenm6y7t1338WOHTvQpUsXAEBZWRkiIyPh7++P/fv348aNGxg7dixEUcSiRYukKJuIiIisjGAtD5osKSlB/fr1ERMTg3fffRcAsGXLFkRFRSEtLQ3BwcEAgLi4OERHRyMzMxNeXl7V2rder8f169fh6ekJQRAs1gciIiIyH1EUkZ+fj+DgYMhkd7+YJNmZmX/auHEjsrOzER0dbVgXHx+PNm3aGIIMAAwaNAharRZHjx7Fww8/XOm+tFottFqt4fW1a9cQFhZmsdqJiIjIctLS0lC/fv27vm81YWb58uUYNGgQQkJCDOvUajUCAwNN2vn6+kKhUECtVt91X3PnzsWsWbMqrE9LS6v22RwiIiKSlkajQUhICDw9PatsZ/YwExsbW2mQMHb48GHDuBgAuHr1Kn7//Xf89NNPFdpWdllIFMUqLxdNnz4dU6ZMMby+82V4eXkxzBAREdmYew0RMXuYiYmJwciRI6tsExoaavJ6xYoV8PPzw9ChQ03WBwUFISEhwWRdTk4OSkpKKpyxMaZUKqFUKu+vcCIiIrJJZg8zKpUKKpWq2u1FUcSKFSswZswYODs7m7wXHh6OOXPmID09HXXr1gUAbNu2DUqlEp07dzZr3URERGSbJL9p3q5du3D58mW8+OKLFd4bOHAgwsLCMHr0aCQmJmLnzp2YNm0axo0bx8tFREREBMAKwszy5csRERGBVq1aVXhPLpdj8+bNcHFxQc+ePTF8+HA8/vjjmD9/vgSVEhERkTWymvvMWJJGo4G3tzfy8vJ4RoeIiMhGVPf3W/IzM0REREQ1wTBDRERENo1hhoiIiGwawwwRERHZNIYZIiIismkMM0RERGTTGGaIiIjIpjHM1MDFrAI8v+IQkjLypS6FiIjIYTHM1MCCbeex+3wWZm44DQe49yAREZFVYpipgemPtoLSSYb4Szew+WS61OUQERE5JIaZGgip44aX+zYFAHzw61kUakslroiIiMjxMMzU0IQ+jRFSxxVqTTEW7UqWuhwiIiKHwzBTQy7OcsyMag0AWL7/Ei5mFUhcERERkWNhmDGD/q0C8HALf5SUiYjdyMHAREREtYlhxgwEQcDMIa2hkMuw70I2fj+dIXVJREREDoNhxkxCVe6Y0KcxAOD9X8/glq5M4oqIiIgcA8OMGb3ctynq+bjiWu4tfL2Hg4GJiIhqA8OMGbkq5Hg3qhUAYMkfl3DlRqHEFREREdk/hhkzG9Q6CL2bqaAr1WPWpjNSl0NERGT3GGbMTBAExA5tDWe5gF3nMrHzLAcDExERWRLDjAU08ffAC70aAQBmbTqD4hIOBiYiIrIUhhkLmdSvGYK8XJB6swjf/nFJ6nKIiIjsFsOMhbgrnfBOZPlg4MW7k5F2s0jiioiIiOwTw4wFRbWri/DGftCW6vHBZg4GJiIisgSGGQsSBAGzhrWGXCbg99MZ2JuUJXVJREREdodhxsKaB3oiOiIUABC78TS0pRwMTEREZE4MM7Vg8iPNoPJQ4nJ2IZbvvyx1OURERHaFYaYWeLo44+3HWgIAFu1MxvXcWxJXREREZD8YZmrJEx3roWuoL26VlGHOb2elLoeIiMhuMMzUEkEQMGtoG8gEYPNf6TiQnC11SURERHaBYaYWhQV7YXSPhgCAmRtPo6RML3FFREREto9hppZNGdgCfu4KJGcWYOWBFKnLISIisnkMM7XM29UZbw4uHwz82Y4kZGiKJa6IiIjItjHMSOBfneujQ4gPCnVlmMvBwERERDXCMCMBmUzA7GGtIQjA/45fR8KlG1KXREREZLMYZiTSrr4PnunWAED5YOBSDgYmIiJ6IJKFmT179kAQhEqXw4cPG9pV9v6SJUukKtus3hjYAj5uzjinzsd//7widTlEREQ2SbIwExERgfT0dJPlpZdeQmhoKLp06WLSdsWKFSbtxo4dK1HV5uXrrsAbg1oAABZuS0JWvlbiioiIiGyPZGFGoVAgKCjIsPj5+WHjxo144YUXIAiCSVsfHx+Ttq6urhJVbX4juzZA23reyNeW4qOt56Quh4iIyOZYzZiZjRs3Ijs7G9HR0RXei4mJgUqlQteuXbFkyRLo9VWPL9FqtdBoNCaLtZLLBMwa1hoA8PPRqzh6JUfiioiIiGyL1YSZ5cuXY9CgQQgJCTFZ//7772Pt2rXYsWMHRo4cialTp+LDDz+scl9z586Ft7e3YfnnPq1Npwa+GN6lPgDgvQ2nUKYXJa6IiIjIdgiiKJr1lzM2NhazZs2qss3hw4dNxsVcvXoVDRs2xE8//YSnnnqqym0XLFiA2bNnIy8v765ttFottNq/x59oNBqEhIQgLy8PXl5e1exJ7cou0KLf/D3QFJfi/cfbGB57QERE5Kg0Gg28vb3v+fvtZO4PjomJwciRI6tsExoaavJ6xYoV8PPzw9ChQ++5/x49ekCj0SAjIwOBgYGVtlEqlVAqldWu2RqoPJSYOrAFZm48jfm/n0dk27qo466QuiwiIiKrZ/Ywo1KpoFKpqt1eFEWsWLECY8aMgbOz8z3bJyYmwsXFBT4+PjWo0jo9270BfjyUinPqfHzy+znMfbKd1CURERFZPcnHzOzatQuXL1/Giy++WOG9TZs2YenSpTh16hQuXryIZcuW4Z133sH48eNt7sxLdTjJZXj/8TYAgLjDaTiRlittQURERDZA8jCzfPlyREREoFWrVhXec3Z2xldffYXw8HC0a9cOn3/+OWbPno0FCxZIUGnt6BpaB092rAdRBN7beBp6DgYmIiKqktkHAFuj6g4gshaZmmL0W7AXBdpSzHuyLUbefuwBERGRI6nu77fkZ2aoogAvF0x+pBkA4KOt55BbpJO4IiIiIuvFMGOlxkaEonmgB3KKSrBgW5LU5RAREVkthhkr5SyXIXZo+Z2B/y/hCk5du/t9dYiIiBwZw4wVi2iiQlS7utCLwEwOBiYiIqoUw4yVeyeyFdwUchy9koP1idekLoeIiMjqMMxYubrerpjUv3ww8Nwt56ApLpG4IiIiIuvCMGMDXujZCI393ZFdoMWn2zkYmIiIyBjDjA1QOMkQO6R8MPDq+Cs4p9ZIXBEREZH1YJixEQ8198fg1kEo04t4b8NpOMC9DomIiKqFYcaGzIhqBRdnGQ5dvomNJ65LXQ4REZFVYJixIfV93fBK36YAgA9/O4sCbanEFREREUmPYcbGjHuoMRr6uSFDo8WinRekLoeIiEhyDDM2xsVZjplDwgAAy/dfRnJmvsQVERERSYthxgb1axmIR1oFoFQvYuZGDgYmIiLHxjBjo96Lag2FkwwHkm9gyym11OUQERFJhmHGRjXwc8PEPk0AAB/8egZFOg4GJiIix8QwY8Ne7tsE9X1dcT2vGIt3J0tdDhERkSQYZmyYi7Mc70aVDwZe+sdlXM4ulLgiIiKi2scwY+MGhgWiT3N/6Mr0iOVgYCIickAMMzZOEATMHBIGZ7mAvUlZ2H4mQ+qSiIiIahXDjB1o7O+Bcb0bAwBm/3oGxSVlEldERERUexhm7ERMv6ao6+2Cqzm38PWei1KXQ0REVGsYZuyEm8IJMyLLBwN/vfciUm8USVwRERFR7WCYsSOPtQ1Cz6Z+0JXqMfvXM1KXQ0REVCsYZuyIIAiYNbQ1nGQCdpzNwO5zmVKXREREZHEMM3amaYAnXujVCAAQu+k0BwMTEZHdY5ixQ5P6N0OApxJXbhRh2b5LUpdDRERkUQwzdshD6YR3IlsBAL7cnYyrORwMTERE9othxk4NbR+Mbo3qoLhEjzmbz0pdDhERkcUwzNgpQRAwe1hryGUCtpxSY9+FLKlLIiIisgiGGTvWMsgLY8IbAgBmbjwNXale4oqIiIjMj2HGzk1+pDlUHgpcyirEdwcuS10OERGR2THM2DlvV2e89Wj5YOAvdl6AOq9Y4oqIiIjMi2HGATzZsR46NfBBka4Mc37jYGAiIrIvDDMOQCYTMHtYGwgCsOnEdRy8mC11SURERGbDMOMg2tTzxrPdGwAAYjeeRkkZBwMTEZF9kDTMJCUlYdiwYVCpVPDy8kLPnj2xe/dukzapqakYMmQI3N3doVKpMGnSJOh0Ookqtm3TBraAr5szkjIKsIKDgYmIyE5IGmYiIyNRWlqKXbt24ejRo+jQoQOioqKgVqsBAGVlZYiMjERhYSH279+PuLg4rFu3DlOnTpWybJvl46bAW4+2BADM35aEc2qNxBURERHVnCCKoijFB2dnZ8Pf3x9//PEHevfuDQDIz8+Hl5cXduzYgf79+2PLli2IiopCWloagoODAQBxcXGIjo5GZmYmvLy8qvVZGo0G3t7eyMvLq/Y29koURby46gh2nctEi0BPbIjpCRdnudRlERERVVDd32/Jzsz4+fmhVatWWL16NQoLC1FaWopvvvkGgYGB6Ny5MwAgPj4ebdq0MQQZABg0aBC0Wi2OHj16131rtVpoNBqThcoJgoCPnmoHlYcC5zPy8dHWc1KXREREVCOShRlBELB9+3YkJibC09MTLi4u+PTTT7F161b4+PgAANRqNQIDA0228/X1hUKhMFyKqszcuXPh7e1tWEJCQizZFZvj76nEJ/9qDwBYcSAFe5P4qAMiIrJdZg8zsbGxEAShyuXIkSMQRREvv/wyAgICsG/fPhw6dAjDhg1DVFQU0tPTDfsTBKHCZ4iiWOn6O6ZPn468vDzDkpaWZu5u2ryHWwZg7O1HHUxbewI3CrQSV0RERPRgnMy9w5iYGIwcObLKNqGhodi1axd+/fVX5OTkGK6DffXVV9i+fTtWrVqFt956C0FBQUhISDDZNicnByUlJRXO2BhTKpVQKpU174ydm/5YKxy8eAMXMgvw5rqTWDqmc5UhkYiIyBqZPcyoVCqoVKp7tisqKgIAyGSmJ4dkMhn0+vJ7oISHh2POnDlIT09H3bp1AQDbtm2DUqk0jKuhB+fiLMdnIzvgicUHseNsBn48lIZRt+9FQ0REZCskGzMTHh4OX19fjB07FidOnEBSUhLeeOMNXL58GZGRkQCAgQMHIiwsDKNHj0ZiYiJ27tyJadOmYdy4cQ4/K8lcWgd74z+DWwAAZv96GsmZBRJXREREdH8kCzMqlQpbt25FQUEB+vXrhy5dumD//v3YsGED2rcvH5wql8uxefNmuLi4oGfPnhg+fDgef/xxzJ8/X6qy7dILPRuhV1MVikv0mLwmEbpS3h2YiIhsh2T3malNvM/MvanzijH48z+QW1SCf/dtgjcHt5S6JCIicnBWf58Zsi5B3i6Y92Q7AMCSvRcRf/GGxBURERFVD8MMGQxuE4SRXUMgisCUn44jr6hE6pKIiIjuiWGGTLwbFYZQPzek5xXj7f+dhANchSQiIhvHMEMm3JVO+HxkRzjJBGz+Kx2/HLsmdUlERERVYpihCtqH+OD1Ac0BAO9tOIUrNwolroiIiOjuGGaoUhP7NEG30Doo1JXh9TXHUVrG6dpERGSdGGaoUnKZgIUj2sNT6YRjqbn4cney1CURERFVimGG7qq+rxs+eKINAOCLnRdw9MpNiSsiIiKqiGGGqjSsQz080bEe9CIwec1x5BdzujYREVkXhhm6p1nDWqOejyvSbt5C7MYzUpdDRERkgmGG7snLxRmfjewAmQCsO3YVm05cl7okIiIiA4YZqpauoXUQ83BTAMA760/ieu4tiSsiIiIqxzBD1fZq/2ZoH+IDTXEpXl9zHGV63h2YiIikxzBD1eYsl+HzER3gppAj4fJNfPvHJalLIiIiYpih+xOqckfs0NYAgAXbzuPk1TyJKyIiIkfHMEP37enO9fFY2yCU6kW8tiYRRbpSqUsiIiIHxjBD900QBHz4RFsEebngUlYhPth8VuqSiIjIgTHM0APxcVNg4fD2EATgh4RUbDutlrokIiJyUAwz9MAimqowvndjAMCb6/5CpqZY4oqIiMgRMcxQjUwZ2Bxhdb2QU1SCqWtPQM/p2kREVMsYZqhGlE5yfPFMByidZNh3IRsrD6ZIXRIRETkYhhmqsaYBnpgRFQYAmLf1HM6pNRJXREREjoRhhsziue4N0L9lAHSlerz243EUl5RJXRIRETkIhhkyC0EQ8NG/2kHlocD5jHx8tPWc1CUREZGDYJghs1F5KPHJ0+0BACsOpGBvUpbEFRERkSNgmCGzerhFAKIjQgEA09aewI0CrbQFERGR3WOYIbN769GWaB7ogax8Ld5cdxKiyOnaRERkOQwzZHYuznJ8NqIjFHIZdpzNwA+HUqUuiYiI7BjDDFlEWLAX/jO4BQDg/V/PIDmzQOKKiIjIXjHMkMW80LMRejVVobhEj8lrEqEr1UtdEhER2SGGGbIYmUzAguHt4ePmjFPXNFi4PUnqkoiIyA4xzJBFBXq5YN6T7QAA3/xxEfEXb0hcERER2RuGGbK4wW2C8Ey3EIgiMOWn48grKpG6JCIisiMMM1Qr3o0KQyOVO9LzivH2/zhdm4iIzIdhhmqFm8IJn43oACeZgM1/peOXY9ekLomIiOwEwwzVmvYhPnh9QHMAwHsbTuHKjUKJKyIiInsgaZhJSkrCsGHDoFKp4OXlhZ49e2L37t0mbQRBqLAsWbJEooqppib2aYJujeqgUFeGyWuOo7SM07WJiKhmJA0zkZGRKC0txa5du3D06FF06NABUVFRUKvVJu1WrFiB9PR0wzJ27FiJKqaakssELBzeHp4uTkhMzcWiXclSl0RERDZOsjCTnZ2N5ORkvPXWW2jXrh2aNWuGefPmoaioCKdPnzZp6+Pjg6CgIMPi6upa5b61Wi00Go3JQtajvq8b5jzRFgCwaNcFHL1yU+KKiIjIlkkWZvz8/NCqVSusXr0ahYWFKC0txTfffIPAwEB07tzZpG1MTAxUKhW6du2KJUuWQK+v+tLE3Llz4e3tbVhCQkIs2RV6AEPbB+PJjvWgF4HJa44jv5jTtYmI6MEIooRzZK9du4Zhw4bh2LFjkMlkCAwMxObNm9GhQwdDmw8++AD9+/eHq6srdu7ciffeew/Tp0/HjBkz7rpfrVYLrVZreK3RaBASEoK8vDx4eXlZskt0H/KLS/Do5/twNecWnuxUDwuHd5C6JCIisiIajQbe3t73/P02e5iJjY3FrFmzqmxz+PBhdO7cGY8//jhKSkrwzjvvwNXVFcuWLcPGjRtx+PBh1K1bt9JtFyxYgNmzZyMvL6/aNVX3y6DadyTlJoZ/Ew+9CCx6piOGtA+WuiQiIrISkoWZ7OxsZGdnV9kmNDQUBw4cwMCBA5GTk2NSYLNmzfDiiy/irbfeqnTbAwcOoFevXlCr1QgMDKxWTQwz1m3h9iR8sfMCvFycsGXyQ6jnU/WYKCIicgzV/f12MvcHq1QqqFSqe7YrKioCAMhkpsN2ZDJZlWNiEhMT4eLiAh8fnxrVSdZjUr+m+CMpC8fTcjFlzXH8MK4H5DJB6rKIiMhGSDYAODw8HL6+vhg7dixOnDiBpKQkvPHGG7h8+TIiIyMBAJs2bcLSpUtx6tQpXLx4EcuWLcM777yD8ePHQ6lUSlU6mZmTXIbPR3aAu0KOhMs38e0fl6QuiYiIbIhkYUalUmHr1q0oKChAv3790KVLF+zfvx8bNmxA+/btAQDOzs746quvEB4ejnbt2uHzzz/H7NmzsWDBAqnKJgtp6OeO2KGtAQALtp3HyavVHxNFRESOTdLZTLWFY2ZsgyiKiPkhEZtPpqOxyh2/TuoFN4XZr4QSEZGNqO7vN5/NRFZDEATMeaINgrxccCm7EB9sPit1SUREZAMYZsiq+LgpsHBEewgC8ENCKradVt97IyIicmgMM2R1IpqoMP6hxgCAN9f9hUxNscQVERGRNWOYIas0dUALtA72Qk5RCaauPQG93u6HdhER0QNimCGrpHAqn67t4izDvgvZWHkwReqSiIjISjHMkNVqGuCJGZFhAIB5W87hbDqffk5ERBUxzJBVe7Z7AzzSKgC6Mj3+/f1R5BTqpC6JiIisDMMMWTVBEPDRU+1Q39cVKTeKMOG/R6EtLZO6LCIisiIMM2T1/DyUWBHdFZ5KJxxKuYm31p2EA9zrkYiIqolhhmxCs0BPfPVcJ8hlAtYnXsPnOy9IXRIREVkJhhmyGb2b+eODx9sAAD7bcQHrE69KXBEREVkDhhmyKc90a4AJfW7fUO/nkzh0+abEFRERkdQYZsjmvDmoJR5tEwRdmR7j/3sEl7MLpS6JiIgkxDBDNkcmE/DpiA5oH+KD3KISvLDyMKdsExE5MIYZskkuznIsG9MF9XxccTm7kFO2iYgcGMMM2Sx/TyVWPM8p20REjo5hhmxac07ZJiJyeAwzZPP+OWX7f4nXJK6IiIhqE8MM2QXjKdv/+fkvTtkmInIgDDNkNzhlm4jIMTHMkN3glG0iIsfEMEN2hVO2iYgcD8MM2R1O2SYiciwMM2SXOGWbiMhxMMyQ3eKUbSIix8AwQ3aNU7aJiOwfwwzZPU7ZJiKybwwzZPdkMgELh3PKNhGRvWKYIYfgquCUbSIie8UwQw6DU7aJiOwTwww5lH9O2f5iZ7LUJRERUQ0xzJDDMZ6y/emOJE7ZJiKycQwz5JA4ZZuIyH4wzJDD4pRtIiL7wDBDDotTtomI7IOkYebYsWMYMGAAfHx84Ofnh/Hjx6OgoMCkTWpqKoYMGQJ3d3eoVCpMmjQJOh1/cMg8OGWbiMj2SRZmrl+/jkceeQRNmzZFQkICtm7ditOnTyM6OtrQpqysDJGRkSgsLMT+/fsRFxeHdevWYerUqVKVTXaIU7aJiGybIEp01P7222/x7rvvIj09HTJZeaY6fvw4OnbsiAsXLqBp06bYsmULoqKikJaWhuDgYABAXFwcoqOjkZmZCS8vr2p9lkajgbe3N/Ly8qq9DTmefReyEL3iMMr0Il5/pDlee6SZ1CURETm06v5+S3ZmRqvVQqFQGIIMALi6ugIA9u/fDwCIj49HmzZtDEEGAAYNGgStVoujR49WuW+NRmOyEN0Lp2wTEdkmycJMv379oFar8cknn0Cn0yEnJwdvv/02ACA9PR0AoFarERgYaLKdr68vFAoF1Gr1Xfc9d+5ceHt7G5aQkBDLdYTsCqdsExHZHrOHmdjYWAiCUOVy5MgRtG7dGqtWrcKCBQvg5uaGoKAgNG7cGIGBgZDL5Yb9CYJQ4TNEUax0/R3Tp09HXl6eYUlLSzN3N8mOcco2EZFtcTL3DmNiYjBy5Mgq24SGhgIARo0ahVGjRiEjIwPu7u4QBAELFy5Eo0aNAABBQUFISEgw2TYnJwclJSUVztgYUyqVUCqVNesIOaw7U7av5/2JE2m5eGHlYfzy7wj4uiukLo2IiCph9jCjUqmgUqnua5s7weS7776Di4sLBgwYAAAIDw/HnDlzkJ6ejrp16wIAtm3bBqVSic6dO5u3cCIjd6ZsP774QPmU7e+P4r8vdoPSSX7vjYmIqFZJep+ZL7/8EseOHUNSUhIWL16MmJgYzJ07Fz4+PgCAgQMHIiwsDKNHj0ZiYiJ27tyJadOmYdy4cZyVRBZnMmX7MqdsExFZK0nDzKFDhzBgwAC0bdsW3377Lb755htMmjTJ8L5cLsfmzZvh4uKCnj17Yvjw4Xj88ccxf/58CasmR8KnbBMRWT/J7jNTm3ifGaqpHw+lYvovJwEAn43ogMc71pO4IiIi+2f195khsiWcsk1EZL0YZoiqiVO2iYisE8MMUTXxKdtERNaJYYboPrgq5Fg6pvPfT9n+nk/ZJiKSGsMM0X0K8HThlG0iIivCMEP0ADhlm4jIejDMED0gPmWbiMg6MMwQ1cAz3RpgwkOcsk1EJCWGGaIaenPw31O2J3DKNhFRrWOYIaoh4ynbOZyyTURU6xhmiMyAU7aJiKTDMENkJpyyTUQkDYYZIjP655TthduTGGiIiCyMYYbIzIynbC/alYx5W88x0BARWRDDDJEFPNOtAWZEtgIAfLP3Et7bcBp6PQMNEZElMMwQWchLvRtj7pNtIQjAf/+8gmk/n0BpmV7qsoiI7A7DDJEFPdOtAT4b0QFymYBfjl3Dqz8mQlfKQENEZE4MM0QWNqxDPXz9bCco5DJsOaXGuNVHcEvHadtERObCMENUCwa2DsLy6C5wdZZjb1IWxq44hPziEqnLIiKyCwwzRLWkdzN//PfFbob70Dy3LAG5RbxTMBFRTTHMENWiLqF18MO4HvB1c8aJq3kY+e2fyMrXSl0WEZFNY5ghqmVt63tjzYRwBHgqcU6dj+HfxONa7i2pyyIislkMM0QSaB7oibUTww3Pchq+JB4pfNo2EdEDYZghkkhDP3esnRiOxip3XMu9hae/icd5db7UZRER2RyGGSIJBfu4Ys2EcLQM8kRWvhYjvo3HX1dzpS6LiMimMMwQSczfU4m48T3QIcQHuUUlGLU0AYcu35S6LCIim8EwQ2QFfNwU+P6l7ujRuA4KtKUY810C/kjKkrosIiKbwDBDZCU8lE5Y+Xw3PNzCH8Ulery06gi2nlJLXRYRkdVjmCGyIi7OcnwzugseaxsEXZker/xwDOsTr0pdFhGRVWOYIbIyCicZvhjZEf/qXB9lehFTfjqB/0u4InVZRERWi2GGyAo5yWX4+Kl2GBveEKIIvLP+FL7946LUZRERWSWGGSIrJZMJiB3aGi/3bQIA+PC3c1i4PQmiKEpcGRGRdWGYIbJigiDgP4Nb4o1BLQAAX+y8gA82n2WgISIywjBDZANeebgpYoeEAQCW77+Mt9efRJmegYaICGCYIbIZ0T0b4eN/tYNMAH48lIYpPx1HSZle6rKIiCTHMENkQ4Z3CcGiZzrBSSZgw/HrePn/jqG4pEzqsoiIJCVpmDl27BgGDBgAHx8f+Pn5Yfz48SgoKDBpIwhChWXJkiUSVUwkvch2dfHtmM5QOMmw/UwGXlp1BEW6UqnLIiKSjGRh5vr163jkkUfQtGlTJCQkYOvWrTh9+jSio6MrtF2xYgXS09MNy9ixY2u/YCIr0q9lIFY+3xVuCjn2J2djzPJD0BSXSF0WEZEkJAszv/76K5ydnbF48WK0aNECXbt2xeLFi7Fu3TokJyebtPXx8UFQUJBhcXV1lahqIusR0USF71/qDi8XJxy5koNRS//EzUKd1GUREdU6ycKMVquFQqGATPZ3CXdCyv79+03axsTEQKVSoWvXrliyZAn0+qoHPWq1Wmg0GpOFyB51auCLuPHh8HNX4NQ1DUZ8E48MTbHUZRER1SrJwky/fv2gVqvxySefQKfTIScnB2+//TYAID093dDu/fffx9q1a7Fjxw6MHDkSU6dOxYcffljlvufOnQtvb2/DEhISYtG+EEkpLNgLayaEI8jLBRcyC/D0knik3SySuiwiolpj9jATGxtb6aBd4+XIkSNo3bo1Vq1ahQULFsDNzQ1BQUFo3LgxAgMDIZfLDfubMWMGwsPD0aFDB0ydOhWzZ8/GJ598UmUN06dPR15enmFJS0szdzeJrErTAA+snRiOBnXckHqzCMO/icfFrIJ7b0hEZAcE0cy3Es3OzkZ2dnaVbUJDQ+Hi4mJ4nZGRAXd3dwiCAC8vL8TFxeHpp5+udNsDBw6gV69eUKvVCAwMrFZNGo0G3t7eyMvLg5eXV/U7Q2RjMjTFeHZZApIzC6DyUGD1C90RFsy/eSKyTdX9/XYy9werVCqoVKr72uZOKPnuu+/g4uKCAQMG3LVtYmIiXFxc4OPjU5MyiexSoJcL1ozvgTHfHcLp6xqM/DYeK1/ohk4NfKUujYjIYsweZu7Hl19+iYiICHh4eGD79u144403MG/ePENQ2bRpE9RqNcLDw+Hq6ordu3fjnXfewfjx46FUKqUsnchq+Xko8cO4Hnhh5WEcvZKD55YlYPnYrghv4id1aUREFmH2y0z3Y8yYMdi8eTMKCgrQsmVLTJs2DaNHjza8v3XrVkyfPh3JycnQ6/Vo3LgxXnrpJbzyyitwcqp+DuNlJnJERbpSjFt9BAeSb0DpJMOS5zrj4ZYBUpdFRFRt1f39ljTM1BaGGXJUxSVliPkhETvOZsBZLuCzER0R2a6u1GUREVVLdX+/+WwmIjvm4izH1891wpD2wSgpE/Hqj8ew9ghn9xGRfWGYIbJzznIZPhvRASO7hkAvAm/8/BdWx6dIXRYRkdkwzBA5ALlMwNwn2+LFXo0AAO9tOI2v9iTfYysiItvAMEPkIARBwIzIVpjUvxkA4OOt5/Hx1nNwgGFzRGTnGGaIHIggCJgyoDmmP9oSAPDVnouYtekM9HoGGiKyXQwzRA5oQp8m+ODxNhAEYOXBFLy57i+UMdAQkY1imCFyUM/1aIiFw9tDLhOw9uhVTPoxEbrSqp9IT0RkjRhmiBzYEx3rY/GoTnCWC9h8Mh0Tvz+K4pIyqcsiIrovDDNEDm5wmyAsG9sVLs4y7DqXidHLE5ChKZa6LCKiamOYISL0ae6PVc93g6fSCYdTcvDY5/uw70KW1GUREVULwwwRAQC6N/bDhpieaBnkiRuFOoz57hAWbk/iwGAisnoMM0Rk0NjfA/97pSee6dYAogh8sfMCRi9PQGY+LzsRkfVimCEiEy7Ocsx9si0+G9EBbgo5Dl68gcc+34+DF7OlLo2IqFIMM0RUqcc71sPGmF5oEeiJ7AItnluWgC92XuBlJyKyOgwzRHRXTQPKLzsN71IfehFYuD0J0SsOIbtAK3VpREQGDDNEVCVXhRwf/6s95j/dHi7OMuy7kI3HPt+HhEs3pC6NiAgAwwwRVdO/OtfHxpheaBrggcx8LZ5Z+icW707mc52ISHIMM0RUbc0DPbExpiee7FQPehH45PfzeH7lYdws1EldGhE5MIYZIrovbgonLHi6PT5+qh2UTjLsTcrCY5/vw5GUm1KXRkQOimGGiO6bIAgY3jUEG2J6orG/O9SaYoz49k8s2XuRl52IqNYxzBDRA2sZ5IWNMb0wrEMwyvQi5m05h5dWH0EOLzsRUS1imCGiGvFQOuGzER3w4RNtoXAqf1hl1KL9OJaaI3VpROQgGGaIqMYEQcCo7g2w/uUIhPq54VruLQxfEo9l+y5BFHnZiYgsi2GGiMymdbA3Nr3aC5Ht6qJUL+KDzWcx/r9HkVdUInVpRGTHGGaIyKw8XZzx5TMd8f6w1lDIZdh+JgORi/bhRFqu1KURkZ1imCEisxMEAaPDQ7Hu3xFoUMcNV3Nu4V9LDmLFgcu87EREZscwQ0QW07a+N36d1AuDWwehpEzErE1n8PL/HYOmmJediMh8GGaIyKK8XJzx9XOdMHNIGJzlAracUiPqi/04dS1P6tKIyE4wzBCRxQmCgOd7NsLaiRGo7+uK1JtFePKrg/hvfAovOxFRjTHMEFGt6RDig82v9saAsEDoyvR4d8NpvPpjIvJ52YmIaoBhhohqlbebM74d3RkzIlvBSSbg17/SMfTLAzh9nZediOjBMMwQUa0TBAEv9W6MnyaGo56PKy5nF+KJrw7ih4RUXnYiovvGMENEkunUwBebJ/VC/5YB0JXq8fb6k5i85jgKtaVSl0ZENoRhhogk5eOmwNIxXTD90ZaQywRsOH4dQ77cj3NqjdSlEZGNYJghIsnJZAIm9GmCNeN7IMjLBZeyCjHsywP46XAaLzsR0T0xzBCR1egSWge/vdYbfZr7Q1uqx3/W/YWpa0+gSMfLTkR0dxYNM3PmzEFERATc3Nzg4+NTaZvU1FQMGTIE7u7uUKlUmDRpEnQ6nUmbkydPok+fPnB1dUW9evUwe/Zs/t8akZ2q467AiuiueGNQC8gE4Jdj1zDsywO4kJEvdWlEZKUsGmZ0Oh2efvpp/Pvf/670/bKyMkRGRqKwsBD79+9HXFwc1q1bh6lTpxraaDQaDBgwAMHBwTh8+DAWLVqE+fPnY+HChZYsnYgkJJMJeOXhpvhxXA8EeCpxIbMAQ788gHVHr0pdGhFZIUGshVMcK1euxOTJk5Gbm2uyfsuWLYiKikJaWhqCg4MBAHFxcYiOjkZmZia8vLzw9ddfY/r06cjIyIBSqQQAzJs3D4sWLcLVq1chCMI9P1+j0cDb2xt5eXnw8vIye/+IyHKyC7R4fc1x7LuQDQAY3qU+Zg1tA1eFXOLKiMjSqvv7LemYmfj4eLRp08YQZABg0KBB0Gq1OHr0qKFNnz59DEHmTpvr168jJSWl0v1qtVpoNBqThYhsk8pDiZXPd8OUAc0hE4CfjlzF44sPIDmzQOrSiMhKSBpm1Go1AgMDTdb5+vpCoVBArVbftc2d13fa/NPcuXPh7e1tWEJCQixQPRHVFrlMwKT+zfD9S92h8lDifEY+hn65HxuOX5O6NCKyAvcdZmJjYyEIQpXLkSNHqr2/yi4TiaJosv6fbe5cGbvbJabp06cjLy/PsKSlpVW7HiKyXhFNVPjttV4Ib+yHIl0ZXos7jum/nERxSZnUpRGRhJzud4OYmBiMHDmyyjahoaHV2ldQUBASEhJM1uXk5KCkpMRw9iUoKKjCGZjMzEwAqHDG5g6lUmlyWYqI7EeApwu+f6k7Pt95AYt2XcCPh1JxJOUmZg1tjYimKqnLIyIJ3HeYUalUUKnMc8AIDw/HnDlzkJ6ejrp16wIAtm3bBqVSic6dOxvavP3229DpdFAoFIY2wcHB1Q5NRGRf5DIBUwY0R7fQOpi8JhEXMgswalkCBrUOxDuPhaGBn5vUJRJRLbLomJnU1FQcP34cqampKCsrw/Hjx3H8+HEUFJQP3Bs4cCDCwsIwevRoJCYmYufOnZg2bRrGjRtnGLU8atQoKJVKREdH49SpU1i/fj0+/PBDTJkypVozmYjIfvVqpsKOKX0QHREKuUzA76cz8Mine/HJ7+f4fCciB2LRqdnR0dFYtWpVhfW7d+9G3759AZQHnpdffhm7du2Cq6srRo0ahfnz55tcJjp58iReeeUVHDp0CL6+vpg4cSLee++9aocZTs0msn9JGfmYvekM9ieXT+EO8FTirUdb4vEO9SCT8X98iGxRdX+/a+U+M1JjmCFyDKIoYsfZTHyw+Qyu3CgCAHQI8cHMIWHo2MBX4uqI6H4xzBhhmCFyLNrSMqw4kIJFOy+gUFc+0+nJTvXw5uCWCPRykbg6IqouhhkjDDNEjilTU4yPfz+Pn28/BsFNIccrDzfFi70awcWZdxAmsnYMM0YYZogc24m0XMRuOo3E1FwAQIM6bngnshUGhgVyIgGRFWOYMcIwQ0R6vYiNJ65j7pazyNBoAQA9m/rhvajWaBHkKXF1RFQZhhkjDDNEdEehthRf77mIb/ddgq5UD7lMwHPdG+D1Ac3h46aQujwiMsIwY4Rhhoj+Ke1mET787Sy2nCq/w7iPmzOmDGiOUd0awEku6WPriOg2hhkjDDNEdDcHL2Zj9qYzOKfOBwA0D/TAzCGt0ZOPRiCSHMOMEYYZIqpKaZkecYfTsGDbeeQUlQAAH41AZAUYZowwzBBRdeQW6fDZjgv4759XUKYXoZDL8FLvRnj54abwUN73o+yIqIYYZowwzBDR/biQkY/Zv57Bvgt/PxrhzcEt8URHPhqBqDYxzBhhmCGi+8VHIxBJj2HGCMMMET0oPhqBSDoMM0YYZoiopjLzi/HJ1vNYy0cjENUahhkjDDNEZC7/fDRCSB1XvPNYGAa15qMRiMyNYcYIwwwRmZMoithwnI9GILI0hhkjDDNEZAmF2lIs2XsR3/xR/mgEmQA816MhXn+kOXzd+WgEoppimDHCMENElvTPRyN4u5Y/GuHZ7nw0AlFNMMwYYZghotrARyMQmRfDjBGGGSKqLZU9GmFgWCDeiWyFhn7uEldHZFsYZowwzBBRbcsrKsFnO5OwOv7vRyO82LsRXuGjEYiqjWHGCMMMEUmFj0YgenAMM0YYZohISqIoYuftRyOk3H40QutgL7zYqxEi29WF0ok33SOqDMOMEYYZIrIG2tIyrDyQgkW7klGgLQUA+LkrMLJbCJ7t3hDBPq4SV0hkXRhmjDDMEJE1uVGgRdzhNHz/5xWk5xUDAOQyAQPDAjEmPBQ9Gtfh3YSJwDBjgmGGiKxRaZkeO85mYOXBFPx56aZhffNAD4wJD8UTHevBnYOFyYExzBhhmCEia3denY/V8Sn45dg13Copfzq3p4sTnu4cgtHhDdFIxWnd5HgYZowwzBCRrci7VYJ1R69idXyKYbAwAPRp7o+xEQ3Rt3kAZ0GRw2CYMcIwQ0S2Rq8X8ceFLKyOv4Ld5zNx50jdoI4bxoQ3xNOdQ+Dt5ixtkUQWxjBjhGGGiGzZlRuF+P7PK1hzOA2a4vJZUC7OMjzRsR7GhIeiVV0e18g+McwYYZghIntwS1eG/x2/hlUHUwzPfwKAbqF1MDYiFANbB8KZD7YkO8IwY4RhhojsiSiKOJySg1XxKdh6So0yfflhPNBLiWe7N8TIbiEI8HSRuEqimmOYMcIwQ0T2Sp1XjB8OpeKHhFRkF2gBAM5yAZFt62JMRCg6hvjwnjVksxhmjDDMEJG905XqseVUOlYdTMGx1FzD+rb1vDEmvCGGtA+GizMfm0C2hWHGCMMMETmSk1fzsDo+BRtOXIeuVA8A8HVzxoiuDfBcjwao7+smcYVE1cMwY4Rhhogc0c1CHdbcfmzCtdxbAACZADzSKhBjI0IR0cSPl6DIqjHMGGGYISJHVqYXsfNsBlbHX8H+5GzD+qYBHhgT3hBPdqoPDz42gaxQdX+/LTqHb86cOYiIiICbmxt8fHwqbZOamoohQ4bA3d0dKpUKkyZNgk6nM7yfkpICQRAqLFu3brVk6UREdkMuEzCwdRC+f6k7dkx5CGPDG8JdIUdyZgHe23AaPT7cidiNp3Exq0DqUokeiEWjuE6nw9NPP43w8HAsX768wvtlZWWIjIyEv78/9u/fjxs3bmDs2LEQRRGLFi0yabtjxw60bt3a8LpOnTqWLJ2IyC41DfDErGFtMG1QC/xy7BpWxafgUlYhVh5MwcqDKejdTIWx4aF4uGUA5HxsAtmIWrnMtHLlSkyePBm5ubkm67ds2YKoqCikpaUhODgYABAXF4fo6GhkZmbCy8sLKSkpaNSoERITE9GhQ4cH+nxeZiIiqpwoijiQfAOr4lOw82wGbt+yBvV9XTG6R0MM7xICX3eFtEWSw7KKy0z3Eh8fjzZt2hiCDAAMGjQIWq0WR48eNWk7dOhQBAQEoGfPnvj555+r3K9Wq4VGozFZiIioIkEQ0KuZCkvHdMHeNx7GhD6N4ePmjKs5tzB3yzn0mLsT//n5BE5dy5O6VKK7kjTMqNVqBAYGmqzz9fWFQqGAWq0GAHh4eGDhwoX4+eef8dtvv6F///4YMWIEvv/++7vud+7cufD29jYsISEhFu0HEZE9CKnjhumPtsKf0/vj43+1Q+tgL2hL9fjpyFVELdqPYYsPYNHOC/jrai70erufO0I25L7HzMTGxmLWrFlVtjl8+DC6dOlSrf1VNi1QFEXDepVKhddff93wXpcuXZCTk4OPP/4Yzz33XKX7nD59OqZMmWJ4rdFoGGiIiKrJxVmO4V1C8HTn+jiWmotVB1Pw28l0nEjLxYm0XCzYngSVhwIPNfNHnxb+6N3MH3V4KYokdN9hJiYmBiNHjqyyTWhoaLX2FRQUhISEBJN1OTk5KCkpqXDGxliPHj2wbNmyu76vVCqhVCqrVQMREVVOEAR0buiLzg19MSOqFXaezcSe85k4kHwD2QU6/JJ4Db8kXoMgAO3q+6Bv8/Jw076+DwcPU6267zCjUqmgUqnM8uHh4eGYM2cO0tPTUbduXQDAtm3boFQq0blz57tul5iYaGhPRESWF+Dpgme6NcAz3RpAV6rHsdQc7Dmfhb1JWTibrjGctfl85wX4ujmjdzN/9Gnuj4ea+8Pfk/9zSZZl0anZqampuHnzJlJTU1FWVobjx48DAJo2bQoPDw8MHDgQYWFhGD16ND755BPcvHkT06ZNw7hx4wyjlletWgVnZ2d07NgRMpkMmzZtwhdffIGPPvrIkqUTEdFdKJxk6NHYDz0a++GtR1siQ1OMvbeDzR8XspBTVIKNJ65j44nrAIA29bzQt3kA+rTwR8cQHzjJJR2uSXbIolOzo6OjsWrVqgrrd+/ejb59+wIoDzwvv/wydu3aBVdXV4waNQrz5883XCZatWoVPvroI1y5cgVyuRzNmzfH5MmT7zpepjKcmk1EVDtKy/Q4npaLPeezsCcpE6eumc4m9XRxQu9mKkO4CfRykahSsgV8nIERhhkiImlk5WvxR9LfZ21yi0pM3m8Z5Im+LQLQp7k/uoT6wplnbcgIw4wRhhkiIumV6UWcuJqLveezsCcpC39dzYXxL5CH0gkRTfzKw00Lf9TzcZWuWLIKDDNGGGaIiKzPzUId9l3Iwp7zWfgjKQs3CnUm7zcL8EDfFv7o0zwAXRv5Qukkl6hSkgrDjBGGGSIi66bXizh1Pc9w1iYxNQfG9+VzdZbfPmtTHm4a+LlJVyzVGoYZIwwzRES2Ja+oBPuSswzTv7PytSbvN1a546Hm/ujbwh89GvvBxZlnbewRw4wRhhkiItsliiLOpGuwN6k83By9koMyo9M2yttTxcvP2vijkcq90rvLk+1hmDHCMENEZD80xSU4mJxdPv37fBbUmmKT9xvUcUOf22dtwpv4wU1h0VuqkQUxzBhhmCEisk+iKCIpowB7zmdib1IWDqfcREnZ3z9rMqH8AZpN/T3QNMADTQLK/9k0wANeLs4SVk7VwTBjhGGGiMgxFGhLEX/xBvacz8Se81m4lnvrrm0DPJWGYNPE/++QE+Cp5GUqK8EwY4RhhojI8YiiiKwCLZIzC3AxswDJmQVIzir/Z4ZGe9ftPF2cTMLNnbM6IXXc+ADNWsYwY4RhhoiIjGmKSwwB52JW4e1/FuDKjUKTKeHGFE4yNFa5o4m/0eUqfw809nfnbCoLYZgxwjBDRETVoS0tQ0p2UflZHKMzOZeyCqAt1Ve6jSAAIb5uJmdy7oQdb1eOy6kJhhkjDDNERFQTZXoR13Ju4eLtcGMcdPJuldx1O5WHEk0D3I0uV3miaYAHAr04Lqc6GGaMMMwQEZEliKKI7AKdIdwYxuZkFlSYMm7MU+mExkbjce4sIb6ucOLDNg0YZowwzBARUW3LLy7BxazC8oBz+yzOxcwCXLlZZHLTP2MKuQz167jCy8UZHkonuCnk8FA6wf324qGUG/377fUKuelrpdxunmNV3d9v3kmIiIjIAjxdnNEhxAcdQnxM1mtLy3DlhtG4nNvLpewCFJfocSmrsMaf7SwXbgedOyFHbnh9t1DkoZTDTWG87u8g5WzlZ4sYZoiIiGqR0kmO5oGeaB7oabJerxdxLfcW0nKKUFBcikJdKQq1ZSjUlqJQW4qC2/9eoCutsK5IV4oCbSmKS8oHKZeUicgtKkFu0d3H89wPhZPs71Ck+MeZotuv+7cKQO9m/mb5vPvFMENERGQFZDIBIXXcEFLnwZ8IXlqmR6HOOACVB6KC26/LQ0+Z0XvloanAKDTdCVEF2lLobs/g0pXqcbNUh5tVnDQK8FIyzBAREVHNOMll8HaVmW1KeEmZvtJQVB56TENR5wa+ZvnMB8EwQ0RERJVylsvg46aAj5tC6lKqZN0jeoiIiIjugWGGiIiIbBrDDBEREdk0hhkiIiKyaQwzREREZNMYZoiIiMimMcwQERGRTWOYISIiIpvGMENEREQ2jWGGiIiIbBrDDBEREdk0hhkiIiKyaQwzREREZNMc4qnZoigCADQajcSVEBERUXXd+d2+8zt+Nw4RZvLz8wEAISEhEldCRERE9ys/Px/e3t53fV8Q7xV37IBer8f169fh6ekJQRDMum+NRoOQkBCkpaXBy8vLrPu2Bey/Y/cf4Hfg6P0H+B2w/5brvyiKyM/PR3BwMGSyu4+McYgzMzKZDPXr17foZ3h5eTnkH/Ed7L9j9x/gd+Do/Qf4HbD/lul/VWdk7uAAYCIiIrJpDDNERERk0xhmakipVGLmzJlQKpVSlyIJ9t+x+w/wO3D0/gP8Dth/6fvvEAOAiYiIyH7xzAwRERHZNIYZIiIismkMM0RERGTTGGaIiIjIpjHMEBERkU1jmLmHnJwcjB49Gt7e3vD29sbo0aORm5tb5Ta//PILBg0aBJVKBUEQcPz48bu2FUURjz76KARBwP/+9z+z1m4Oluj/zZs38eqrr6JFixZwc3NDgwYNMGnSJOTl5VmuIzVgqb8BrVaLV199FSqVCu7u7hg6dCiuXr1qmU7UwIP0XxRFxMbGIjg4GK6urujbty9Onz5t0katVmP06NEICgqCu7s7OnXqhJ9//tmCPXkwluo/AMTHx6Nfv35wd3eHj48P+vbti1u3blmoJw/Okt/Bnbb2dhy8V/+t/Tj41VdfoVGjRnBxcUHnzp2xb9++Ktvv3bsXnTt3houLCxo3bowlS5ZUaLNu3TqEhYVBqVQiLCwM69evN1/BIlVp8ODBYps2bcSDBw+KBw8eFNu0aSNGRUVVuc3q1avFWbNmiUuXLhUBiImJiXdtu3DhQvHRRx8VAYjr1683b/FmYIn+nzx5UnzyySfFjRs3isnJyeLOnTvFZs2aiU899ZQFe/LgLPU3MHHiRLFevXri9u3bxWPHjokPP/yw2L59e7G0tNRCPXkwD9L/efPmiZ6enuK6devEkydPiiNGjBDr1q0rajQaQ5tHHnlE7Nq1q5iQkCBevHhRfP/990WZTCYeO3bM0l26L5bq/8GDB0UvLy9x7ty54qlTp8SkpCRx7dq1YnFxsaW7dN8s9R3cYY/HwXv135qPg3FxcaKzs7O4dOlS8cyZM+Jrr70muru7i1euXKm0/aVLl0Q3NzfxtddeE8+cOSMuXbpUdHZ2Fn/++WdDm4MHD4pyuVz88MMPxbNnz4offvih6OTkJP75559mqZlhpgpnzpwRAZh82fHx8SIA8dy5c/fc/vLly1WGmePHj4v169cX09PTrfI/Ykv339hPP/0kKhQKsaSkpCYlm52lvoPc3FzR2dlZjIuLM6y7du2aKJPJxK1bt5qt/pp6kP7r9XoxKChInDdvnmFdcXGx6O3tLS5ZssSwzt3dXVy9erXJtnXq1BGXLVtm5l48OEv2v3v37uKMGTMsV7yZWPI7EEX7PA7eT/+NWctxsFu3buLEiRNN1rVs2VJ86623Km3/n//8R2zZsqXJugkTJog9evQwvB4+fLg4ePBgkzaDBg0SR44caZaaeZmpCvHx8fD29kb37t0N63r06AFvb28cPHiwRvsuKirCM888gy+//BJBQUE1LdUiLNn/f8rLy4OXlxecnKzr2aeW+g6OHj2KkpISDBw40LAuODgYbdq0Mft3WxMP0v/Lly9DrVab9E2pVKJPnz4m2/Tq1Qtr1qzBzZs3odfrERcXB61Wi759+1qsP/fLUv3PzMxEQkICAgICEBERgcDAQPTp0wf79++3bIcegCX/Buz1OFjd/v+TNRwHdTodjh49alI7AAwcOPCutcfHx1doP2jQIBw5cgQlJSVVtjHX8Y5hpgpqtRoBAQEV1gcEBECtVtdo36+//joiIiIwbNiwGu3HkizZf2M3btzA+++/jwkTJphtn+Ziqe9ArVZDoVDA19fXZH1gYKBZv9uaepD+31kfGBhosv6ffVuzZg1KS0vh5+cHpVKJCRMmYP369WjSpIkZe1Azlur/pUuXAACxsbEYN24ctm7dik6dOqF///64cOGCObtQY5b8G7DX42B1+2/MWo6D2dnZKCsru6/a1Wp1pe1LS0uRnZ1dZRtzHe8cMszExsZCEIQqlyNHjgAABEGosL0oipWur66NGzdi165d+Oyzzx54HzUhdf+NaTQaREZGIiwsDDNnzjTLPqvDmr6D2tjvP9VG///5/j+3mTFjBnJycrBjxw4cOXIEU6ZMwdNPP42TJ0+aoYdVk7r/er0eADBhwgQ8//zz6NixIz799FO0aNEC3333nTm6eE9SfweOcBy8138Dd0h1HKxKdWuvqv0/19/vPu+HdZ3TryUxMTEYOXJklW1CQ0Px119/ISMjo8J7WVlZFRLm/di1axcuXrwIHx8fk/VPPfUUevfujT179jzwvqtD6v7fkZ+fj8GDB8PDwwPr16+Hs7NzjfdZXVJ/B0FBQdDpdMjJyTE5O5OZmYmIiIgH3m91WbL/dy4XqNVq1K1b17A+MzPTsM3Fixfx5Zdf4tSpU2jdujUAoH379ti3bx8WL15c6UwIc5K6/3fWh4WFmWzbqlUrpKamVr8jNSD1d2DPx8Hq9P8OKY+DlVGpVJDL5RXOmFRW+x1BQUGVtndycoKfn1+VbczxWwKAs5mqcmfgV0JCgmHdn3/+WePBn+np6eLJkydNFgDi559/Ll66dMnc3Xhgluq/KIpiXl6e2KNHD7FPnz5iYWGhOcs2K0t9B3cGAK9Zs8aw7vr161Y7APh++n9n8ONHH31kWKfVak0GP/71118iAPHMmTMm2w4cOFAcN26cBXryYCzVf71eLwYHB1cYANyhQwdx+vTpFujJg7PUd2DPx8Hq9F8Urfc42K1bN/Hf//63ybpWrVpVOQC4VatWJusmTpxYYQDwo48+atJm8ODBZhsAzDBzD4MHDxbbtWsnxsfHi/Hx8WLbtm0rTMlr0aKF+Msvvxhe37hxQ0xMTBQ3b94sAhDj4uLExMREMT09/a6fAyscxS+Klum/RqMRu3fvLrZt21ZMTk4W09PTDYu1TUsWRcv9DUycOFGsX7++uGPHDvHYsWNiv379rHZq9v32f968eaK3t7f4yy+/iCdPnhSfeeYZk2mpOp1ObNq0qdi7d28xISFBTE5OFufPny8KgiBu3ry5Vvt3L5bovyiK4qeffip6eXmJa9euFS9cuCDOmDFDdHFxEZOTk2utb9Vlqe/gn+zpOHiv/lvzcfDO1Ozly5eLZ86cESdPniy6u7uLKSkpoiiK4ltvvSWOHj3a0P7O1OzXX39dPHPmjLh8+fIKU7MPHDggyuVycd68eeLZs2fFefPmcWp2bbpx44b47LPPip6enqKnp6f47LPPijk5OSZtAIgrVqwwvF6xYoUIoMIyc+bMu36Otf5HbIn+7969u9L3AYiXL1+utb5Vl6X+Bm7duiXGxMSIderUEV1dXcWoqCgxNTW1djp1Hx6k/3q9Xpw5c6YYFBQkKpVK8aGHHhJPnjxpsk1SUpL45JNPigEBAaKbm5vYrl27ClO1rYGl+i+Kojh37lyxfv36opubmxgeHi7u27fPwr15MJb8Dv65D3s5Dt6r/9Z+HFy8eLHYsGFDUaFQiJ06dRL37t1reG/s2LFinz59TNrv2bNH7Nixo6hQKMTQ0FDx66+/rrDPtWvXii1atBCdnZ3Fli1biuvWrTNbvYIo3h6lQ0RERGSDHHI2ExEREdkPhhkiIiKyaQwzREREZNMYZoiIiMimMcwQERGRTWOYISIiIpvGMENEREQ2jWGGiIiIbBrDDBEREdk0hhkiIiKyaQwzREREZNP+H+rPKvLoJl6XAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "\n", + "energy_pot = []\n", + "strain_lst = np.linspace(0.86, 1, 11) - 1\n", + "for strain in strain_lst:\n", + " wf = energy_at_volume(element='Al', strain=strain)\n", + " out = wf.run()\n", + "\n", + " energy_pot.append(out['energy_pot']) \n", + "\n", + "plt.plot(strain_lst, energy_pot);" + ] + }, + { + "cell_type": "markdown", + "id": "f962df29-d580-44a7-a264-12101f77b61b", + "metadata": {}, + "source": [ + "### Data store\n", + "\n", + "Temporarily deprecated until we merge with the existing storage branch" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "7fcc5262-713b-4755-a730-0b1f6fa6349c", + "metadata": {}, + "outputs": [], + "source": [ + "# from pyiron_workflow.node_library.dev_tools import DataStore, node_to_data_container, extract_value" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "6fd3b054-d066-4b05-9cbf-f5fa88476a45", + "metadata": {}, + "outputs": [], + "source": [ + "# ds = DataStore(path='DataStore')\n", + "# ds.store(wf, overwrite=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "347cdcc9-db7a-4d84-9578-a04cad573aac", + "metadata": {}, + "outputs": [], + "source": [ + "# wf_new = ds.load(wf.label)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "e3720e67-67d0-4f3a-a8ae-57dbd86c20b7", + "metadata": {}, + "outputs": [], + "source": [ + "# wf.lammps" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "2c3b4321-f8a9-4e7f-bd8e-63bae6abf8d5", + "metadata": {}, + "outputs": [], + "source": [ + "# wf.outputs.energy_pot.value" + ] + }, + { + "cell_type": "markdown", + "id": "5ddd1963-e2e3-41d9-a0b5-eb0c0ffa6f20", + "metadata": {}, + "source": [ + "TODO: Convert data_container to node" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "e9083ee4-df8a-4a57-b168-f932b52071c3", + "metadata": {}, + "outputs": [], + "source": [ + "# out = wf(element='Fe')" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "17f03ced-1b20-4db1-b78a-70db0c4f9c1c", + "metadata": {}, + "outputs": [], + "source": [ + "# ds.remove(wf.label)" + ] + }, + { + "cell_type": "markdown", + "id": "080d1640-d376-4030-b58d-ce7b39b2a181", + "metadata": {}, + "source": [ + "#### Test pickle" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "7c476ec9-e35b-46fe-bca1-f7705aa205d2", + "metadata": {}, + "outputs": [], + "source": [ + "# import cloudpickle as pickle" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "f0b574b3-3c74-44fe-a471-650738f2af9c", + "metadata": {}, + "outputs": [], + "source": [ + "# with open('node.pickle', 'wb') as f:\n", + "# pickle.dump(wf, f)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "bf304ec5-2fe4-46cc-8ec8-2fcdb82500b6", + "metadata": {}, + "outputs": [], + "source": [ + "# with open('node.pickle', 'rb') as f:\n", + "# new_node = pickle.load(f)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "397d1b5e-9336-463a-94d5-a508b8a1b9e7", + "metadata": {}, + "outputs": [], + "source": [ + "# new_node.run();" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "fc47c328-a3c6-42da-856e-cdfe58bdb5f5", + "metadata": {}, + "outputs": [], + "source": [ + "# new_node.outputs.energy_pot.value" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "3edaaa9e-8b3f-4298-a9f2-456d7013276a", + "metadata": {}, + "outputs": [], + "source": [ + "# out.energy_pot" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b1d5e21f-6cae-4d0c-8543-1d3c1790fc37", + "metadata": {}, + "outputs": [], + "source": [ + "# out" + ] + }, + { + "cell_type": "markdown", + "id": "3cd82505-a654-4f88-999e-9f9c636c0a96", + "metadata": {}, + "source": [ + "## Apply Jan's atomistic class" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "21e00942-bc9a-48f9-838d-e16aa4d67fb6", + "metadata": {}, + "outputs": [], + "source": [ + "wf.register('pyiron_workflow.node_library.atomistics', domain='atomistics')" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "afd76914-fa37-4ec2-b22d-adecc03f232f", + "metadata": {}, + "outputs": [], + "source": [ + "wf = Workflow('Murnaghan')\n", + "wf.bulk = wf.create.atomistics.task.Bulk('Al', cubic=True)\n", + "wf.lammps = wf.create.atomistics.calculator.Lammps()\n", + "wf.lammps_potential = wf.create.atomistics.calculator.LammpsPotential(structure=wf.bulk)\n", + "wf.macro = wf.create.atomistics.macro.EnergyVolumeCurve(calculator=wf.lammps)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "bc0aae29-1d88-4720-97c1-035071b200d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Atoms(symbols='Al', pbc=True, cell=[[0.0, 2.025, 2.025], [2.025, 0.0, 2.025], [2.025, 2.025, 0.0]])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bulk = wf.bulk.run()\n", + "bulk" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "84d5b8d5-c39f-4102-9a22-4298611abb94", + "metadata": {}, + "outputs": [ + { + "data": { + "application/json": { + "channels": { + "potential_name": { + "connected": false, + "connections": [], + "label": "potential_name", + "ready": false, + "type_hint": "None", + "value": "NOT_DATA" + }, + "resource_path": { + "connected": false, + "connections": [], + "label": "resource_path", + "ready": false, + "type_hint": "None", + "value": "NOT_DATA" + }, + "structure": { + "connected": true, + "connections": [ + "bulk.structure" + ], + "label": "structure", + "ready": false, + "type_hint": "None", + "value": "NOT_DATA" + } + }, + "connected": true, + "fully_connected": false, + "label": "Inputs", + "ready": false + }, + "text/plain": [ + "" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wf.lammps_potential.inputs" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "37c3d874-2be5-4b83-8a8b-19c26c6d5197", + "metadata": {}, + "outputs": [], + "source": [ + "wf.draw();" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37d7aaf1-fbc9-45ed-ba3a-ab44254d99aa", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "56b272e8-8dd9-46f6-aa92-0d1463b54ac8", + "metadata": {}, + "source": [ + "#### Debug example" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "ac98a74f-c712-49bd-8622-dadf3579be07", + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'Wrappers' object has no attribute 'single_value_node'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[39], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;129m@Workflow\u001b[39m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwrap_as\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msingle_value_node\u001b[49m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstring\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcreate_string\u001b[39m(my_string: \u001b[38;5;28mstr\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m my_string\n\u001b[1;32m 5\u001b[0m \u001b[38;5;129m@Workflow\u001b[39m\u001b[38;5;241m.\u001b[39mwrap_as\u001b[38;5;241m.\u001b[39msingle_value_node(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstring\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplus\u001b[39m(my_string_1: \u001b[38;5;28mstr\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m, my_string_2: \u001b[38;5;28mstr\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m, my_string_3: \u001b[38;5;28mstr\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m, my_string_4: \u001b[38;5;28mstr\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m):\n", + "\u001b[0;31mAttributeError\u001b[0m: 'Wrappers' object has no attribute 'single_value_node'" + ] + } + ], + "source": [ + "@Workflow.wrap_as.single_value_node('string')\n", + "def create_string(my_string: str=''):\n", + " return my_string\n", + "\n", + "@Workflow.wrap_as.single_value_node('string')\n", + "def plus(my_string_1: str='', my_string_2: str='', my_string_3: str='', my_string_4: str=''):\n", + " return my_string_1 + my_string_2 + my_string_3 + my_string_4" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d01decfc-8d46-47f2-b7d4-495e2d91db59", + "metadata": {}, + "outputs": [], "source": [ "wf = Workflow('test')\n", "\n", @@ -4164,7 +4272,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.12.2" } }, "nbformat": 4, diff --git a/pyiron_workflow/node_library/atomistic/calculator/ase.py b/pyiron_workflow/node_library/atomistic/calculator/ase.py index 3f401b49..8b4090de 100644 --- a/pyiron_workflow/node_library/atomistic/calculator/ase.py +++ b/pyiron_workflow/node_library/atomistic/calculator/ase.py @@ -1,7 +1,7 @@ -from pyiron_workflow.function import single_value_node, function_node +from pyiron_workflow.function import function_node -@single_value_node() +@function_node() def static(atoms=None, engine=None, _internal=None, keys_to_store=None): from pyiron_workflow.node_library.atomistic.calculator.data import OutputCalcStatic diff --git a/pyiron_workflow/node_library/atomistic/calculator/generic.py b/pyiron_workflow/node_library/atomistic/calculator/generic.py index fcf40a1d..64639429 100644 --- a/pyiron_workflow/node_library/atomistic/calculator/generic.py +++ b/pyiron_workflow/node_library/atomistic/calculator/generic.py @@ -1,4 +1,4 @@ -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node from pyiron_workflow.node_library.atomistic.calculator.data import ( InputCalcMinimize, @@ -7,7 +7,7 @@ ) -@single_value_node("generic") +@function_node("generic") def static(structure=None, engine=None): # , keys_to_store=None): output = engine( structure=structure, diff --git a/pyiron_workflow/node_library/atomistic/engine/ase.py b/pyiron_workflow/node_library/atomistic/engine/ase.py index d8b49c45..1566bbeb 100644 --- a/pyiron_workflow/node_library/atomistic/engine/ase.py +++ b/pyiron_workflow/node_library/atomistic/engine/ase.py @@ -1,14 +1,14 @@ -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node -@single_value_node("engine") +@function_node("engine") def EMT(): from ase.calculators.emt import EMT return EMT() -@single_value_node("engine") +@function_node("engine") def M3GNet(): import matgl from matgl.ext.ase import M3GNetCalculator diff --git a/pyiron_workflow/node_library/atomistic/engine/lammps.py b/pyiron_workflow/node_library/atomistic/engine/lammps.py index f5e7398d..3f088b3c 100644 --- a/pyiron_workflow/node_library/atomistic/engine/lammps.py +++ b/pyiron_workflow/node_library/atomistic/engine/lammps.py @@ -5,7 +5,7 @@ # from pyiron_atomistics.atomistics.structure.atoms import Atoms -from pyiron_workflow.function import single_value_node, function_node +from pyiron_workflow.function import function_node, function_node from pyiron_workflow.workflow import Workflow from pyiron_workflow.node_library.atomistic.calculator.data import ( @@ -20,7 +20,7 @@ from pyiron_atomistics.lammps.control import LammpsControl -@single_value_node("calculator") +@function_node("calculator") def Calc(parameters): from pyiron_atomistics.lammps.control import LammpsControl @@ -28,45 +28,45 @@ def Calc(parameters): if isinstance(parameters, InputCalcMD): calculator.calc_md(**parameters) - calculator._mode = "md" + calculator.mode = "md" elif isinstance(parameters, InputCalcMinimize): calculator.calc_minimize(**parameters) - calculator._mode = "minimize" + calculator.mode = "minimize" elif isinstance(parameters, InputCalcStatic): calculator.calc_static(**parameters) - calculator._mode = "static" + calculator.mode = "static" else: raise TypeError(f"Unexpected parameters type {parameters}") return calculator -@single_value_node("calculator") +@function_node("calculator") def CalcStatic(calculator_input: Optional[InputCalcStatic | dict] = None): calculator_kwargs = parse_input_kwargs(calculator_input, InputCalcStatic) calculator = LammpsControl() calculator.calc_static(**calculator_kwargs) - calculator._mode = "static" + calculator.mode = "static" return calculator -@single_value_node("calculator") +@function_node("calculator") def CalcMinimize(calculator_input: Optional[InputCalcMinimize | dict] = None): calculator_kwargs = parse_input_kwargs(calculator_input, InputCalcMinimize) calculator = LammpsControl() calculator.calc_minimize(**calculator_kwargs) - calculator._mode = "static" + calculator.mode = "static" return calculator -@single_value_node("calculator") +@function_node("calculator") def CalcMD(calculator_input: Optional[InputCalcMD | dict] = None): calculator_kwargs = parse_input_kwargs(calculator_input, InputCalcMD) calculator = LammpsControl() calculator.calc_md(**calculator_kwargs) - calculator._mode = "md" + calculator.mode = "md" return calculator @@ -89,13 +89,13 @@ def InitLammps(structure=None, potential=None, calculator=None, working_director calculator.write_file(file_name="control.inp", cwd=working_directory) bla = "bla" - # print("Lammps_init: ", calculator._mode, bla) + # print("Lammps_init: ", calculator.mode, bla) - # return os.path.abspath(working_directory), calculator._mode, bla + # return os.path.abspath(working_directory), calculator.mode, bla return os.path.abspath(working_directory), bla -@single_value_node("log") +@function_node("log") def ParseLogFile(log_file): from pymatgen.io.lammps.outputs import parse_lammps_log @@ -107,7 +107,7 @@ def ParseLogFile(log_file): return log -@single_value_node("dump") +@function_node("dump") def ParseDumpFile(dump_file): from pymatgen.io.lammps.outputs import parse_lammps_dumps @@ -171,7 +171,7 @@ class GenericOutput: forces = [] -@single_value_node() +@function_node() def Collect( out_dump, out_log, @@ -194,7 +194,7 @@ def Collect( elif isinstance(calc_mode, (InputCalcMinimize, InputCalcMD, InputCalcStatic)): calc_mode = calc_mode.__class__.__name__.replace("InputCalc", "").lower() elif isinstance(calc_mode, LammpsControl): - calc_mode = calc_mode._mode + calc_mode = calc_mode.mode else: raise ValueError(f"Unexpected calc_mode {calc_mode}") @@ -217,7 +217,7 @@ def Collect( return generic -@single_value_node("potential") +@function_node("potential") def Potential(structure, name=None, index=0): from pyiron_atomistics.lammps.potential import list_potentials as lp @@ -232,7 +232,7 @@ def Potential(structure, name=None, index=0): return pot -@single_value_node("potentials") +@function_node("potentials") def ListPotentials(structure): from pyiron_atomistics.lammps.potential import list_potentials as lp diff --git a/pyiron_workflow/node_library/atomistic/property/elastic.py b/pyiron_workflow/node_library/atomistic/property/elastic.py index 8dc1e350..112260f0 100644 --- a/pyiron_workflow/node_library/atomistic/property/elastic.py +++ b/pyiron_workflow/node_library/atomistic/property/elastic.py @@ -1,6 +1,6 @@ import numpy as np -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node from pyiron_workflow.node_library.dev_tools import wf_data_class from dataclasses import field @@ -39,7 +39,7 @@ class DataStructureContainer: stress: list = field(default_factory=lambda: []) -@single_value_node() +@function_node() def elastic_constants(structure, calculator=None, engine=None): structure_table = generate_structures(structure).run() @@ -63,7 +63,7 @@ def elastic_constants(structure, calculator=None, engine=None): return elastic -@single_value_node() +@function_node() def symmetry_analysis(structure, parameters: InputElasticTensor = InputElasticTensor()): out = OutputElasticSymmetryAnalysis(structure) @@ -78,7 +78,7 @@ def symmetry_analysis(structure, parameters: InputElasticTensor = InputElasticTe return out -@single_value_node("structures") +@function_node("structures") def generate_structures( structure, parameters: InputElasticTensor = InputElasticTensor() ): @@ -168,7 +168,7 @@ class OutputElasticAnalysis: C_eigval: np.ndarray = field(default_factory=lambda: np.zeros(0)) -@single_value_node("structures") +@function_node("structures") def analyse_structures( data_df: DataStructureContainer, parameters: InputElasticTensor = InputElasticTensor(), diff --git a/pyiron_workflow/node_library/atomistic/property/phonons.py b/pyiron_workflow/node_library/atomistic/property/phonons.py index a9978813..aaa6439c 100644 --- a/pyiron_workflow/node_library/atomistic/property/phonons.py +++ b/pyiron_workflow/node_library/atomistic/property/phonons.py @@ -2,7 +2,7 @@ # from pyiron_workflow.macro import Macro, macro_node -from pyiron_workflow.function import single_value_node, function_node +from pyiron_workflow.function import function_node, function_node from pyiron_workflow.node_library.dev_tools import wf_data_class, parse_input_kwargs @@ -22,7 +22,7 @@ class InputPhonopyGenerateSupercells: max_distance: Optional[float] = None -# @single_value_node() +# @function_node() def generate_supercells(phonopy, parameters: InputPhonopyGenerateSupercells): from structuretoolkit.common import phonopy_to_atoms @@ -32,7 +32,7 @@ def generate_supercells(phonopy, parameters: InputPhonopyGenerateSupercells): return supercells -@single_value_node("parameters") +@function_node("parameters") def PhonopyParameters( distance: float = 0.01, is_plusminus: Union[str, bool] = "auto", @@ -89,7 +89,7 @@ def create_phonopy( return phonopy, out -@single_value_node() +@function_node() def get_dynamical_matrix(phonopy, q=[0, 0, 0]): import numpy as np @@ -101,7 +101,7 @@ def get_dynamical_matrix(phonopy, q=[0, 0, 0]): return dynamical_matrix -@single_value_node() +@function_node() def get_eigenvalues(matrix): import numpy as np @@ -109,7 +109,7 @@ def get_eigenvalues(matrix): return ew -@single_value_node() +@function_node() def check_consistency(phonopy, tolerance: float = 1e-10): dyn_matrix = get_dynamical_matrix(phonopy).run() ew = get_eigenvalues(dyn_matrix).run() @@ -123,7 +123,7 @@ def check_consistency(phonopy, tolerance: float = 1e-10): return has_imaginary_modes -@single_value_node() +@function_node() def get_total_dos(phonopy, mesh=3 * [10]): from pandas import DataFrame diff --git a/pyiron_workflow/node_library/atomistic/structure/build.py b/pyiron_workflow/node_library/atomistic/structure/build.py index 3872feb7..def89f45 100644 --- a/pyiron_workflow/node_library/atomistic/structure/build.py +++ b/pyiron_workflow/node_library/atomistic/structure/build.py @@ -1,8 +1,8 @@ -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node from pyiron_workflow.workflow import Workflow -@single_value_node("structure") +@function_node("structure") def bulk( name, crystalstructure=None, @@ -36,11 +36,11 @@ def cubic_bulk_cell( repeat, ) - wf.structure = bulk(name=element, cubic=True) - wf.cell = repeat(structure=wf.structure, repeat_scalar=cell_size) + wf.bulk = bulk(name=element, cubic=True) + wf.cell = repeat(structure=wf.bulk, repeat_scalar=cell_size) - wf.cell_with_vacancies = create_vacancy(structure=wf.cell, index=vacancy_index) - return wf.cell_with_vacancies # .outputs.structure + wf.structure = create_vacancy(structure=wf.cell, index=vacancy_index) + return wf.structure # .outputs.structure nodes = [bulk, cubic_bulk_cell] diff --git a/pyiron_workflow/node_library/atomistic/structure/calc.py b/pyiron_workflow/node_library/atomistic/structure/calc.py index e431f76d..8197271d 100644 --- a/pyiron_workflow/node_library/atomistic/structure/calc.py +++ b/pyiron_workflow/node_library/atomistic/structure/calc.py @@ -1,4 +1,4 @@ -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node from typing import Optional, Union # Huge savings when replacing pyiron_atomistics atoms class with ase one!! (> 5s vs 40 ms) @@ -6,7 +6,7 @@ from ase import Atoms -@single_value_node("structure") +@function_node("structure") def volume(structure: Optional[Atoms] = None) -> float: return structure.get_volume() diff --git a/pyiron_workflow/node_library/atomistic/structure/transform.py b/pyiron_workflow/node_library/atomistic/structure/transform.py index 239b01c6..5940ff2e 100644 --- a/pyiron_workflow/node_library/atomistic/structure/transform.py +++ b/pyiron_workflow/node_library/atomistic/structure/transform.py @@ -1,4 +1,4 @@ -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node from typing import Optional, Union # Huge savings when replacing pyiron_atomistics atoms class with ase one!! (> 5s vs 40 ms) @@ -6,12 +6,12 @@ from ase import Atoms -@single_value_node("structure") +@function_node("structure") def repeat(structure: Atoms, repeat_scalar: int = 1) -> Atoms: return structure.repeat(repeat_scalar) -@single_value_node("structure") +@function_node("structure") def apply_strain( structure: Optional[Atoms] = None, strain: Union[float, int] = 0 ) -> Optional[Atoms]: @@ -22,7 +22,7 @@ def apply_strain( return struct -@single_value_node() +@function_node() def create_vacancy(structure, index: int | None = 0): structure = structure.copy() if index is not None: @@ -31,7 +31,7 @@ def create_vacancy(structure, index: int | None = 0): return structure -@single_value_node("structure") +@function_node("structure") def rotate_axis_angle( structure: Atoms, angle: float | int = 0, diff --git a/pyiron_workflow/node_library/atomistic_codes.py b/pyiron_workflow/node_library/atomistic_codes.py index 0d233f7c..53fb1ae0 100644 --- a/pyiron_workflow/node_library/atomistic_codes.py +++ b/pyiron_workflow/node_library/atomistic_codes.py @@ -43,7 +43,7 @@ def Lammps(wf, structure=Atoms(), potential=None): wf.Collect = wf.create.atomistic.engine.lammps.Collect( out_dump=wf.ParseDumpFile.outputs.dump, out_log=wf.ParseLogFile.outputs.log, - calc_mode=wf.calc._mode, # SVN gives output -> inject attribute getter node + calc_mode=wf.calc.mode, # SVN gives output -> inject attribute getter node ) return wf.Collect diff --git a/pyiron_workflow/node_library/databases/elasticity.py b/pyiron_workflow/node_library/databases/elasticity.py index adc6be1d..ad60894a 100644 --- a/pyiron_workflow/node_library/databases/elasticity.py +++ b/pyiron_workflow/node_library/databases/elasticity.py @@ -1,8 +1,8 @@ -from pyiron_workflow.function import single_value_node +from pyiron_workflow.function import function_node from typing import Optional -@single_value_node("dataframe") +@function_node("dataframe") def de_jong(max_index: int | None = None, filename="ec.json"): """ Expects the file to be the "ec.json" database referenced by: