{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# First steps through pyiron" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This section gives a brief introduction about fundamental concepts of pyiron and how they can be used to setup, run and analyze atomic simulations. As a first step we import the libraries [numpy](http://www.numpy.org/) for data analysis and [matplotlib](https://matplotlib.org/) for visualization." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pylab as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To import pyiron simply use:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:45.068257Z", "start_time": "2018-02-09T18:45:43.533004Z" } }, "outputs": [], "source": [ "from pyiron import Project" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Project object introduced below is central in pyiron. It allows to name the project as well as to derive all other objects such as structures, jobs etc. without having to import them. Thus, by code completion *Tab* the respective commands can be found easily." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now create a pyiron Project named 'first_steps'." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "pr = Project(path='first_steps')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The project name also applies for the directory that is created for the project." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Perform a LAMMPS MD simulation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Having created an instance of the pyiron Project we now perform a [LAMMPS](http://lammps.sandia.gov/) molecular dynamics simulation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this basic simulation example we construct an fcc Al crystal in a cubic supercell (`cubic=True`). For more details on generating structures, please have a look at our [structures example](./structures.ipynb)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "eca7e666896f451db980fa5654775177", "version_major": 2, "version_minor": 0 }, "text/plain": [] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "68fcde7c041e40dfab7cfb7c72a3ffcd", "version_major": 2, "version_minor": 0 }, "text/plain": [ "NGLWidget()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "basis = pr.create_ase_bulk('Al', cubic=True)\n", "supercell_3x3x3 = basis.repeat([3, 3, 3])\n", "supercell_3x3x3.plot3d()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here `create_ase_bulk` uses the [ASE bulk module](https://wiki.fysik.dtu.dk/ase/ase/build/build.html). The structure can be modified - here we extend the original cell to a 3x3x3 supercell (`repeat([3, 3, 3]`). Finally, we plot the structure using [NGlview](http://nglviewer.org/nglview/latest/api.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The project object allows to create various simulation job types. Here, we create a LAMMPS job." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "job = pr.create_job(job_type=pr.job_type.Lammps, job_name='Al_T800K')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Further, we specify a Molecular Dynamics simulation at $T=800$ K using the supercell structure created above." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:46.155546Z", "start_time": "2018-02-09T18:45:45.553946Z" } }, "outputs": [], "source": [ "job.structure = supercell_3x3x3\n", "job.calc_md(temperature=800, pressure=0, n_ionic_steps=10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To see all available interatomic potentials which are compatible with the structure (for our example they must contain Al) and the job type (here LAMMPS) we call `job.list_potentials()`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['1995--Angelo-J-E--Ni-Al-H--LAMMPS--ipr1',\n", " '1996--Farkas-D--Nb-Ti-Al--LAMMPS--ipr1',\n", " '1997--Liu-X-Y--Al-Mg--LAMMPS--ipr1',\n", " '1998--Liu-X-Y--Al-Mg--LAMMPS--ipr1',\n", " '1999--Liu-X-Y--Al-Cu--LAMMPS--ipr1',\n", " '1999--Mishin-Y--Al--LAMMPS--ipr1',\n", " '2000--Landa-A--Al-Pb--LAMMPS--ipr1',\n", " '2000--Sturgeon-J-B--Al--LAMMPS--ipr1',\n", " '2002--Mishin-Y--Ni-Al--LAMMPS--ipr1',\n", " '2003--Lee-B-J--Al--LAMMPS--ipr1',\n", " '2003--Zope-R-R--Al--LAMMPS--ipr1',\n", " '2003--Zope-R-R--Ti-Al--LAMMPS--ipr1',\n", " '2004--Liu-X-Y--Al--LAMMPS--ipr1',\n", " '2004--Mishin-Y--Ni-Al--LAMMPS--ipr1',\n", " '2004--Mishin-Y--Ni-Al--LAMMPS--ipr2',\n", " '2004--Zhou-X-W--Al--LAMMPS--ipr2',\n", " '2005--Mendelev-M-I--Al-Fe--LAMMPS--ipr1',\n", " '2007--Silva-A-C--Al-Ni--LAMMPS--ipr1',\n", " '2008--Mendelev-M-I--Al--LAMMPS--ipr1',\n", " '2009--Kim-Y-M--Mg-Al--LAMMPS--ipr1',\n", " '2009--Mendelev-M-I--Al-Mg--LAMMPS--ipr1',\n", " '2009--Purja-Pun-G-P--Ni-Al--LAMMPS--ipr1',\n", " '2009--Zhakhovskii-V-V--Al--LAMMPS--ipr2',\n", " '2010--Lee-E--Fe-Al--LAMMPS--ipr1',\n", " '2010--Mendelev-M-I--fictional-Al-1--LAMMPS--ipr1',\n", " '2010--Mendelev-M-I--fictional-Al-2--LAMMPS--ipr1',\n", " '2010--Mendelev-M-I--fictional-Al-3--LAMMPS--ipr1',\n", " '2010--Winey-J-M--Al--LAMMPS--ipr1',\n", " '2011--Apostol-F--Al-Cu--LAMMPS--ipr1',\n", " '2011--Ko-W-S--Al-H--LAMMPS--ipr1',\n", " '2012--Dong-W-P--Co-Al--LAMMPS--ipr1',\n", " '2012--Jelinek-B--Al-Si-Mg-Cu-Fe--LAMMPS--ipr2',\n", " '2012--Schopf-D--Al-Mn-Pd--LAMMPS--ipr1',\n", " '2013--Shim-J-H--V-Al--LAMMPS--ipr1',\n", " '2013--Shim-J-H--V-Al-H--LAMMPS--ipr1',\n", " '2015--Choudhary-K--Al--LAMMPS--ipr1',\n", " '2015--Choudhary-K--Al-O--LAMMPS--ipr1',\n", " '2015--Kim-Y-K--Ni-Al-Co--LAMMPS--ipr1',\n", " '2015--Kumar-A--Al-Ni--LAMMPS--ipr1',\n", " '2015--Kumar-A--Al-Ni-O--LAMMPS--ipr1',\n", " '2015--Mendelev-M-I--Al-Sm--LAMMPS--ipr1',\n", " '2015--Pascuet-M-I--Al--LAMMPS--ipr1',\n", " '2015--Pascuet-M-I--Al-U--LAMMPS--ipr2',\n", " '2015--Purja-Pun-G-P--Al-Co--LAMMPS--ipr2',\n", " '2015--Purja-Pun-G-P--Ni-Al-Co--LAMMPS--ipr2',\n", " '2016--Kim-Y-K--Al-Ti--LAMMPS--ipr1',\n", " '2016--Zhou-X-W--Al-Cu--LAMMPS--ipr2',\n", " '2017--Botu-V--Al--LAMMPS--ipr1',\n", " '2017--Kim-J-S--Pt-Al--LAMMPS--ipr1',\n", " '2017--Kim-Y-K--Ni-Al-Ti--LAMMPS--ipr1',\n", " '2018--Dickel-D-E--Mg-Al-Zn--LAMMPS--ipr1',\n", " '2018--Jeong-G-U--Pd-Al--LAMMPS--ipr1',\n", " '2018--Zhou-X-W--Al-Cu-H--LAMMPS--ipr1',\n", " '2020--Farkas-D--Fe-Ni-Cr-Co-Al--LAMMPS--ipr1',\n", " '2020--Starikov-S--Si-Au-Al--LAMMPS--ipr1',\n", " '2020--Starikov-S--Si-Au-Al--LAMMPS--ipr2',\n", " 'EAM_CubicNaturalSpline_ErcolessiAdams_1994_Al__MO_800509458712_002',\n", " 'EAM_Dynamo_AngeloMoodyBaskes_1995_NiAlH__MO_418978237058_005',\n", " 'EAM_Dynamo_CaiYe_1996_AlCu__MO_942551040047_005',\n", " 'EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005',\n", " 'EAM_Dynamo_FarkasJones_1996_NbTiAl__MO_042691367780_000',\n", " 'EAM_Dynamo_JacobsenNorskovPuska_1987_Al__MO_411692133366_000',\n", " 'EAM_Dynamo_LandaWynblattSiegel_2000_AlPb__MO_699137396381_005',\n", " 'EAM_Dynamo_LiuAdams_1998_AlMg__MO_019873715786_000',\n", " 'EAM_Dynamo_LiuErcolessiAdams_2004_Al__MO_051157671505_000',\n", " 'EAM_Dynamo_LiuLiuBorucki_1999_AlCu__MO_020851069572_000',\n", " 'EAM_Dynamo_LiuOhotnickyAdams_1997_AlMg__MO_559870613549_000',\n", " 'EAM_Dynamo_MendelevAstaRahman_2009_AlMg__MO_658278549784_005',\n", " 'EAM_Dynamo_MendelevFangYe_2015_AlSm__MO_338600200739_000',\n", " 'EAM_Dynamo_MendelevKramerBecker_2008_Al__MO_106969701023_005',\n", " 'EAM_Dynamo_MendelevSrolovitzAckland_2005_AlFe__MO_577453891941_005',\n", " 'EAM_Dynamo_MishinFarkasMehl_1999_Al__MO_651801486679_005',\n", " 'EAM_Dynamo_MishinMehlPapaconstantopoulos_2002_NiAl__MO_109933561507_005',\n", " 'EAM_Dynamo_Mishin_2004_NiAl__MO_101214310689_005',\n", " 'EAM_Dynamo_PunMishin_2009_NiAl__MO_751354403791_005',\n", " 'EAM_Dynamo_PunYamakovMishin_2013_AlCo__MO_678952612413_000',\n", " 'EAM_Dynamo_PunYamakovMishin_2013_NiAlCo__MO_826591359508_000',\n", " 'EAM_Dynamo_SchopfBrommerFrigan_2012_AlMnPd__MO_137572817842_000',\n", " 'EAM_Dynamo_SturgeonLaird_2000_Al__MO_120808805541_005',\n", " 'EAM_Dynamo_VailheFarkas_1997_CoAl__MO_284963179498_005',\n", " 'EAM_Dynamo_WineyKubotaGupta_2010_Al__MO_149316865608_005',\n", " 'EAM_Dynamo_Zhakhovsky_2009_Al__MO_519613893196_000',\n", " 'EAM_Dynamo_ZhouJohnsonWadley_2004NISTretabulation_Al__MO_060567868558_000',\n", " 'EAM_Dynamo_ZhouJohnsonWadley_2004_Al__MO_131650261510_005',\n", " 'EAM_Dynamo_ZhouWadleyJohnson_2001_Al__MO_049243498555_000',\n", " 'EAM_Dynamo_ZopeMishin_2003_Al__MO_664470114311_005',\n", " 'EAM_Dynamo_ZopeMishin_2003_TiAl__MO_117656786760_005',\n", " 'EAM_ErcolessiAdams_1994_Al__MO_324507536345_003',\n", " 'EAM_IMD_BrommerGaehler_2006A_AlNiCo__MO_122703700223_003',\n", " 'EAM_IMD_BrommerGaehler_2006B_AlNiCo__MO_128037485276_003',\n", " 'EAM_IMD_SchopfBrommerFrigan_2012_AlMnPd__MO_878712978062_003',\n", " 'EAM_QuinticClampedSpline_ErcolessiAdams_1994_Al__MO_450093727396_002',\n", " 'EAM_QuinticHermiteSpline_ErcolessiAdams_1994_Al__MO_781138671863_002',\n", " 'EMT_Asap_Standard_JacobsenStoltzeNorskov_1996_AlAgAuCuNiPdPt__MO_115316750986_001',\n", " 'EMT_Asap_Standard_JacobsenStoltzeNorskov_1996_Al__MO_623376124862_001',\n", " 'MEAM_LAMMPS_AlmyrasSangiovanniSarakinos_2019_NAlTi__MO_958395190627_000',\n", " 'MEAM_LAMMPS_CostaAgrenClavaguera_2007_AlNi__MO_131642768288_000',\n", " 'MEAM_LAMMPS_DongKimKo_2012_CoAl__MO_099716416216_000',\n", " 'MEAM_LAMMPS_JelinekGrohHorstemeyer_2012_AlSiMgCuFe__MO_262519520678_000',\n", " 'MEAM_LAMMPS_JeongParkDo_2018_PdAl__MO_616482358807_000',\n", " 'MEAM_LAMMPS_KimJungLee_2015_NiAlCo__MO_876687166519_000',\n", " 'MEAM_LAMMPS_KimKimJung_2016_AlTi__MO_618133763375_000',\n", " 'MEAM_LAMMPS_KimKimJung_2017_NiAlTi__MO_478967255435_000',\n", " 'MEAM_LAMMPS_KimKimLee_2009_AlMg__MO_058537087384_000',\n", " 'MEAM_LAMMPS_KimSeolJi_2017_PtAl__MO_793141037706_000',\n", " 'MEAM_LAMMPS_KoShimLee_2011_AlH__MO_127847080751_000',\n", " 'MEAM_LAMMPS_LeeLee_2010_FeAl__MO_332211522050_000',\n", " 'MEAM_LAMMPS_PascuetFernandez_2015_AlU__MO_596300673917_000',\n", " 'MEAM_LAMMPS_PascuetFernandez_2015_Al__MO_315820974149_000',\n", " 'MEAM_LAMMPS_ShimKoKim_2013_AlVH__MO_344724145339_000',\n", " 'Morse_Shifted_GirifalcoWeizer_1959HighCutoff_Al__MO_140175748626_004',\n", " 'Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Al__MO_411898953661_004',\n", " 'Morse_Shifted_GirifalcoWeizer_1959MedCutoff_Al__MO_279544746097_004',\n", " 'Sim_LAMMPS_ADP_ApostolMishin_2011_AlCu__SM_667696763561_000',\n", " 'Sim_LAMMPS_ADP_StarikovGordeevLysogorskiy_2020_SiAuAl__SM_113843830602_000',\n", " 'Sim_LAMMPS_AGNI_BotuBatraChapman_2017_Al__SM_666183636896_000',\n", " 'Sim_LAMMPS_BOP_ZhouWardFoster_2016_AlCu__SM_566399258279_000',\n", " 'Sim_LAMMPS_MEAM_AlmyrasSangiovanniSarakinos_2019_NAlTi__SM_871795249052_000',\n", " 'Sim_LAMMPS_MEAM_JelinekGrohHorstemeyer_2012_AlSiMgCuFe__SM_656517352485_000',\n", " 'Sim_LAMMPS_MEAM_PascuetFernandez_2015_AlU__SM_721930391003_000',\n", " 'Sim_LAMMPS_MEAM_PascuetFernandez_2015_Al__SM_811588957187_000',\n", " 'Sim_LAMMPS_SMTBQ_SallesPolitanoAmzallag_2016_AlO__SM_853967355976_000',\n", " 'Sim_LAMMPS_SMTBQ_SallesPolitanoAmzallag_2016_Al__SM_404097633924_000']" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job.list_potentials()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above let us select the first potential in the list." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:46.735000Z", "start_time": "2018-02-09T18:45:46.202421Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Selected potential: 1995--Angelo-J-E--Ni-Al-H--LAMMPS--ipr1\n" ] } ], "source": [ "pot = job.list_potentials()[0]\n", "print ('Selected potential: ', pot)\n", "job.potential = pot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To run the LAMMPS simulation (locally) we now simply use:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The job Al_T800K was saved and received the ID: 400\n" ] } ], "source": [ "job.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyze the calculation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After the simulation has finished the information about the job can be accessed through the Project object." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:47.358552Z", "start_time": "2018-02-09T18:45:46.757140Z" } }, "outputs": [ { "data": { "text/plain": [ "{'groups': ['input', 'output'], 'nodes': ['HDF_VERSION', 'NAME', 'TYPE', 'VERSION', 'server', 'status']}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job = pr['Al_T800K']\n", "job" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Printing the job object (note that in Jupyter we don't have to call a print statement if the variable/object is in the last line). The output lists the variables (nodes) and the directories (groups). To get a list of all variables stored in the generic output we type:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:47.421055Z", "start_time": "2018-02-09T18:45:47.374180Z" } }, "outputs": [ { "data": { "text/plain": [ "{'groups': [], 'nodes': ['cells', 'energy_pot', 'energy_tot', 'forces', 'indices', 'positions', 'pressures', 'steps', 'temperature', 'unwrapped_positions', 'velocities', 'volume']}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "job['output/generic']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An animated 3d plot of the MD trajectories is created by:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2018-02-09T18:45:47.536944Z", "start_time": "2018-02-09T18:45:47.421055Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5f5803247458465d82bf2b70bca1af8d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "NGLWidget(max_frame=100)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "job.animate_structure()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To analyze the temperature evolution we plot it as function of the MD step." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEGCAYAAAB2EqL0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABGMklEQVR4nO3dd3xc5ZXw8d+ZGfXeLcuy5V6xwRhjSujFCQmwpEEKpOyyybLJmyV5k5DsZpfsssmmbnh3E0ICSyoJSyABQg3FVNsYjLtly02WLKtYkjVqo/a8f9x7R6OpV2Us2T7fz0cfae4UPVdlzj3PeYoYY1BKKaUS8Ux2A5RSSp0cNGAopZRyRQOGUkopVzRgKKWUckUDhlJKKVd8k92AZCkuLjZVVVWT3QyllDqpvPXWWy3GmJJo952yAaOqqopNmzZNdjOUUuqkIiKHYt2nXVJKKaVc0YChlFLKFQ0YSimlXNGAoZRSyhUNGEoppVxJWsAQkftFpElEtocd/5yIVIvIDhH5TsjxO0Skxr7v6pDjZ4vINvu+u0VEktVmpZRSsSUzw3gAWBt6QEQuBa4DlhtjlgLfs48vAW4EltrP+bGIeO2n/QS4FZhvf4x4TaWUUidG0gKGMeZloDXs8GeBbxtjAvZjmuzj1wG/M8YEjDEHgBpgtYiUA7nGmDeMtQ77L4Hrk9VmgAdeO8BjW44k81sopdRJ6UTXMBYA7xKRDSKyTkTOsY9XAIdDHldnH6uwvw4/HpWI3Coim0RkU3Nz85ga+NuNtTy1rWFMz1VKqVPZiQ4YPqAAWAP8X+AhuyYRrS5h4hyPyhhzrzFmlTFmVUlJ1JntCXk9HgaGdFMppZQKd6IDRh3wiLFsBIaAYvt4ZcjjZgBH7OMzohxPGp9HGNSAoZRSEU50wPgjcBmAiCwAUoEW4DHgRhFJE5HZWMXtjcaYBsAvImvsTORm4E/JbKDXI5phKKVUFElbfFBEHgQuAYpFpA74Z+B+4H57qG0fcItdzN4hIg8BO4EB4DZjzKD9Up/FGnGVATxlfySNlWEMJfNbKKXUSSlpAcMYc1OMuz4W4/F3AXdFOb4JWDaBTYvL6xEGBjXDUEqpcDrTO4zPqzUMpZSKRgNGGB0lpZRS0WnACKOjpJRSKjoNGGF0lJRSSkWnASOMzyMMDOooKaWUCqcBI4xXu6SUUioqDRhhfNolpZRSUWnACOPzejTDUEqpKDRghLEyDK1hKKVUOA0YYbSGoZRS0WnACKM1DKWUik4DRhivx8OgriWllFIRNGCE8Xk1w1BKqWg0YITRGoZSSkWnASOMjpJSSqnoNGCE8XqEIQNDmmUopdQIGjDC+DwCwKDRgKGUUqE0YITxeqwfie66p5RSI2nACONkGFrHUEqpkTRghPE6XVJaw1BKqRE0YIRJ8ToZhgYMpZQKpQEjjFPD0AxDKaVG0oARZriGoQFDKaVCacAIE6xh6CgppZQaQQNGGJ9XR0kppVQ0GjDC6CgppZSKTgNGGK1hKKVUdEkLGCJyv4g0icj2KPd9SUSMiBSHHLtDRGpEpFpErg45fraIbLPvu1tEJFltBh0lpZRSsSQzw3gAWBt+UEQqgSuB2pBjS4AbgaX2c34sIl777p8AtwLz7Y+I15xImmEopVR0SQsYxpiXgdYod/0Q+DIQ+o58HfA7Y0zAGHMAqAFWi0g5kGuMecMYY4BfAtcnq80wXMMYGNSit1JKhTqhNQwRuRaoN8ZsCburAjgccrvOPlZhfx1+PNbr3yoim0RkU3Nz85jaqBmGUkpFd8IChohkAl8HvhHt7ijHTJzjURlj7jXGrDLGrCopKRlTO3WUlFJKRec7gd9rLjAb2GLXrWcAb4vIaqzMoTLksTOAI/bxGVGOJ41P15JSSqmoTliGYYzZZowpNcZUGWOqsILBSmPMUeAx4EYRSROR2VjF7Y3GmAbALyJr7NFRNwN/SmY7fcFRUlrDUEqpUMkcVvsg8AawUETqROTTsR5rjNkBPATsBJ4GbjPGDNp3fxb4OVYhfB/wVLLaDKFFb80wlFIqVNK6pIwxNyW4vyrs9l3AXVEetwlYNqGNi8PpktIahlJKjaQzvcPoKCmllIpOA0YYnemtlFLRacAIoxmGUkpFpwEjzPA8DB0lpZRSoTRghNEMQymlotOAEUZneiulVHQaMMI4E/f6dR6GUkqNoAEjjNerNQyllIpGA0YYrWEopVR0GjDCBGsY2iWllFIjaMAIoxmGUkpFpwEjjIjg9YiOklJKqTAaMKLwekQzDKWUCqMBIwqfR3SUlFJKhdGAEYVmGEopFUkDRhQ+rWEopVQEDRhReD0ezTCUUiqMBowofB7ReRhKKRVGA0YUXo/Qr0VvpZQaIeae3iJyt4vndxhj/nEC2zMl+Lxaw1BKqXAxAwZwHfCNBM//KnDKBQwdJaWUUpHiBYwfGmN+Ee/JIlIwwe2ZErSGoZRSkeLVMB6OdYeIvA/AGPOfE92gqUBHSSmlVKR4AeN5EakKPyginwL+M1kNmgpSvDrTWymlwsULGP8APCci850DInKHffziZDdsMmkNQymlIsWsYRhjnhSRAPCUiFwP/DVwDnCRMabtBLVvUuhMb6WUihR3HoYx5nngE8BLwBzg8lM9WIBmGEopFU3MgCEifhHpAJ4CcoHLgaaQ43GJyP0i0iQi20OOfVdEdovIVhF5VETyQ+67Q0RqRKRaRK4OOX62iGyz77tbRGSM5+qaz+PRDEMppcLEDBjGmBxjTK79OdUYkxVyO9fFaz8ArA079hywzBizHNgD3AEgIkuAG4Gl9nN+LCJe+zk/AW4F5tsf4a854TTDUEqpSElbGsQY8zLQGnbsWWPMgH1zPTDD/vo64HfGmIAx5gBQA6wWkXIg1xjzhjHGAL8Erk9Wmx26H4ZSSkWK1yX1dqInu3lMHJ/C6u4CqAAOh9xXZx+rsL8OPx6rPbeKyCYR2dTc3Dzmhnk9woBO3FNKqRHizfReLCJb49wvQN5YvqmIfB0YAH4T8lrhTJzjURlj7gXuBVi1atWY3/F9Xu2SUkqpcPECxiIXzx8c7TcUkVuA92KNuHLeleuAypCHzQCO2MdnRDmeVF4teiulVIR48zAOTfQ3E5G1wFeAi40x3SF3PQb8VkR+AEzHKm5vNMYM2qOy1gAbgJuB/zfR7Qrn8wgDWsNQSqkR4mUY4yIiDwKXAMUiUgf8M9aoqDSsGeQA640xnzHG7BCRh4CdWF1VtxljnOzls1gjrjKwah5PkWReXXxQKaUiJC1gGGNuinL4vjiPvwu4K8rxTcCyCWxaQj4dVquUUhFcDasVkVkicoX9dYaI5CS3WZNLN1BSSqlICQOGiPwN1lLnP7UPzQD+mMQ2TTqfLm+ulFIR3GQYtwEXAB0Axpi9QGkyGzXZvLr4oFJKRXATMALGmD7nhoj4iDMX4lSgo6SUUiqSm4CxTkS+BmSIyJXA/wKPJ7dZk0szDKWUiuQmYHwFaAa2AX8LPAn8YzIbNdl0lJRSSkWKO6xWRDzAVmPMMuBnJ6ZJk8/r8WAMDA0ZPJ6kr6aulFInhUQbKA0BW0Rk5glqz5Tg81pBol/rGEopFeRm4l45sENENgJdzkFjzLVJa9Uk89pZhdYxlFJqmJuAcWfSWzHF+OyAoXUMpZQaljBgGGPWnYiGTCXBDEPXk1JKqaCEAUNE/AzPu0gFUoAul9u0npQ0w1BKqUhuMowR60aJyPXA6mQ1aCrweqyxAFrDUEqpYaPe09sY80fgsolvytThjJLS2d5KKTXMTZfUDSE3PcAqToOlQUAzDKWUCuVmlNT7Qr4eAA4C1yWlNVOEV2sYSikVwU3A+Lkx5rXQAyJyAdCUnCZNPp/WMJRSKoKbGka0PbSTvq/2ZApmGDqsVimlgmJmGCJyHnA+UCIit4fclQt4k92wyaQ1DKWUihSvSyoVyLYfEzq0tgP4QDIbNdm8upaUUkpFiBkw7Bne60TkAWPMoRPYpkmnGYZSSkVyU/TuFpHvAkuBdOegMeaUnYuhNQyllIrkpuj9G2A3MBtrIcKDwJtJbNOk01FSSikVyU3AKDLG3Af0G2PWGWM+BaxJcrsm1fA8DK1hKKWUw02XVL/9uUFErgGOADOS16TJpzUMpZSK5CZg/JuI5AFfxJp/kQv8Q1JbNcl0prdSSkVKtKe3F5hvjHkCOA5cekJaNclSvFrDUEqpcIn29B4ExrQVq4jcLyJNIrI95FihiDwnInvtzwUh990hIjUiUi0iV4ccP1tEttn33S0iMpb2jIZmGEopFclN0ft1EfkvEXmXiKx0Plw87wFgbdixrwLPG2PmA8/btxGRJcCNWEN31wI/trMbgJ8AtwLz7Y/w15xwwzUMLXorpZTDTQ3jfPvzN0OOGRLsiWGMeVlEqsIOXwdcYn/9C+Al4Cv28d8ZYwLAARGpAVaLyEEg1xjzBoCI/BK4HnjKRbvHTOdhKKVUJDc77k1k3aLMGNNgv26DiJTaxyuA9SGPq7OP9dtfhx+PSkRuxcpGmDlz5pgb6WygpDUMpZQalrBLSkTKROQ+EXnKvr1ERD49we2IVpcwcY5HZYy51xizyhizqqSkZMyN0RqGUkpFclPDeAB4Bphu394DfGGM369RRMoB7M/Onhp1QGXI42ZgzfeoY+ScD+d4UjkzvQcGtYahlFIONwGj2BjzEDAEYIwZAAbH+P0eA26xv74F+FPI8RtFJE1EZmMVtzfa3Vd+EVljj466OeQ5SaMZRvIMDhl6+8f656OUmkxuAkaXiBRhdwWJyBqsORlxiciDwBvAQhGps7uxvg1cKSJ7gSvt2xhjdgAPATuBp4Hb7CG9AJ8Ffg7UAPtIcsEbdKZ3Mv34xRre/aNXJrsZSqkxcDNK6nasDGCuiLwGlOBiPwxjzE0x7ro8xuPvAu6KcnwTsMxFOyeMZhjJs6epkwMtXXQFBshKc/Pnp5SaKtyMknpbRC4GFmIVoauNMf0JnnZS0wwjeVr8AQAajvcwrzQnwaOVUlNJwoAhIunA3wEXYnVLvSIi9xhjepPduMmiGUbytHRaAaO+vVcDhlInGTd9Ar8E/FgLDwLcBPwK+GCyGjXZRASvR3SmdxI4AeNIe88kt0QpNVpuAsZCY8yKkNsvisiWZDVoqvB5RDOMCTYwOERbt9WbqQFDqZOPm1FSm+2RUQCIyLnAa8lr0tTg8wiDujTIhGrt6gt+faT9lO3RVOqU5SbDOBe4WURq7dszgV0isg0wxpjlSWvdJPJqhjHhmu3uKNAMQ6mTkZuAkfTVYacin9ejo6QmWEunlWFMz0vnyHENGEqdbBJ2SRljDgEdQB5Q5HwYYw7Z952SpnqGMThkeGjTYfpPouVLnCG1y2fk09Dey9AU/vkqpSK5GVb7r8AnsGZZO//hCZc3P9n5PDKl15J6eW8zX354K0VZqVy+uGyym+OKM0JqeWUeT+84SktXgNKc9ElulVLKLTddUh8C5hpj+hI+8hRiDaudulfA2+qs1Vma/IEEj5w6WjoDpKd4mG/PvzjS3qsBI4GaJj/P7mzksxfPZSybTQ4NGTyepG9SGaH2WDfpqR79/Z5i3IyS2g7kJ7kdU85UGVZ7uLWbTz3wJu3dI+P1VjtgtJxEAeNYZx/F2WlMz7feRLTwndi3n9rNd56uHjHCzK3dRztY9E9Ps6+5Mwkti++zv3mLm+/bOKUvutTouQkY38IaWvuMiDzmfCS7YZNtqmQYf9nVyAu7m1i3p3nE8e31dsDoPHkCRnNngKLsNCryMwANGInUt/fwwm5rB4C6ttH/rDbXttM3OMS+phMfMA63drP7qJ9HN9ef8O+tksdNwPgF8B9YK8t+P+TjlObzeBiYAjO9dzV0ALDhQGvwWLM/wNEOax6DM/LoZNDS2UdJdip5GSlkpnp1LkYCD26oxblmOdzWPern77czi7Zu938jj285wvHu8S0V19s/SEfvAAA/eLZal7M/hbgJGC3GmLuNMS8aY9Y5H0lv2SSbKhnG7qN+ADaGBAwnu0jzeUbMbZjqWjoDFGenISJMz8/QDCOOvoEhfvfmYc6dXQiMLcM40NIFEJxdn0h9ew+fe3AzD75Zm/jBcTTb3aQ3nFXBkeO9/PKNg+N6PTV1uAkYb4nIt0TkPBFZ6XwkvWWTzOed/BrGwOAQ1Uf9ZKR4qWnqDHY/ba07jgicO6fopOmSGhoytHZZNQzAChg6FyOmZ3cepaUzwGcunkt+ZgqHW8eSYdgBw2X949Ax6/Hj7cJqtLPfa8+cziULS/jvF/eNO2s5mf3XC3v589aGyW7GhHATMM4C1gD/znB31PeS2aipYLwZRmBgMKJQPVoHj3URGBjihpUVALxpZxnb6o8zuziLqqLMk6bo3dbdx+CQoTg7FYCK/HTNMOL4zfpaZhRkcNGCEioLMjk8ygyjf3CIWjvIuO2Sqmu1vsd+OzMZK2fkXmlOOl9Zu4iO3n7ueXnfuF4TwBhD38DkdxOP1n2vHuBX6w9OdjMmhJuJe5dG+Til52AApHg8DIxjLakfPreXK37w8rj6b3c2WN1RH1pVSUaKN1jH2F5/nDMq8ijOTqOjd4DAwNTvI3ZqLcU5doaRl0FLZ5/2b0dR09TJG/uPcdPqmXg9woyCDOpGWcOoa+sJZsitXe6u7p06yXhHVTXZGUZpbhqLy3M5f24Rr9W0jOs1Ab73bDUX/scLJ1XQ6BuwFtysPurHmMnv4h6vhAFDRMpE5D4Recq+vcTebvWUNt4MY9PBVlo6A/xlV+OYX2NXQwc+j7CoPIeVs/LZeKCVJn8vRzt6gwEDrOGqU90xu+usKGu4Swqg4bgWvsM9urkOn0f40KpKACoLM6lr6xnVzHin4J2Z6nWd6TrdXu3d/WMaxuto8gfweYTCTCubnFOczaFjo+9SC7WvuZOfrttPkz/AmwdbEz9hinC6jNu6+4O1nbHaVnecR96uizi+48hxfv7K/nG9tltuuqQeAJ4Bptu39wBfSFJ7pgyrhjG2K5mhIRMc3fTwW5G/YLd2N3QwrzSbNJ+X1VVF7Drawes1xwDsgGH9Q54MdQynOF+SY7W5XOdixLR+fysrKvMpsbOxyoIM+gaGRvV7dgreZ1bmu+6Sqm3tDu42uX8cWUZjR4CSnLTghMFZRZkc7+kfVxftvz2xk4wUL6k+D8/vahrz65xooRNrnQEsY/Xtp3dx+0NbgoNewFoi6IsPbeHf/rzrhGTrMQOGiDizwIuNMQ8BQwDGmAHglO9HGE+GUdvaTVffIBX5Gby8pzlYBBytXQ1+Fk2zZkWvnl2IMfA/rx9EBJZW5AW7d06GgBHskrKzImcuRr0GjBF6+gbZWtfOant0FMCMgkxgdENr97d0kZ+ZwuziLNejpA639XD2rALr+c1jr2M0+Xsptf82AWYWWu0fa5bx4u4mXqxu5vOXz+f8uUW8WO0uYAwNmWAhf7KEZhXV4wgYHb39bNhvZVb//uSuYPfWo5vrg4FovBmMG/EyjI325y4RKcJeR8reG+N4zGedIsYz03unnV18ee1ChgxjmrzU1tXH0Y5eFpfnAnDWzHxSvR62HG5ndnEW2Wk+Suw33xb/1O+SaukMkOIV8jJSAJiWd/pkGHc/v5d/eWyHq8duPtxG/6AZETAqC63gerjV/c9qf3Mnc4qzKMxKpb27L2F3Vm//IM3+AGvmFJHq9bCvZewZRrM/QEnIkiBVxVmANYhjtPoGhvjXJ3YypySLW86v4rJFpRxo6UqYARlj+OojW7n4uy/x3M6xdwuPV5PfulhM9XrGlWGsq25mYMjwvhXTeX3fMV7a00xv/yDff7aazFQvwJgvTEcjXsBwFqC5HXgMmCsir2Ft2fq5ZDdssnk9Muai984jHXg9wtVLp3H2rAIefqtu1AUvp0vLCRjpKV5WVOYBVncUDF+tx5qLMThk+P6z1WMakhmuKxC9uP79Z6v59lO7I47/cXM9P/rL3uDtFn+Aoqy04HpIaT4vJTlpNEyByXsdvf1JLUj+/s3DPLPjqKvHbjzQigjBK32AinzrCn00he8DLV3MLs4mPzOVIWOdYzzOa1cVZzKrKJN9TePJMAKU5UZmGLVjyDAe3FjL/pYu/um9S0j1ebh0YSlAcAZ8LD/8y14e2lRHdpqPf/rjdvwJzj9Zmv2B4O+zurFjzK/zl12NFGal8t0PLKeqKJNvP7mb+149QMPxXr589ULA6gpMtngBo0REbgcuAR4FvgM8BfwMuCLpLZtk45npvbOhg3kl2aSnePnA2TOoaepkS93okrKdYQEDCF51OgEjI9VLVqo3ZpfUziMd/L8XavjxS+Mf0njjvev5+qPbI44/8nY9v1l/KKL77qcv7+e/XtxLZ8Ca8dvSGaDYrl84psJcjN7+QS741gvcsy45RcMj7T3Ut/fQ2NHravXjjQdaWVKeS256SvBYRqqX4uw01xlGV2CAxo4Ac0qyKMyyXidRt5Tz2jMLM5lbks3+MWYYfQNDtHb1jVh0MD3FS1luGofGcOHy+r4WZhdnBQNFZWEmC8qy43ZL/XZDLXc/v5cPnj2DX316NY3+Xr77TPXoT2YCNPkDFGamsnR6LnsaO8e0Anb/4BAv7m7iskWlpKd4+fLaRVQ3+vnes9VctqiUa8+0ht1PdobhBbKBHCALa2VbL5BpHzuljaeGsfNIB0umW2/01ywvJ83n4eG3Do/qNXYf9VOcnRYsfAJcvMD6pzmnari7ojgnLebyIJsPtwHw5LaGcQ1FrG/vYVv98RGzzQGOd/dT396DPzDAziPDV09tXX3sauigf9Dwuj2csqWzLzhCylGRnz7hNQxjDK/VtLgeUdTUEcAfGODel/fR3TcwoW0BgiN6hkzilYX7BoZ4u7ZtRHeUo7Iwg7p2d2+4TsF7TnEW+fZIpUSjnpz6SGVBJnNKsqg91j2mvVacbLc0d+TvelZR1pjqCXsaO4N1PMeli0rZeKA1atbwdm0b//jHbVyysIR/v+EMzppZwC3nVfGr9Yd461DbqL//eDXZAwAWlefSNzDEwTFkWZsOttHRO8AVi63//3cvm8bKmfkI8JW1iyjITCHFKydk5ep4AaPBGPNNY8yd0T6S3rJJNtYaxrFOa52nJXZmkJuewtpl0/jDW/Wjmu25q6GDxeUj/1FWzy5kw9cuZ0VlfvBYcXZazMl7m2vbEYHjPf0RixeOxsv2c2tbu0d0bew6Ohwk1u8/Fvx6w4Hhr1+yn3vMXhYkVEV+BvVtPRM6rv6tQ2189OcbEnZZOJw+5rbufh56c3RB3Y1NB4ffpBoSZFPb6o/T2z8UXA4k1IyCTNcZhjPxbnZJFgV2wEg0QulwazdpPg8lOWnMKclmYMhE7co0xjoea+5PcA5GTljAKMwcddG7p2+Qg8e6WBgWMC5bWEr/oOHVvZFzO16vaWHIwI9uPIsUr/X29qWrF1Kem85X/7D1hM/haO60A4Z9DmMpfD+/q5FUr4d3zS8BQES452Nn8+u/PpeF03IQEUpz0oM/+2RyU8M4LY01w9hlT7ZzMgyAr757EQun5XDbb9/mjke20tMXf5BZ/+AQexs7R3RHOcpyR+4vUJydGrNL6u3aNi5bWEphVip/eme48B4YGOTvf/u268lUL4cEm9BMwqmzFGSmjAgY6/e3kpHi5dKFJayrbsYYQ0tnX0SX1LmziwgMDI0IMOO1117WwmlbIs7IkpKcNH72yoGYV9W/fOPgmMb/v3mwlfJggT/+P7STwYVmkI7KAmvtLTd/k/ubOxGBqqKs4FyIhBlGaw8zCjIQEeaUWEXqfSEjpTYdbOXrj27jwv94kXd950V+8NyeqK/jXOWG/53OKsqkyR8YVRa3t8mPMURkGGfPKiA33Rf1ouDgsW5Kc9KCgysAstN8fO2axext6hzxd3oiNHdYe77MK83GI1B9dHR1DGMMf9nVyPnzishKG96+qDQ3nfPnFgdvl+Wm0eif3IBxedK/+xQ21rWkdjZYtYrQN/vyvAz+9zPn8dlL5vK7Nw/zwZ++Hvcff39zF32DQxEZRjTF2WlRA8axzgCHjnVzzuxCrjmjnL/sagzWE/77xX08sbWBx7ccSfj6A4NDvFrTwmWLrHR4R1jAKMxK5eql09h4oDV4Tm/sO8aqqgKuWFJGfXsPmw9by2yXhGUYF84vJiPFy7M7Jm4Ui9MdU93o7krO6UL50lULqG/v4YmtkT+TwMAg33x8J99/dnT94Me7+6lu9PO+FdYUpkQjwjYeOMa80myKwn5OYGUYA0MmuEpxPAdaupiel0F6ipd8u4bRnqiG0dZNpV2cnlucDQzPxTjc2s2H713Po5vrWTI9l3ml2ayrjp6xxswwiqwgVDuKOoZzNb6gbOT/gc/r4eKFpbxY3RzR9XjoWBdV9vcK5Vydv3O43fX3j8XvcpCEMSaYYaSneKkqzhr1SKl9zV0cPNadcFfN0pz0yS16G2OSNp1SRP5BRHaIyHYReVBE0kWkUESeE5G99ueCkMffISI1IlItIlcnq12hxpph7DzSQXleOoVZI6+mU7wevrJ2EXdeu5Tt9R0xr4CNMfx6vbVV+rLpeQm/X3F2Gm3d/RFXxs4/xsqZBVx35nR6+4d4ZvtR9jT6+clLNQDscvHHu6WuHX/vADesrKAkJ40dR4aL97uP+llcnsN5c4uCdYxjnQGqG/2cN7eIixdY/6TO5MXwLqn0FC8XLSjmuZ2NE7a/txMw9ja6K9o2+wN4BN6/cgYLyrK556X9EW8Gexs7GRgyvHmwbVSTz96qbcUYuHRhKdlpvriz2geHDJsORq9fQOjQ2sRvuAdauoJZQk6aD59HEk7eO9zaTaU93yMvM4Xi7NTgXIz7Xj2AR+D5L17Mz25exQ0rK9h91B/1QqXJ/nmGB71ZRaOfi1F91E+azxMMNqHWzCmkpTMQMWji4LHu4PcKlZeRwrzS7HEHjOPd/Zz/rReijgwM197dT/+gCQbPRdNyXF/IOJyVIpz6RSxluWmT3iWVFCJSAXweWGWMWYZVSL8R+CrwvDFmPvC8fRsRWWLfvxRYC/xYRLzJbqfP4xnTiIadDR3B+kU0Vy2ZBlhX4dF8/9k9/Gr9IT51wWzml7nIMOw/xvAuh8217Xg9whkVeZw9q4AZBRk8urmer/xhK9lpPq47czp7jvoTvlGv29OCR+DCecUsnZ4b7JJyVtJdPC2Xc2cXAVYdY709uWjNnCJmFGQyrzQ7mMmEBwzn53G0o5dt9aMbRTY4ZHhj37GIN3cnYOxv6XRVtG3qsDZ18nk9fObiuVQ3+iNG4DjnPDhkeCnGlXU0bx5sI8UrnFmZz/QEiy3uaujAHxiIWr8Agm/miQKGMYb9zV3Msec+iAj5malxA8bxnn46egeCQQms5Tz2t3TS3t3H7988zLUrKijPs+53ukKi/Q07P09v2LawswrtDCMkYDy742jclRCqG/3ML8uOeC0Yzjr2hqys2xUYoNkfCM77CHdmZT7vHG4f1xDqZ3cetQZJvLI/5v+wI7gIY64TMHI5dKybroD7brk3D7QyvzQ7+LOPpTQ3nY7egYTd3eN1wgOGzQdk2LPJM4EjwHVYmzVhf77e/vo64HfGmIAx5gBQA6xOegPHkGH09g+yr7lrRP0i3LS8dGYXZ0XtS/3vF2v4rxdruGl1Jf/03sWuvmeJvTxI+CzPzYfbWFyeQ0aqFxHhujOn82pNC5tr2/nG+5Zw/twievoHE3YRrNvTzIrKfPIzU1k2PY+9TZ309g8GV9JdXJ474pzW7z9GVqo3OPT3kgUl+O3NdMJrGACXLSrF65FRT6769fpD3PSz9WwOuWIcHDLUHutmWm46/YOGgy5WXW3uDASvAN+3Yjr5mSk8s31kW3Y2dJBlD219bhRrg715oJVlFXlkpHopz8uIm2E4/fHR6hdgLaUiknhfjObOAJ2BAWaHvGkWZqXQFmcBQicIOUEJYE5JFvuau/jNhlp6+gf5m4tmB+9bNj2XnHQfr0cLGP7eEXMwHHmZKeRnpgQn7xljuPPxnXz3mdhX6tVH/Swsi/6/NK/E6jarCckknewlWoYBVsBo7eobVbdYuD9va6AiP4Oqoiy+9L9b4s5vcQZUOF2xTvF+zyiyjH3NnRFdctE4NaOmJNcxTnjAMMbUYy2PXgs0AMeNMc8CZcaYBvsxDYCTg1UAocNX6uxjEUTkVhHZJCKbmpvHPioIwDuGGkb1UT+DQyZuhgFWOh3a5w/w3M5GvvtMNdefOZ1/u/6M4AS3RJyr9tDugcEhwzu17ZxVOTz56zp7rPZFC0q4/swKFk2z2hivT7Wtq4+tde1cZPf/Lp2ey+CQYU+jP7iSrlOrcc7ptX0tnDO7MDhC5ZKFw6l0+LBagIKsVFZXFfLsTncT25zzu/+1AwBsDQkYR9p76Bsc4qqlVn+vm/TfmpVstSvF62HVrALePDSyN3bHkeMsLs/lisWlrKtudrU6cG//IFvrjgcDwPT89KijpAYGh/jWU7v4wXN7WDOnMLgoY7g0n5dpuekJlwdxupHm2G+oAPmZqbTGyTCcSXtODQNgbkk2rV19/OyV/Vy0oCT49wJWDeHc2UW8vi9y0ESTPzBiDkaoWYWZwTfrzYfb7fkpgagF+bauPpr8gYiCt6MgK5Xi7FT2Ng3/jmtbrXOPVsMAK2DA2OsYx7v7eXVvC+9dUc73P7SChuM93PnYzpiPbw5mGNbPY7QjpQID1gXd3NLshI91gnSy6xiT0SVVgJU1zMZa0DBLRD4W7ylRjkV9JzfG3GuMWWWMWVVSUjKudo4lw3Am28XLMMDqrvEHBkbUA361/hAV+Rl874MroqbgsQwHjOF/ur1Nfrr6Blk5Kz94bEFZDvd87Gx++KEViAgLynIQgd1xRm28WtOCMVaQAVhq11ScGkyKV5hn/zE757S/uYs1c4qCr3HO7AIyUrx4hIi6juOqpWXsaewMdicl8vyuxuDVZGgR3nn+5YvL8Ig1hj+RZn9gRDH+7FmF7G/uCq6uay0k6Wfp9FyuXFJGZ2AguKZPPFvrjtM3OBQMGOX2cu6hwabZH+AjP9/AT9ft5yPnzuSBT8ZPnK1lzuNnGBv2WzPFl4b8DRZmpsatvdTGyDDA6of/24vmRDzn/LlFHDrWHTH7vLEjEFHwdswsygr+3kKHmEf7G3QuZBbECBgA80qzR3RJOXMcZsbIMBZNyyE9xcPm2vaYrxnPMzuPMjBkeO8Z01k5s4C/v3Qef3i7judjZJ1NISPwwPr5ZqZa2xS4eW852NLNkIG5JdEDYCgnSCd78t5kdEldARwwxjQbY/qBR4DzgUYRKQewPzsdyXVAZcjzZ2B1YSWV1+NhYMi46u8MDAzyyNt1/OyV/eSk+Ub840Vz3pzhPn+wfsmv7m3mhpUV+Lyj+5VEW4DQ+YcIzTAA1i6bFixGZqR6qSrKinm1MzRkeGF3E7npPlbMsAJFZWEGOek+dhw5zq6GDuaWZJPqs9obGiTOC/k6zeflgnlFFEfp13ZcucTKCJ5zmWXc9+oBKvIzuGBeUdSAsXhaDrOKstiT4EpuaMjQ0hkYMTnynCrrZ+ZM8qpt7aYzMMCS6blcMK+Y9BSPqyXrnSG4zhIfztDaoyHdUt99ZjdbDrfzww+v4N//6gzSU+KX5ioLMqlL0J3yYnUTK2bkjyg6F2SlxN0T43BrDznpPvIyh4eiOhnKEns/i3AXzLPqGKHdUgODQxzrih0wqooyqW/vITAwyJ+3NgSv+Hc3RP6enG6bWBkGwPzSHGqaOoP/o4eOdVGUlTpilnwon9fD8or8Ed2Yo/HnrQ1UFmawrMIKxp+7fD4V+Rn8dkP0LW2bOgJkpnrJtofDejzCZYtKeXRzPVf+cB0Pv1UXt87m7Esyt8R9hpHsyXuTETBqgTUikilWv8vlwC6s9apusR9zC/An++vHgBtFJE1EZgPzGV4YMWmcZZ4TXQk8vf0o53/rBW5/aAsCfO9DK4LLOsdSmpvOnJKsYNHs0c31DBm4YeWMUbczK9VLeopnxOS9zbVtFGSmxOzLdSwsy4noknpwYy0fuucNzviXZ3h0cz0XLSgJBjERYUl5LjuOWBlGaNdbWW46c4qzyEnzjbi6Bfjn9y3lxx+NvavvjIJMlpTnRh1e++yOo1z0nReDEw+31x9nw4FWbjl/Fstn5LOn0R+8aj/Q0kVWqrVG1fzSbPY0xQ8Ybd19DAyZEW9wyyrySPV62GQHjGDWWJ5HeoqXd80v4S87GxNeSGw40Mq80uxgVuV0NYXOxdhc286F84r5q7Pc/d5nFGbS0NEbc1XSY50BttS1B5fRcOTbGUZom2ua/ME3q8Nt3REXOTMLM7licSl3vGdR1O7RBWXZFGWljij8Huvqw5jhLphwMwszGRwyPL6lgaMdvXzi/CqKs1NjZhj5mSkxgw/A/LJs/L0DwTfJgy3RR0iFOnNmPruOdIx607H27j5eq2nhmjOmB38eKV4Pa5dN45W9LcEh66FC62OOH914Fv/9kZWk+bx86X+3cPtDW2J+T2er3DkuMoy8jBRSfZ6kj5SajBrGBuBh4G1gm92Ge4FvA1eKyF7gSvs2xpgdwEPATuBp4DZjTNKXV3euhhPVMb77zG7yM1P49afP5S+3X8zVS6e5ev01c4p482AbA4ND/OGtOlbOzB9RqHRLRCLmYrxd285ZMwsS1kEWledw8FhXcGRFU0cvX3t0G63dfXzg7Bl85wPL+dfrlo14ztLpeew4cpzGjgCLwuaJ/P1l8/jClQsisqTKwkxWxSjmOt69bBpv1baxuXZ4ZnRv/yB3Pr6T2tZuPvk/G7n/1QPc/+oBMlO9fPicmSybnsfAkAkOoT3Q0kVVcRYiwsJpORxs6Yq7R8DwHh0j1z1aPiOPTXaGsOPIcXweYX6ZdZV35ZIyjhzvHZHZhOsKDLB+/7Fg7QeGMwynjtEVGKCmuZMzZiQeOu24cnEZaT4PH7jn9ajLbLy8t9kaxrtoZHdsYWYqA0Mm+Ka2p9HPFT94mZvuXU9jRy+HW7uDCwQ6vB7h57ecE5y/EE5EOG+uVcdwAlFTh7M1a/Q3eWd47E9eqiHN5+GKJWUsmpYbtY5WfbTD7jaN/TfsdIc6v/9YczBCnVWZT9/gUHDkW+2xbj7ys/UJF0Z8dkej1R21vHzE8bXLptFnr/UUrqmjd0T2CtbP9Zrl5Tz5+Qv5+JpZPLWtIeakyprmTiryM8hM9UW9P5SIWJP3TrWAAWCM+WdjzCJjzDJjzMftEVDHjDGXG2Pm259bQx5/lzFmrjFmoTHmqRPRRjcZRk2Tn33NXXzi/CounF/sulANVsDoDAzw4JuH2dvUyfvPHn124bAChvVH19bVR01TJ2eFLB8Sy6JpORgznP4/ua0BY+AnH13Jndct40OrKikIqzssnZ5Lv72Kb/hM9BtWzuDTF85mLD5xQRVlOenc8ci24JXvA68fpL69h5/dvIorFpfxzSd28sjmej60qpK8jJRgJuNsKHPwWFcw6M4vy2HIxN/XwXmDC/+nPruqwF6mY5CdR6xNrJzuossWlSJC3FFdr+xtpm9gKNjVBgSHRTojpXY2dGDM8EKSbpwxI4/f/s0ajvf08/6fvD5iIx2Al6qbKc5OjZi/k293NTkjpZyi79a641xz9yscbu0ZMaTWrQvmFdPYEQjOCG8Mbs0aPcOosq/+9zV3BeemLJqWExws4jDGRF1DKtz8UmdorZ/e/kGOHO+NOmcj1Jkz8wHrZzA4ZLj9oXd4fd8xHo8yYTPUE9samFmYGZE9r5xZQHF2Kk9HWY24Oc4AABHhptUzGRgy/DnG997X3Omq4O04EZP3JmtY7ZTnJsN4erv1R3KVy6wi1Jo51hX3d57aTarPw3uXT0/wjNhCM4xfvmFN+ks0MxQIjnxx6hhPbG1gYVlO3PkfSyuG/2GiLV0yVjnpKfzLtUvZfdTPfa8eoLWrj/9+oYbLFpVy5ZIy7vnY2XzusnmU5KTxqQusoDSzMJPsNB87jnTQNzDE4dbuYMBYWJZ4CGOzP3rAOGdWIf2Dhi2H29kRspAkWD/rVbMKgr/7aJ7b2UReRgqrqoZrSBmpXgoyU4JzMbbaqxePJmCA9Qb18GfOJ83n5cZ71wczjcEhw7o9zVy8oDSiS9TpFnPmYuw80kFmqpfHP3chuRkp9A0OjRgh5ZZT23BGSwXnHcTIMEpy0siwA+819pX6ovJcAgNDI/bKqG/voTMwELGGVLji7FTyM1PY29QZHBpcVRz/PMrzMijLTWNzbTs/f2U/mw61kZnq5ZW9sUdVdvT281pNC+85ozziotDrEa5cMo2XdjdFZLOhI/CiWVyew4KybP70TmTAGBoy7GvqclXwdpyI5UE0YMTgJsN4esdRVs7Mj1g3x43SnHTmlmThDwxw5ZKyEWvfjFZJjrWelL+3n/te3c8Vi8sSjtQC6w03I8XLrqMdHGnvYdOhNt63ojzuc5xCd0lOWtSJeOOxdtk0rlpSxn/+ZQ9fe2Qb3f2D3PHuRYBVMPziVQvZ+LXLg6NgPB5hyfRcdhw5zuE2a0SJEzBmF2fh80j8gNEZ/Q3OKVQ/veMoTf5AxDDpa84op7rRT02UGsnA4BAv7G7k0oUlwaHFjtC5GNvrj1OWmxbzajyeeaXZPPSZ8xDga49uwxjDO4fbae/uj+iOAoZXrHUCRkMHi8tzWTgth8f+/kK+8d4lXH9W1JHqcc0stCZm/nTdfnsYrHVusf4uRISZhZmkp3i43J657GQRoYVv53e2MMH8AxFhfmk2NY2dwRFSiTIMsAaDvLK3me8/u4e1S6fx8TWzeOtQW8wJddvqjjM4ZLhgXmTxH6y/266+wRFrs/X0DeIPDMQNGNb8qAo2HWqLmJB5tKOXnv5BVwVvR2lOOs2aYUwOr/3PHmtPjMOt3Wyv72DtstFnF47z7Cu0D4yh2B2qODuN1q4+7n/1IB29A/yfy+e7ep7HIyywuwScYY6JMp0Ur4eVM/NZNasg7uPG6s7rluLzeHh6x1FuPKcyItsJv8JbOj2XXQ3+YIHQmeWb6vMwuzgr7tDaZr81iiV0UTewxvjPK80OzkJeGtbF8+4zyhGBP2+NzDLerm2nrbufK5dE/l2EzvbeWtc+6uwiVEV+Bl959yJeqznGw2/V8VJ1E16P8K55kQHDyTCcwveuI8MDFrLTfHzqwtkxRxbFIyL84EMraPYHuP2hd2js6KUoKzU4ci6aD59Tyecumx/sl59Xas3kDl0qx82QWse80hz2NPmDkzSrEhS9weqWauvuJzfDx11/tYx3zS+hf9BELN/vSJQNnjeniJx034isszlBtuW41l5n7LGwdd1q7L/neaPokirLTccfGBjVTPLR0oARQ6IMw9lBzW2RO5qPrJ7Fx9fM4l3zixM/OI7i7DSGDNyzbh+XLSodVSF1kT1S6vGtRzijIi/msgqhfnbzKr73wRXjaXJM5XkZfON9S5hTnMUXrliQ8PHLpufR0z8YnCk9J6T9C8py4mYYTXG6DM6pKgjOUA/PMMpy0zlnViF/3hbZlfCXXY2keIWLFkT+TqfnWyvOdgYG2N/SxRkV+QnPL56PrJ7JOVUF/Nufd/HnrQ2cPbNgxNBYR4F9rLWrn7o2a/8SNxmoG8tn5POP713Mi9XNPLq5Pu4VNcCnLpzNbZfOC95OT/EypzhrxEipddXNVBVlugpi80uzae/u5+3aNvIyUoLZVDwXzismxSt864blFGWnsaqqgDSfh5djdEttrWtnVlFmzNdO9Xm4fFEpz+1qDC4n5GRbiTLIysJMVs0q4I+b60eMYhvNkFrHiRhaqwEjhmANI8Y2rc/sOMri8lxXKXAsS6bn8q/XLxv13ItwThdAT/8gn3eZXTgWlefQ2tXH1rrjESNAYslJT4m4Kp9IH1pVyfNfvDjhmw8M11Se3nGU/MyRbxgLynI43NYdc0ntZn9vxAq6jrNnWTWmivyMqG/C1ywvZ09jJ3tDApIxhud2NrJmThE5Ud7syvMy6Ogd4M0D1qKEZ8wY35u2x2O96fX0DbK/pYtLonRHgbUni0esDMMZ3ZVoNYLR+PiaWVyzvJze/qExdbEtLs8Nbguw5XA7Gw608rE1s1w91xm99vKeZlfZBVhDp7ffeXVwUEJ6ipfVswuj7q8BVoaxfEZ+3Ndcu2wa7d39wSwlOGnPRbftdWdVsLepM/gzACtg5Kb7KM5OHAAdJ2LyngaMGOJlGM3+AJsOtbF2HNnFRHL+qC5eUBKcDOVWaGHxGpcB40RwO+JsXkk2aT4P7d39EUMqF5RlY8xweh+u2R+I2BnO4UzgCx8V43j3smlWt9S24RnL+5q7ONDSxVVLog84mJ5v/UM7y6AsG0eXlGNeaTafv9y6Yr8ixkAHj8dagLC1q4+dDR14hIQF5dEQEf7j/ctZNC0nOMlzNBaV51Df3kNHbz/3vryfnHQfN66e6eq5zkiprr5BZo7i4i3NN3KS5LvmF7O3qTNi+ZaWzgD17T0sT/C7umhBCRkpXn69wRp00hy28GA815xRjs8jI/as2dfUxdzS7FGNvNQMYxL5gjWMyIDx3M5GjGFc9YuJtKg8l3NnF/LltQtH/1x7pNTKmfnMSDBDfSryeT3BwumcsO405w051gqz4cuChJpZmMmlC0tiBtHS3HRWVxWOWOLCmQEea4SaM7T2uZ1NTMtNjznkcrRuu3QeL37pkriL1OVnptDe3c/OIx3MKclOOKt8tLLTfDz5+XfxxatG/ze42P4bfG5HI09tb+Cj584Kzo5OpCw3jRz7sW4zjGic+SbhWcY2u36xPEEgzEz18ZmL5/LktqO8ureFJn8vXo8EN7CKpzArlcsXl/LgxtrgnIya5s7gAotuOdldMifvacCIIV6GsW5PE5WFGSwoG90vNFnyMlL4/d+eF1GcdaMwK5WbVleO6Fc+2Sy1A0N4/aWyMJOLF5Twq/WHImb29vYP0tEbexSLiPA/n1wdXLQxmvcuL2dvUydv17Zxz7p93LNuH8sqcmMuIOhM3mvpDExIdhHa1kSTPgvtJc7DZ+hPpEQrHMTiTAC968ldeD3CJy+ocv1cEWGe/X84nu7hRdNyKM5O45WwgLGlztrmeKmL39ffXjyHWUWZfONP26lv66E4O9X1z+RLVy2kq2+QHzxXzfGefpr9gVHNwQDITfeRnuLRLqnJMDwPI3KUVJM/wKzCrFGli1PZt25Y7mrexlTldBtFe9P81IWzafYHIvZTHx7FMvar/Kvtbqn3/+R1vv3UbpbPyOf7Hzwz5uOn5VlLlEPiK9aJlp+ZysGWLurbeyas4D1RpuWmk5eRQmtXH9efWTHqYerz7TfW8WQYIsK75hfzWk3LiD1ittUdZ15JtquMJz3Fy53XLmV/SxePb20Y1d/W/LIcPr5mFr/dUMuTdjfnaArezjmU5SZ38p4GjBjiZRjt3f0RM6DV5HFqN9F2q7tofjHzSrO579UDI0ahDC8LMva5JKU56Xx8zSyuWlLGH2+7gF9+anXc2kCK1xPsAhvPkNqxKMxK4Yg9ByRZGcZYiUiwW/HWKCvjJrJ0eh4+T+IsK5EL5xVzzK7zgDWIYYuLgneoSxaWsnbpNAaHzKj/tr5wxXxyM1L45uPWkumjmbTnKM1J7vIgGjBicDKM/iijpFq7+oJDFdXkm1GQyR9vuyDqlamI8KkLZrPjSMeIcfaxZnmP1jevW8ZPP77K9WCDcru7aiK7pNwoCOlLn8gZ+hPl5vOq+MIV813tMhnuxtWVPPH5C6PuhT4alywsIT3Fwz3r9gHW5LmWzsCos8FvvG8JmaleKgtGt9xKfmYq/3DFAnr6B0nxSsT6Xm6U5qbHXJxyImjAiMHnsX404RnG4JCho7ff1XhvNTXcsLKCgsyU4KZLELlXwYlSVZRJRX7GCf++TkZcmpN2wr+3G9csL3c17yaaNJ93xAZPY1WUncatF83lia0NvHWolS2H3RW8w03Pz+DJz7+L28cwAOCj585kQVk280pzxjTcviwnPakZRvIG05/kYtUwjvf0YwwUaoZx0khP8fKRc2fy45f2UXusm5lFmTT7A4hA0QnuWvz6exbT0Zu8mbixOBnxVKtfTDWfuXgOv3+zlm8+sYvz5xbh88iYMjI3E2Cj8Xk9/PqvzyXQn3g/+mjKctPo6hvE39sfdS7QeGmGEYPPG72G4Qx70xrGyeXm86pI8Xr40fN7AatLqigrddyTJkerNDd9VMs9TBSnS2qq1S+mmsxUH//36kVsOdzOr984xMJpORM+BDmR0pz0MS0GCfDRNbPYfufVSQkWoAEjplir1TpbXWqX1MmlLDedT15QxSOb69hef5xmf2DCF0+cypydGccy9Pp0c8NZFSyryMUfGBhVwXsqyE7zuZ7DMhYaMGIIjpIKK3q3dVt7CriZkKOmlr+7ZB75GSl866ld1rIgU7AvP1nOnJHP3TedxdVLT97h0yeKxyP80zVLAJK2yObJSgNGDLEyjLZghqE1jJNNXkYKn798Pq/VHGP7kY4Jm2l9MvB4hGtXTD/hXXAnq3PnFPHSly4Z07LvpzL964kh1iipNq1hnNQ+eu4sqooyxzROXp1eqoqzgheOyqIBI4ZYo6TauvtJ8QpZqSe2EKYmRqrPw1fWWpsylblYGE4pNUyH1caQEmOUVHt3HwWZqafMsiCno7XLpnH3TWdx0Tj3IVHqdKMBI4ZYNQxrlrd2R53MRCS405lSyj3tkoohVg2jvbtfC95KqdOSBowYhnfcC69h9AX3SFZKqdOJBowYfHGG1eqkPaXU6UgDRgzeKEVvY4y1tLl2SSmlTkMaMGKIlmH4AwMMDBkteiulTksaMGLwRtlAqb3LWhZEJ+0ppU5HkxIwRCRfRB4Wkd0isktEzhORQhF5TkT22p8LQh5/h4jUiEi1iFx9ItrojJIaCFlLqtVeFkS7pJRSp6PJyjB+BDxtjFkErAB2AV8FnjfGzAeet28jIkuAG4GlwFrgxyKS9GnWzooAgyEzvdt0pVql1GnshAcMEckFLgLuAzDG9Blj2oHrgF/YD/sFcL399XXA74wxAWPMAaAGWH0C2onPIyNqGM7S5jqsVil1OpqMDGMO0Az8j4hsFpGfi0gWUGaMaQCwP5faj68ADoc8v84+FkFEbhWRTSKyqbm5edwN9XpkRA2j1alhaJeUUuo0NBkBwwesBH5ijDkL6MLufooh2qJNJsoxjDH3GmNWGWNWlZSUjL+hUTIMj0BuknazUkqpqWwyAkYdUGeM2WDffhgrgDSKSDmA/bkp5PGVIc+fARw5EQ31eT0jMgxn0p5HlzxWSp2GTnjAMMYcBQ6LyEL70OXATuAx4Bb72C3An+yvHwNuFJE0EZkNzAc2noi2WhlGSNG7S9eRUkqdviZrtdrPAb8RkVRgP/BJrOD1kIh8GqgFPghgjNkhIg9hBZUB4DZjzOCJaKTXIyOG1bZ160q1SqnT16QEDGPMO8CqKHddHuPxdwF3JbNN0YTXMNq6+6nIP3229VRKqVA60zsOr3fkKKl2zTCUUqcxDRhx+DyeERlGa1efLguilDptacCIw5qHYRW9e/oGCQwMadFbKXXa0oARhy+k6O0sC1KoXVJKqdOUBow4Qmd6t3bpOlJKqdObBow4irLT2H3Uz8DgEO3duiyIUur0pgEjjo+eO5P69h6e2n50uEtKi95KqdOUBow4rlxcxpziLH768j5d2lwpddrTgBGHxyP8zUVz2F7fwRNbGwB0lJRS6rSlASOBvzqrguLsNDYeaCUnzUeKV39kSqnTk777JZCe4uWTF1QBupe3Uur0pgHDhY+dO4vMVK+OkFJKndYma7Xak0peZgrffv9yfLoPhlLqNKYBw6VrV0yf7CYopdSk0i4ppZRSrmjAUEop5YoGDKWUUq5owFBKKeWKBgyllFKuaMBQSinligYMpZRSrmjAUEop5YoYYya7DUkhIs3AoTE+vRhomcDmnAz0nE8Pp9s5n27nC+M/51nGmJJod5yyAWM8RGSTMWbVZLfjRNJzPj2cbud8up0vJPectUtKKaWUKxowlFJKuaIBI7p7J7sBk0DP+fRwup3z6Xa+kMRz1hqGUkopVzTDUEop5YoGDKWUUq5owAghImtFpFpEakTkq5PdnvEQkUoReVFEdonIDhH5P/bxQhF5TkT22p8LQp5zh33u1SJydcjxs0Vkm33f3SIyZbceFBGviGwWkSfs26f0+QKISL6IPCwiu+3f93mn8nmLyD/Yf9PbReRBEUk/1c5XRO4XkSYR2R5ybMLOUUTSROT39vENIlLlqmHGGP2w6jheYB8wB0gFtgBLJrtd4zifcmCl/XUOsAdYAnwH+Kp9/KvAf9hfL7HPOQ2Ybf8svPZ9G4HzAAGeAt492ecX57xvB34LPGHfPqXP127vL4C/tr9OBfJP1fMGKoADQIZ9+yHgE6fa+QIXASuB7SHHJuwcgb8D7rG/vhH4vat2TfYPZqp82D/UZ0Ju3wHcMdntmsDz+xNwJVANlNvHyoHqaOcLPGP/TMqB3SHHbwJ+OtnnE+McZwDPA5cxHDBO2fO125drv4FK2PFT8rztgHEYKMTaYvoJ4KpT8XyBqrCAMWHn6DzG/tqHNTNcErVJu6SGOX+Ijjr72EnPTjfPAjYAZcaYBgD7c6n9sFjnX2F/HX58KvpP4MvAUMixU/l8wcqIm4H/sbvifi4iWZyi522MqQe+B9QCDcBxY8yznKLnG2YizzH4HGPMAHAcKErUAA0Yw6L1X570Y45FJBv4A/AFY0xHvIdGOWbiHJ9SROS9QJMx5i23T4ly7KQ53xA+rK6LnxhjzgK6sLorYjmpz9vut78Oq+tlOpAlIh+L95Qox06a83VpLOc4pvPXgDGsDqgMuT0DODJJbZkQIpKCFSx+Y4x5xD7cKCLl9v3lQJN9PNb519lfhx+fai4ArhWRg8DvgMtE5NecuufrqAPqjDEb7NsPYwWQU/W8rwAOGGOajTH9wCPA+Zy65xtqIs8x+BwR8QF5QGuiBmjAGPYmMF9EZotIKlYh6LFJbtOY2aMh7gN2GWN+EHLXY8At9te3YNU2nOM32qMnZgPzgY126usXkTX2a94c8pwpwxhzhzFmhjGmCut394Ix5mOcoufrMMYcBQ6LyEL70OXATk7d864F1ohIpt3Oy4FdnLrnG2oizzH0tT6A9f+SOMOa7MLOVPoA3oM1mmgf8PXJbs84z+VCrBRzK/CO/fEerH7K54G99ufCkOd83T73akJGjACrgO32ff+Fi+LYJJ/7JQwXvU+H8z0T2GT/rv8IFJzK5w3cCey22/orrNFBp9T5Ag9i1Wj6sbKBT0/kOQLpwP8CNVgjqea4aZcuDaKUUsoV7ZJSSinligYMpZRSrmjAUEop5YoGDKWUUq5owFBKKeWKBgylXBARIyK/CrntE5FmGV4V9xP27c32aqLPiMj5o3j9M0XkPclou1ITRQOGUu50ActEJMO+fSVQH/aY3xtjzjLGzAe+DTwiIotdvv6ZWPNklJqyNGAo5d5TwDX21zdhTa6KyhjzItbeyreG3yciH7T3ctgiIi/bKwt8E/iwiLwjIh8WkSx7T4Q37azlOvu5nxCRP4nI0/beB/884WepVAwaMJRy73dYSzCkA8uxVv+N521gUZTj3wCuNsasAK41xvTZx35vjDnTGPN7rJm7LxhjzgEuBb5rr0ILsBr4KFZW8kERWTXO81LKFQ0YSrlkjNmKtUfBTcCTLp4Sawe314AHRORvsDbuiuYq4Ksi8g7wEtZSDjPt+54zxhwzxvRgLb53oZv2KzVevslugFInmcew9mO4hMT7B5yFtTDeCMaYz4jIuVjdW++IyJlRnivA+40x1SMOWs8LX89H1/dRJ4RmGEqNzv3AN40x2+I9SEQuxqpf/CzKfXONMRuMMd/A2umsEvBjbaXreAb4XMgezGeF3Helvb9zBnA9VsaiVNJphqHUKBhj6oAfxbj7wyJyIZCJtW3q+40xERkGVj1iPlYW8TzWfsy1DHdBfQv4V6wdBLfaQeMg8F77+a9irdI6D/itMWbT+M9MqcR0tVqlTiIi8glglTHm7ye7Ler0o11SSimlXNEMQymllCuaYSillHJFA4ZSSilXNGAopZRyRQOGUkopVzRgKKWUcuX/A3rxURltZUH5AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "temperatures = job['output/generic/temperature']\n", "steps = job['output/generic/steps']\n", "plt.plot(steps, temperatures)\n", "plt.xlabel('MD step')\n", "plt.ylabel('Temperature [K]');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the same way we can plot the trajectories." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pos = job['output/generic/positions']\n", "x, y, z = [pos[:, :, i] for i in range(3)]\n", "sel = np.abs(z) < 0.1\n", "fig, axs = plt.subplots(1,1)\n", "axs.scatter(x[sel], y[sel])\n", "axs.set_xlabel('x [$\\AA$]')\n", "axs.set_ylabel('y [$\\AA$]')\n", "axs.set_aspect('equal', 'box');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Perform a series of jobs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To run the MD simulation for various temperatures we can simply loop over the desired temperature values." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The job Al_T200K was saved and received the ID: 401\n", "The job Al_T400K was saved and received the ID: 402\n", "The job Al_T600K was saved and received the ID: 403\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2021-10-26 15:19:01,407 - pyiron_log - WARNING - The job Al_T800K is being loaded instead of running. To re-run use the argument 'delete_existing_job=True in create_job'\n", "2021-10-26 15:19:01,407 - pyiron_log - WARNING - The job Al_T800K is being loaded instead of running. To re-run use the argument 'delete_existing_job=True in create_job'\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "The job Al_T1000K was saved and received the ID: 404\n" ] } ], "source": [ "for temperature in np.arange(200, 1200, 200):\n", " job = pr.create_job(pr.job_type.Lammps, \n", " 'Al_T{}K'.format(int(temperature)))\n", " job.structure = supercell_3x3x3\n", " job.potential = pot \n", " job.calc_md(temperature=temperature, \n", " pressure=0, \n", " n_ionic_steps=10000)\n", " job.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To inspect the list of jobs in our current project we type (note that the existing job from the previous excercise at $T=800$ K has been recognized and not run again):" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'groups': [], 'nodes': ['Al_T800K', 'Al_T200K', 'Al_T400K', 'Al_T600K', 'Al_T1000K']}" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now iterate over the jobs and extract volume and mean temperature." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:00<00:00, 27.02it/s]\n" ] } ], "source": [ "vol_lst, temp_lst = [], []\n", "for job in pr.iter_jobs(convert_to_object=False):\n", " volumes = job['output/generic/volume']\n", " temperatures = job['output/generic/temperature']\n", " temp_lst.append(np.mean(temperatures[:-20]))\n", " vol_lst.append(np.mean(volumes[:-20]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can use the extracted information to plot the thermal expansion, calculated within the $NPT$ ensemble. For plotting the temperature values in ascending order the volume list is mapped to the sorted temperature list." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "vol_lst[:] = [vol_lst[np.argsort(temp_lst)[k]] \n", " for k in range(len(vol_lst))]\n", "plt.plot(sorted(temp_lst), vol_lst, \n", " linestyle='-',marker='o',)\n", "plt.title('Thermal expansion')\n", "plt.xlabel('Temperature [K]')\n", "plt.ylabel('Volume [$\\AA^3$]');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create a series of projects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We extend the previous example and compute the thermal expansion for three of the available aluminum potentials. First, let us create a new pyiron project named 'Al_potentials'. We can use the information of the previously run job 'Al_T200K' of the 'first_steps' project to find all the compatible potentials." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "pr = Project('Al_potentials')\n", "pot_lst = pr['../first_steps/Al_T200K'].list_potentials()[:3]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['1995--Angelo-J-E--Ni-Al-H--LAMMPS--ipr1',\n", " '1996--Farkas-D--Nb-Ti-Al--LAMMPS--ipr1',\n", " '1997--Liu-X-Y--Al-Mg--LAMMPS--ipr1']" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pot_lst" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note again that `list_potentials()` automatically only returns the potentials that are compatible with the structure (chemical species) and the job type." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now loop over the selected potentials and run the MD simulation for the desired temperature values for any of the potentials." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interatomic potential used: 1995--Angelo-J-E--Ni-Al-H--LAMMPS--ipr1\n", "The job Al_T200K was saved and received the ID: 405\n", "The job Al_T400K was saved and received the ID: 406\n", "The job Al_T600K was saved and received the ID: 407\n", "The job Al_T800K was saved and received the ID: 408\n", "The job Al_T1000K was saved and received the ID: 409\n", "Interatomic potential used: 1996--Farkas-D--Nb-Ti-Al--LAMMPS--ipr1\n", "The job Al_T200K was saved and received the ID: 410\n", "The job Al_T400K was saved and received the ID: 411\n", "The job Al_T600K was saved and received the ID: 412\n", "The job Al_T800K was saved and received the ID: 413\n", "The job Al_T1000K was saved and received the ID: 414\n", "Interatomic potential used: 1997--Liu-X-Y--Al-Mg--LAMMPS--ipr1\n", "The job Al_T200K was saved and received the ID: 415\n", "The job Al_T400K was saved and received the ID: 416\n", "The job Al_T600K was saved and received the ID: 417\n", "The job Al_T800K was saved and received the ID: 418\n", "The job Al_T1000K was saved and received the ID: 419\n" ] } ], "source": [ "for pot in pot_lst:\n", " print ('Interatomic potential used: ',pot)\n", " pr_pot = pr.create_group(pot)\n", " for temperature in np.arange(200, 1200, 200):\n", " job = pr_pot.create_job(pr.job_type.Lammps, \n", " 'Al_T{}K'.format(int(temperature)))\n", " job.structure = supercell_3x3x3\n", " job.potential = pot \n", " job.calc_md(temperature=temperature, \n", " pressure=0, \n", " n_ionic_steps=10000)\n", " job.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the `pr.create_group()` command a new subproject (directory) is created named here by the name of the potential. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For any particular potential the thermal expansion data can be obtained again by looping over the jobs performed using that potential. To obtain the thermal expansion curves for all the potentials used we can simply iterate over the subprojects (directories) created above by using the `pr.iter_groups()` command." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:00<00:00, 44.29it/s]\n", "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:00<00:00, 46.63it/s]\n", "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:00<00:00, 44.18it/s]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAEWCAYAAACnlKo3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABWU0lEQVR4nO2dd5gUVdaH3zM5JxiYgZkBI4KAhCEKCqIga0BMwOoqJtTFFdes6yqmVT8D6qqrrgFddUBRUBQlCWJAEQXJKArCyJAZJse+3x9V3XTPdM/0NJNgzvs8/XTVrXtvnaqurl/dc2+dK8YYFEVRFCUQgpraAEVRFOXwRUVEURRFCRgVEUVRFCVgVEQURVGUgFERURRFUQJGRURRFEUJGBWRGhCRySLyVlPb4Y3mbFtdEZG1IjKkAeptKyJLRCRfRJ5sgPo7iogRkRB7/VMRudxt+0MiskdEdtjro0Vkm4gUiEjP+rbnUBCRDNuu4Ka2pTGo+lsdCYjIiyLyTz/zLhaRq+tjvyH1UcnhiogUuK1GAaVApb1+beNb1DIxxpzYQFVPAPYAcaYRXogyxox0LotIOnAL0MEYs8tOfgK4wRjzYUPbUhURWQy8ZYx5xdt2Y8xWIMbPujoCm4FQY0xFfdlYZR+TgWONMZc2RP3uv1VjUN/nTETGA1cbYwY504wx1x1qvYHQolsixpgY5wfYCpzjlvZ2fe7L+bSqNCodgHWBCEg9/F4dgL1uAuJMWxtIZUfS9XMkHYsCGGP0Y91jtgCnV0mbDLwLvAnkY90AMt22twPeB3ZjPWXcWKXsDOAtIA+4GlgMPAR8AxQAs4FWwNt2nu+Bjm51PANss7f9AAyuUv9bNRzP2cBKINfeX3c7fQzwG9bTOcBIYAeQbK8b4EY7zx7gcSDI3nYM8Dmw1972NpBQ5RzeCqwCDgDTgQh7W2vgY9uefcCXbvW6zj0QDjwNbLc/TwPh9rYhQDbWE/4uIAe4wsfxTwXKgTL7XJ/uZ9132Ofjf17qDMZqTeyxz89E+3yF2NsX27/z6UAx4LD3nWV/G6AQ+DXA6yceeNU+7j+wrqVgO/944Cvbvv12fSPtbQ9jtbBLbDue83JsHb0cy4PA11jX/jygtb1tq523wP4MsNOvBNbb+5+L1Qpz1m/s8/ULsLmm6xs40/7dyu36f3I7Xx9hXT+bgGuqnK/37POVD6wGjgfuwrpWtgHD3fIvxnqSd65fY9ueD6wDevm4rmr6fwQB9wC/2/t8E4g/xHN2nX3O9gPPAwJ0tn/LSruuXLdr/iF7ORHr/7bbLvsxkObt+IFjgS+w/rN7gOl1unc29c27uXzwLSIlwJ+wbiCPAN+6XTA/APcCYcDR9oU1wq1sOXCenTfS/uE2Yd2M4+2L9Wesm06IfdG97rb/S7FEJgTrxrmDgzflyfgQEaCXfRH3s+2+3D4+5w3zbfuCa4V1Mz27yoW7CEgCMmz73C+2M7BuxsnAEuDpKudwGdafPcn+c1xnb3sEeBEItT+DAal67oEHgG+BNvY+vgEetLcNASrsPKH271IEJPo4D1Ox/1R1qPsx+/givdR3HbABSLePbxFeRMStvuwq5Q2WiwYCu35mAS8B0fYxLAOutfOPt/NfY//m19u/rVS1zce56ujlWH7FuhE7r91HveW1087DurY7Y12v9wDfVDn2+fZ5iwzk+sa60b0ARAA9sG6Qw6r8V0dw8L+0GfgH1rVyDbZ4efmtLsIS5T5YN+ljcbuZe/kNff0/rrTPwdFYrsEPsB9GDuGcfQwk2PvaDZzp9nt/5et6t8/rBVhu+lgsgZ3l4/iz7PMUZJ/bQXW6dzbVTbu5ffAtIgvc1rsAxfZyP2Brlfx3YYuAXXZJle2LgX+4rT8JfOq2fg6wsgYb9wMnudXvS0T+g31zdEvbCJxqLydgPRmtBl6qks84L1R7/a/AQh/7OQ9YUeUcXuq2/n/Ai/byA8CH2DdRX+ce68b1J7dtI4At9vIQrCd89z/iLqC/D/tcfyo/6y7Dvon5qO9zbFG014cTuIjU6foB2mL12UW6pY0DFtnL44FNbtui7P2lVLXNx7F19HIs91S5Dj7zltdO+xS4ym09CEvgO7gd+2m1/Ad9Xt9Ywl0JxLqlPQJMdcs/v8p/qYCDLbVY24YEL7/VXGBSTbb58/8AFgJ/ddvWCUvYQw7hnA1y2/4ucKfb7+1TRLzY3QPY77bufvxvAi/j1lKpy6dF94n4yQ635SIgwvbpdgDaiUiu8wPcjfVnd7LNS3073ZaLvay7OjdF5BYRWS8iB+z647HcQrXRAbilim3pWC0EjDG5WE8mXbGErCrudv/uLCcibURkmoj8ISJ5WK6DqvZUPV/O43kc66lrnoj8JiJ3+rC9nb3Pavu32Ws8Oybd91EbtdW92xhTUkv5qucmUOp6/XTAeqLOccv/ElaLxInr3BtjiuxFf8+NN3z9lt7oADzjZts+rKf69m55PP4Pdby+2wH7jDH5bmm/V6m/6n9pjzGm0m0dH8eQjvWA4S9e/x94v75C8PxN3fHnnNXlN3AhIlEi8pKI/G7/V5cACT5G391u73eZPVLySn/24URFJHC2YTWPE9w+scaYP7nlMYFWLiKDsfzzF2O5axKwfJbip20PV7EtyhiTZdfdA6vpnQU866V8uttyBpZbBKwnP4PVvxKH5Y7wxx6MMfnGmFuMMUdjPSXeLCLDvGTdjvXn8rb/Q6W2umv7vXKofm4Cpa7Xzzaslkhrt/xxxv+RbQFfi37WtQ3LteZ+PJHGmG+8lfPj+q66j+1AkojEuqVlYLmhDpVtWC5mf/H1//B2fVVgiVug58wXtf2et2C1hPrZ/9VT7PRq/1djzA5jzDXGmHZYo1JfEJFj/bABUBE5FJYBeSJyh4hEikiwiHQVkT71VH8s1gW4GwgRkXuBOD/L/he4TkT6iUW0iJwlIrEiEoHVgrgbuAJoLyJ/rVL+NhFJtIepTsLqIHfaVADkikh74DZ/D0ZEzhaRY0VEsDpSKzk4nNqdLOAeEUkWkdZYfQb19T7Modb9LnCjiKSJSCLgqzXlD3W6fowxOVid20+KSJyIBInIMSJyqp/724nlq68PdmMNGnCv70XgLhE5EUBE4kXkohrqqO363gl0FJEgAGPMNqw+rEdEJEJEugNXYfXvHSqvALeKSG/7/3KsiHSoIb+v/0cW8HcROUpEYoB/YXVSO4/zUM+ZOzuBNBEJ87E9Fqv1lSsiScB9vioSkYtEJM1e3Y8lUN7+m15REQkQu5l8DpavcTPWqIZXsJrk9cFcLJ/pz1jN4hK8u8e82bYcqyPxOayLYhOWDxWs1kS2MeY/xphSrNbEQyJynFsVH2J1+q4EPsEaEQRwP1an/QE7/YM6HM9xwAIsEVoKvGCMWewl30PAcqwRXquBH+20+uBQ6/4v1u/yk122LsfvQYDXz2VYnfDrsH7XGUCqn7t8BrhQRPaLiLfWp9/YrrKHga9tV0x/Y8xMrEEJ02z3yRqskX++qO36fs/+3isiP9rL47D6FrYDM4H7jDHzD+VY7ON5zz6ed7BGZ83C6jj3ha//x2vA/7BcR5uxjulv9j7q45y58znWaNEdIrLHy/ansQZE7MEaTPJZDXX1Ab4T6725j7D6hzb7aYdr5IaiACAiBjjOGLOpqW1RlOaG/j+qoy0RRVEUJWBURBRFUZSAUXeWoiiKEjDaElEURVECpsUFQmvdurXp2LFjU5uhKIpy2PDDDz/sMcYke9vW4kSkY8eOLF++vKnNUBRFOWwQEZ/RGdSdpSiKogSMioiiKIoSMCoiiqIoSsC0uD4Rb5SXl5OdnU1JSU0BXBVFaQ5ERESQlpZGaGhoU5uioCICQHZ2NrGxsXTs2BErPqCiKM0RYwx79+4lOzubo446qqnNUVARAaCkpEQFRFEOA0SEVq1asXv37qY2pVkxa8UfPD53I9tzi2mXEMltIzpxXs/2tResB1REbFRAFOXwQP+rnsxa8Qd3fbCa4nIrevsfucXc9cFqgEYREu1YVxRFOQxxOAy780t5eM56l4A4KS6v5PG5GxvFDhWRZsKVV15JmzZt6Nq1qyvtp59+YsCAAXTr1o1zzjmHvLw8AMrKyrjiiivo1q0bJ510EosXL3aVGTJkCJ06daJHjx706NGDXbt2+W3DSSedxLhx4+rtmKoyZMiQOr/oOX78eGbMmFEtffLkybRv3951nD169CA3N7fW+kSEW265xbX+xBNPMHnyZABefPFF3nzzTZ9lJ02aRPv27XE4HK60qVOncsMNN3jN37FjR/bsOTjVw+LFizn77LNrtXHLli0e10FVRo0axYABAzzSJk+ejIiwadPBCOVTpkxBRFznvGPHjgwePNijXI8ePVz7Wrx4MfHx8fTs2ZPOnTtz//33A1BUVMQll1xCt27d6Nq1K4MGDaKgoKDW47j66qtZt25drfncWbJkCb169SIkJMTr795SMMawt6CUNX8cYP66nby5dAuPfbaBm6at4OKXlnLK/y3ihH9+Rp+HF7A7v9RrHdtzi72m1zfqzgqAhvA/jh8/nhtuuIHLLrvMlXb11VfzxBNPcOqpp/Laa6/x+OOP8+CDD/Lf//4XgNWrV7Nr1y5GjhzJ999/T1CQ9Uzw9ttvk5mZWaf9r1+/HofDwZIlSygsLCQ6OvqQjqcx+Pvf/86tt95apzLh4eF88MEH3HXXXbRu7Tmd93XXXeeznMPhYObMmaSnp7NkyRKGDBkSiMmHTG5uLj/++CMxMTFs3rzZo3O5W7duTJs2jXvuuQeAGTNm0KVLF4/y+fn5bNu2jfT0dNavX1+t/sGDB/Pxxx9TWFhIjx49OPvss5k3bx5t27Zl9WrLRbJx40a/Rka98sordTq2iooKMjIymDp1Kk888USdyh5OGGPILSon50AJOQeK2X6ghB0HisnJLWH7gWJ2HCgh50AJpRUOj3IhQULbuAjaJUTQIz2B1K4RpMZH8Oznm9hXWFZtP+0SIhvleFRE6khD+R9POeUUtmzZ4pG2ceNGTjnFmhr5jDPOYMSIETz44IOsW7eOYcOs6cnbtGlDQkICy5cvp2/fvgHv/5133uEvf/kL69ev56OPPnK1SIYMGUK/fv1YtGgRubm5vPrqqwwePJiioiLGjx/Phg0b6Ny5M1u2bOH5558nMzOTefPmcd9991FaWsoxxxzD66+/TkxMjMf+srKy+Ne//oUxhrPOOovHHnssYNvrQkhICBMmTGDKlCk8/PDDHtsmT55MTEyMV2FatGgRXbt2ZcyYMWRlZTWZiLz//vucc845tG3blmnTpnHXXXe5tp133nl8+OGH3HPPPfz222/Ex8dXu9lffPHFTJ8+nVtvvZWsrCzGjRvH//73v2r7iY6Opnfv3vz666/k5OTQocPB2WI7derkl61DhgzhiSeeIDMzk5iYGK699loWLVpEYmIi06ZNIzk5mSFDhjBw4EC+/vprzj33XFcr0flAdLhhjCGvuIKcPE9R2J5rCYZTIKq6n4KDhJS4CFLiI+jaPp4zurQlNT6SdgkRpMRH0i4+gtYx4QQFVe8PSogK87gnAUSGBnPbCP9+p0NFRaQK989ey7rteT63r9iaS1ml5xNCcXklt89YRdayrV7LdGkXx33nnFhnW7p27cpHH33EqFGjeO+999i2zZo99KSTTuLDDz9k7NixbNu2jR9++IFt27a5ROSKK64gODiYCy64gHvuucevjsjp06czf/58Nm7cyHPPPefh1qqoqGDZsmXMmTOH+++/nwULFvDCCy+QmJjIqlWrWLNmDT169ABgz549PPTQQyxYsIDo6Ggee+wxnnrqKe69915Xfdu3b+eOO+7ghx9+IDExkeHDhzNr1izOO++8Op2fKVOm8NZb1hTpiYmJLFq0yK9yEydOpHv37tx+++1+78t5wx01ahR333035eXlfj2NDx06lODgYAAKCgo44YQT/N6nLzvuu+8+2rZty4UXXughInFxcaSn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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for p in pr.iter_groups():\n", " vol_lst, temp_lst = [], []\n", " for out in p.iter_jobs(path='output/generic'):\n", " volumes = out['volume']\n", " temperatures = out['temperature']\n", " temp_lst.append(np.mean(temperatures[:-20]))\n", " vol_lst.append(np.mean(volumes[:-20]))\n", " # Plot only if there is a job in that group\n", " if len(p.get_job_ids()) > 0:\n", " plt.plot(temp_lst, vol_lst, \n", " linestyle='-',marker='o',\n", " label=p.name) \n", "plt.legend(loc='best') \n", "plt.title('Thermal expansion for different interatomic potentials')\n", "plt.xlabel('Temperature [K]')\n", "plt.ylabel('Volume [$\\AA^3$]');" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "nav_menu": { "height": "122px", "width": "252px" }, "number_sections": true, "sideBar": true, "skip_h1_title": false, "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }