|
18 | 18 | "source": [ |
19 | 19 | "import subprocess\n", |
20 | 20 | "from ase.build import bulk\n", |
21 | | - "from atomistics.workflows.evcurve.helper import (\n", |
22 | | - " analyse_structures_helper as evcurve_analyse_structures,\n", |
23 | | - " generate_structures_helper as evcurve_generate_structures,\n", |
| 21 | + "from atomistics.workflows import (\n", |
| 22 | + " analyse_results_for_energy_volume_curve,\n", |
| 23 | + " get_tasks_for_energy_volume_curve,\n", |
24 | 24 | ")\n", |
25 | 25 | "import matplotlib.pyplot as plt\n", |
26 | 26 | "import pprint\n", |
|
66 | 66 | "metadata": {}, |
67 | 67 | "outputs": [], |
68 | 68 | "source": [ |
69 | | - "structure_dict = evcurve_generate_structures(\n", |
| 69 | + "task_dict = get_tasks_for_energy_volume_curve(\n", |
70 | 70 | " structure=bulk(\"Al\", a=4.05, cubic=True),\n", |
71 | 71 | " num_points=7,\n", |
72 | 72 | " vol_range=0.05,\n", |
|
77 | 77 | { |
78 | 78 | "metadata": {}, |
79 | 79 | "cell_type": "markdown", |
80 | | - "source": "The resulting dictionary of structures `structure_dict` is transformed to simplify the parallel execution:", |
| 80 | + "source": "The resulting dictionary of structures `task_dict` is transformed to simplify the parallel execution:", |
81 | 81 | "id": "8bf60b7b0f5af31a" |
82 | 82 | }, |
83 | 83 | { |
|
87 | 87 | "metadata": {}, |
88 | 88 | "outputs": [], |
89 | 89 | "source": [ |
90 | | - "task_loop_dict = {k: {\"calc_energy\": v} for k, v in structure_dict.items()}" |
| 90 | + "task_loop_dict = {k: {\"calc_energy\": v} for k, v in task_dict[\"calc_energy\"].items()}" |
91 | 91 | ] |
92 | 92 | }, |
93 | 93 | { |
|
219 | 219 | " task_dict=v, \n", |
220 | 220 | " kpts=(3, 3, 3), \n", |
221 | 221 | " encut=300,\n", |
222 | | - " resource_dict={\"cores\": 2},\n", |
| 222 | + " resource_dict={\"cores\": 1},\n", |
223 | 223 | " )\n", |
224 | 224 | " sleep(1)\n", |
225 | 225 | " pprint.pp(subprocess.check_output([\"flux\", \"jobs\", \"-a\"], universal_newlines=True).split(\"\\n\"))\n", |
226 | 226 | " result_dict = {\n", |
227 | | - " k: f.result()[-1] \n", |
| 227 | + " k: f.result()\n", |
228 | 228 | " for k, f in tqdm(future_dict.items())\n", |
229 | 229 | " }\n", |
230 | 230 | " sleep(1)\n", |
|
244 | 244 | "metadata": {}, |
245 | 245 | "outputs": [], |
246 | 246 | "source": [ |
247 | | - "fit_dict = evcurve_analyse_structures(\n", |
| 247 | + "fit_dict = analyse_results_for_energy_volume_curve(\n", |
248 | 248 | " output_dict={\"energy\": result_dict},\n", |
249 | | - " structure_dict=structure_dict,\n", |
| 249 | + " task_dict=task_dict,\n", |
250 | 250 | " fit_type=\"polynomial\",\n", |
251 | 251 | " fit_order=3,\n", |
252 | 252 | ")" |
|
416 | 416 | " task_dict=v, \n", |
417 | 417 | " kpts=(3, 3, 3), \n", |
418 | 418 | " encut=300,\n", |
419 | | - " resource_dict={\"cores\": 2},\n", |
| 419 | + " resource_dict={\"cores\": 1},\n", |
420 | 420 | " )\n", |
421 | 421 | " sleep(1)\n", |
422 | 422 | " pprint.pp(subprocess.check_output([\"flux\", \"jobs\", \"-a\"], universal_newlines=True).split(\"\\n\"))\n", |
423 | 423 | " result_dict = {\n", |
424 | | - " k: f.result()[-1] \n", |
| 424 | + " k: f.result()\n", |
425 | 425 | " for k, f in tqdm(future_dict.items())\n", |
426 | 426 | " }\n", |
427 | 427 | " sleep(1)\n", |
|
441 | 441 | "metadata": {}, |
442 | 442 | "outputs": [], |
443 | 443 | "source": [ |
444 | | - "fit_dict = evcurve_analyse_structures(\n", |
| 444 | + "fit_dict = analyse_results_for_energy_volume_curve(\n", |
445 | 445 | " output_dict={\"energy\": result_dict},\n", |
446 | | - " structure_dict=structure_dict,\n", |
| 446 | + " task_dict=task_dict,\n", |
447 | 447 | " fit_type=\"polynomial\",\n", |
448 | 448 | " fit_order=3,\n", |
449 | 449 | ")" |
|
0 commit comments